Skip to content

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

See 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

See 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

See 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

See 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

See 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_speed The initial speed of the projectile.
  • initial_turret_height The height of the turret from the ground.
  • initial_max_speed The maximum rotational speed of the motors.
  • initial_acceleration The 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