Add support for various header values
This commit is contained in:
@@ -19,11 +19,11 @@ private:
|
||||
|
||||
void setPacketSize(uint8_t *buffer, uint8_t);
|
||||
void setConstants(uint8_t *buffer);
|
||||
void setSourceAddress(uint8_t *buffer, uint16_t);
|
||||
void setDestinationAddress(uint8_t *buffer, uint16_t);
|
||||
void setSourceAddress(uint8_t *buffer, uint8_t offset, uint16_t source);
|
||||
void setDestinationAddress(uint8_t *buffer, uint8_t offset, uint16_t destination);
|
||||
void setRollingCodes(uint8_t *buffer, uint8_t rollingCode1, uint8_t rollingCode2);
|
||||
void setProtocolVersion(uint8_t *buffer, uint8_t);
|
||||
void setFieldsData(uint8_t *buffer, const FieldsParameters& parameters);
|
||||
void setFieldsData(uint8_t *buffer, uint8_t offset, const FieldsParameters& parameters);
|
||||
void calculateCRC(uint8_t *buffer);
|
||||
void incrementRollingCodes();
|
||||
uint8_t calculateTotalFieldSize(const FieldsParameters& parameters);
|
||||
|
||||
@@ -34,11 +34,25 @@ struct FieldsParameters {
|
||||
|
||||
using PacketParameters = std::variant<std::monostate, FieldsParameters>;
|
||||
|
||||
struct BroadcastHeader {
|
||||
uint16_t source;
|
||||
};
|
||||
|
||||
// Define Message structure
|
||||
struct Packet {
|
||||
struct UnicastHeader {
|
||||
uint16_t source;
|
||||
uint16_t destination;
|
||||
};
|
||||
|
||||
struct GroupsHeader {
|
||||
uint16_t source;
|
||||
std::vector<uint8_t> groups;
|
||||
};
|
||||
|
||||
using PacketHeader = std::variant<BroadcastHeader, UnicastHeader, GroupsHeader>;
|
||||
|
||||
// Define Packet structure
|
||||
struct Packet {
|
||||
PacketHeader header;
|
||||
PacketType type;
|
||||
PacketParameters parameters;
|
||||
uint8_t rollingCode1;
|
||||
|
||||
Reference in New Issue
Block a user