-
Notifications
You must be signed in to change notification settings - Fork 58
Closed
Description
I would like to define a set of messages with a header and CRC field but multiple payload definitions.
Would it be possible in the current code base?
Something like with a msg::combine
function similar to msg::extend
:
using header_def = msg::message<"header", payload_type_f, ... >;
using payload1_def = msg::message<"payload1", ...>;
using payload2_def = msg::message<"payload2", ...>;
using crc_f = msg::field<"crc", std::uint16_t>::located<at{14_msb, 0_lsb}}>;
using packet1_def = msg::combine<
"packet1",
header_def,
payload_type_f::with_required<1>,
payload1_def,
crc_f
>;
using packet2_def = msg::combine<
"packet2",
header_def,
payload_type_f::with_required<2>,
payload2_def,
crc_f
>;
The packet layout should be
| header | payload bit addresses + bit size of header | crc 15 bit + bit size of header and payload|
Metadata
Metadata
Assignees
Labels
No labels