simplified message handling, switch from XOR checksum to CRC8 with polynomial 0x97.
0x97 allows for detection of all 1-3 bit errors in a message of up to 119 bytes (see https://www.faa.gov/aircraft/air_cert/design_approvals/air_software/media/TC-14-49.pdf)
This commit is contained in:
@@ -18,15 +18,6 @@
|
||||
|
||||
|
||||
|
||||
#define AQH_MSG_OFFS_DEVICE_UID 0 /* 4 bytes */
|
||||
#define AQH_MSG_OFFS_DEVICE_FWTYPE 4 /* 2 bytes */
|
||||
#define AQH_MSG_OFFS_DEVICE_FWLOW 6 /* 1 byte */
|
||||
#define AQH_MSG_OFFS_DEVICE_FWHIGH 7 /* 1 byte */
|
||||
#define AQH_MSG_OFFS_DEVICE_MODULESLOW 8 /* 1 byte */
|
||||
#define AQH_MSG_OFFS_DEVICE_MODULESHIGH 9 /* 1 byte */
|
||||
|
||||
#define AQH_MSG_DEVICE_MINSIZE (AQH_MSG_OFFS_ALL_DATA_BEGIN+AQH_MSG_OFFS_DEVICE_MODULESHIGH+1)
|
||||
|
||||
#define AQH_MSG_DEVICE_MASK_TIMER 0x02
|
||||
#define AQH_MSG_DEVICE_MASK_COM 0x04
|
||||
#define AQH_MSG_DEVICE_MASK_LED 0x08
|
||||
@@ -40,8 +31,7 @@ AQHOME_API uint32_t AQH_DeviceMsg_GetUid(const GWEN_MSG *msg);
|
||||
AQHOME_API uint16_t AQH_DeviceMsg_GetFirmwareType(const GWEN_MSG *msg);
|
||||
AQHOME_API uint8_t AQH_DeviceMsg_GetFirmwareLow(const GWEN_MSG *msg);
|
||||
AQHOME_API uint8_t AQH_DeviceMsg_GetFirmwareHigh(const GWEN_MSG *msg);
|
||||
AQHOME_API uint8_t AQH_DeviceMsg_GetModuleMaskLow(const GWEN_MSG *msg);
|
||||
AQHOME_API uint8_t AQH_DeviceMsg_GetModuleMaskHigh(const GWEN_MSG *msg);
|
||||
AQHOME_API uint16_t AQH_DeviceMsg_GetModuleMask(const GWEN_MSG *msg);
|
||||
|
||||
|
||||
AQHOME_API void AQH_DeviceMsg_DumpToBuffer(const GWEN_MSG *msg, GWEN_BUFFER *dbuf, const char *sText);
|
||||
|
||||
Reference in New Issue
Block a user