Class cerializer::Config
ClassList > cerializer > Config
A message for setting runtime configuration parameters. More...
#include <serializer.hpp>
Inherits the following classes: cerializer::Message
Public Types inherited from cerializer::Message
| Type | Name |
|---|---|
| typedef std::array< char,(sizeof(FieldTypes)+...)+2 *sizeof(uint16_t)+sizeof(uint8_t)> | BinaryMessage A type alias for the array holding the full binary message, including headers and footers. |
| typedef std::array< char, 4+(std::get< 0 >(formatSize< FieldTypes >())+...)> | MessageFormat A type alias for the array holding the message's format string. |
Public Attributes
| Type | Name |
|---|---|
| const uint16_t | acceleration The acceleration of the motors. |
| const uint16_t | max_speed The maximum rotational speed of the motors. |
| const float | projectile_speed The initial speed of the projectile. |
| const float | turret_height The height of the turret from the ground. |
Public Static Attributes inherited from cerializer::Message
| Type | Name |
|---|---|
| const bool | registered = /* multi line expression */A static flag that triggers registration with the MessageMaker factory upon program start. |
Public Functions
| Type | Name |
|---|---|
| constexpr | Config (float initial_projectile_speed, float initial_turret_height, uint16_t initial_max_speed, uint16_t initial_acceleration) noexcept Constructs a new Config message. |
| constexpr std::array< char, Size()> | encode () const Encodes the message fields into a character array. |
Public Functions inherited from cerializer::Message
| Type | Name |
|---|---|
| virtual constexpr uint8_t | Code () override Gets the unique code for this message type. |
| constexpr BinaryMessage | ToBinary () const Generates the binary representation of the message. This method serializes the message fields, adds the magic head/foot and type code. |
Public Functions inherited from cerializer::BasePacket
| Type | Name |
|---|---|
| virtual constexpr uint8_t | Code () = 0 Gets the unique 8-bit code that identifies the message type. |
| virtual | ~BasePacket () = default |
Public Static Functions inherited from cerializer::Message
| Type | Name |
|---|---|
| constexpr MessageFormat | Format () Generates the format string for the message. |
| constexpr Derived | LoadBinary (BinaryMessage & binaryData) Deserializes a message from a character array. |
| constexpr Derived | LoadBinary (const std::span< char > & binaryData) Deserializes a message from a span of characters. |
| constexpr unsigned int | Size () Gets the total size of the message payload in bytes. |
| constexpr uint8_t | Type () Gets the unique code for this message type (static version). |
Detailed Description
This message is used to send updated configuration values to the firmware, allowing for on-the-fly tuning of the system's behavior. The float values are intended to be converted to fixed-point format on the device.
Public Attributes Documentation
variable acceleration
The acceleration of the motors.
const uint16_t cerializer::Config::acceleration;
variable max_speed
The maximum rotational speed of the motors.
const uint16_t cerializer::Config::max_speed;
variable projectile_speed
The initial speed of the projectile.
const float cerializer::Config::projectile_speed;
variable turret_height
The height of the turret from the ground.
const float cerializer::Config::turret_height;
Public Functions Documentation
function Config
Constructs a new Config message.
inline constexpr cerializer::Config::Config (
float initial_projectile_speed,
float initial_turret_height,
uint16_t initial_max_speed,
uint16_t initial_acceleration
) noexcept
Parameters:
initial_projectile_speedThe initial speed of the projectile.initial_turret_heightThe height of the turret from the ground.initial_max_speedThe maximum rotational speed of the motors.initial_accelerationThe acceleration of the motors.
function encode
Encodes the message fields into a character array.
inline constexpr std::array< char, Size ()> cerializer::Config::encode () const
Returns:
A std::array<char, Size()> containing the serialized payload.
The documentation for this class was generated from the following file serializer.hpp