10 #define HAL_LOG_CHANNEL SCOM
11 #define HAL_LOG_SUBCHANNEL FRAME
21 HAL_ASSERT_AND_EXECUTE(ackFrame != NULL) {
22 HAL_ASSERT_AND_EXECUTE(frame != NULL) {
28 .frame_crc = frame->
crc
40 HAL_ASSERT_AND_EXECUTE(ackFrame != NULL) {
41 HAL_ASSERT_AND_EXECUTE(frame != NULL) {
55 HAL_ASSERT_AND_EXECUTE(ackFrame != NULL) {
57 for(uint_fast8_t i = 0; i < (
sizeof(
SCOMAckFrame) -
sizeof(ackFrame->
sync) -
sizeof(ackFrame->
crc)); ++i) {
uint16_t SCOMAckFrame_CalculateCRC(const SCOMAckFrame *const ackFrame)
uint8_t sync
synchronization field: always 0xFF
struct HAL_PACKED SCOMAckFrame
Definition of an SCOM acknowledgment frame.
#define SCOM_FRAME_CTRL_FRAME_NUMBER_MASK
bool SCOMAckFrame_Initialize(SCOMAckFrame *const ackFrame, const SCOMFrame *const frame)
#define CRC16_UpdateCRC_Byte
Definition of CRC16 byte update function.
Definition of SCOM CRC functions.
uint8_t type
frame type field
uint8_t soack
start of ACK frame field
bool SCOMAckFrame_IsValidAck(const SCOMAckFrame *const ackFrame, const SCOMFrame *const frame)
uint8_t ctrl
frame control field
#define CRC16_InitCRC
Definition of CRC16 initialization function.
uint16_t frame_crc
frame crc field