blob: 7f961d11e36e57763ced4bff5eec4013b8e75cf9 [file] [log] [blame]
module My_can_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 CAN_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 CAN_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 CAN_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 CAN_MESSAGE_TESTFRAME3
{
OCT1 test_sig_1_byte_octetstring_msb_coded,
OCT2 test_sig_2_byte_octetstring_msb_coded
} with {variant "" }
type integer INT_BIT9_PADDED_2_MSB (0..511) with
{ variant "ALIGN(right)";
variant "FIELDLENGTH(11)"
variant "BITORDER(msb)"
};
type record CAN_MESSAGE_TESTFRAME4
{
INT_BIT9_PADDED_2_MSB test_unsig_9_bit_2_padded_integer_msb_coded,
INT_BIT5_MSB test_sig_5_bit_integer_msb_coded
} with {variant "FIELDORDER(msb)"
variant (test_unsig_9_bit_2_padded_integer_msb_coded) "BITORDERINFIELD(msb)"
variant (test_sig_5_bit_integer_msb_coded) "BITORDERINFIELD(msb)"
}
type record CAN_MESSAGE_TESTFRAME5
{
INT_BIT9_PADDED_2_MSB test_unsig_9_bit_2_padded_integer_msb_coded,
INT_BIT5_MSB test_sig_5_bit_integer_msb_coded
} with {variant "FIELDORDER(msb)"
variant (test_unsig_9_bit_2_padded_integer_msb_coded) "BITORDERINFIELD(lsb)"
variant (test_sig_5_bit_integer_msb_coded) "BITORDERINFIELD(lsb)"
}
type record CAN_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 CAN_MatrixPayloadUnion
{
CAN_MESSAGE_TESTFRAME0 message_MyTestframe0,
CAN_MESSAGE_TESTFRAME1 message_MyTestframe1,
CAN_MESSAGE_TESTFRAME2 message_MyTestframe2,
CAN_MESSAGE_TESTFRAME3 message_MyTestframe3,
CAN_MESSAGE_TESTFRAME4 message_MyTestframe4,
CAN_MESSAGE_TESTFRAME5 message_MyTestframe5,
CAN_MESSAGE_EXTENDEDFRAME1 message_extendedFrame1
}
with {variant "" }
type record CAN_MatrixUnion {
CAN_id can_id,
CAN_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_MyTestframe4, can_id = '00000126'O;
message_MyTestframe5, can_id = '00000127'O;
message_extendedFrame1, can_id = '80000001'O;
)"
}
//The above section is used for the automatic message encding / decoding
} with { encode "RAW" }