blob: d55aab42eb6df91e48c2224f9572003f9aee8d78 [file] [log] [blame]
module My_canfd_matrix {
import from General_Types all // for OCT1, OCT2, ..., INT1, ..
import from Can all // for CAN_id
import from CAN_matrix_general_types all
//The following section is used for the automatic message encding / decoding
type record CANFD_MESSAGE_TESTFRAME0
{
BIT11_MSB test_sig_11_bit_bitstring_lsb_coded,
BIT5_MSB test_sig_5_bit_bitstring_lsb_coded
} with {variant "FIELDORDER(msb)"
variant (test_sig_11_bit_bitstring_lsb_coded) "BITORDERINFIELD(lsb)"
variant (test_sig_5_bit_bitstring_lsb_coded) "BITORDERINFIELD(lsb)"
}
type record CANFD_MESSAGE_TESTFRAME1
{
BIT11_MSB test_sig_11_bit_bitstring_msb_coded,
BIT5_MSB test_sig_5_bit_bitstring_msb_coded
} with {variant "FIELDORDER(msb)"
variant (test_sig_11_bit_bitstring_msb_coded) "BITORDERINFIELD(msb)"
variant (test_sig_5_bit_bitstring_msb_coded) "BITORDERINFIELD(msb)"
}
type record CANFD_MESSAGE_TESTFRAME2
{
INT_BIT11_MSB test_sig_11_bit_integer_msb_coded,
INT_BIT5_MSB test_sig_5_bit_integer_msb_coded
} with {variant "FIELDORDER(msb)"
variant (test_sig_11_bit_integer_msb_coded) "BITORDERINFIELD(msb)"
variant (test_sig_5_bit_integer_msb_coded) "BITORDERINFIELD(msb)"
}
type record CANFD_MESSAGE_TESTFRAME3
{
OCT1 test_sig_1_byte_octetstring_msb_coded,
OCT2 test_sig_2_byte_octetstring_msb_coded
} with {variant "" }
type record CANFD_MESSAGE_EXTENDEDFRAME1
{
// CAN_id can_id ('80000001'O),
// according to SocketCAN Extended frames have the bit 31 set,
OCT2 test_sig_2_byte_octetstring_msb_coded
} with {variant ""}
type union CANFD_MatrixPayloadUnion
{
CANFD_MESSAGE_TESTFRAME0 message_MyTestframe0,
CANFD_MESSAGE_TESTFRAME1 message_MyTestframe1,
CANFD_MESSAGE_TESTFRAME2 message_MyTestframe2,
CANFD_MESSAGE_TESTFRAME3 message_MyTestframe3,
CANFD_MESSAGE_EXTENDEDFRAME1 message_extendedFrame1
}
with {variant "" }
type record CANFD_MatrixUnion {
CAN_id can_id,
CAN_flags can_flags, // only used with CAN FD
CANFD_MatrixPayloadUnion can_pdu
} with {variant (can_pdu) "CROSSTAG(
message_MyTestframe0, can_id = '00000122'O;
message_MyTestframe1, can_id = '00000123'O;
message_MyTestframe2, can_id = '00000124'O;
message_MyTestframe3, can_id = '00000125'O;
message_extendedFrame1, can_id = '80000001'O;
)"
}
//The above section is used for the automatic message encding / decoding
} with { encode "RAW" }