/**************************************************************************** * This file is part of the project AqHome. * AqHome (c) by 2023 Martin Preuss, all rights reserved. * * The license for this file can be found in the file COPYING which you * should have received along with this file. ****************************************************************************/ #ifndef AQH_MSG_DEVICE_H #define AQH_MSG_DEVICE_H #include #include #include #include #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 #define AQH_MSG_DEVICE_MASK_TWIMASTER 0x10 #define AQH_MSG_DEVICE_MASK_LCD 0x20 #define AQH_MSG_DEVICE_MASK_SI7021 0x40 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 void AQH_DeviceMsg_DumpToBuffer(const GWEN_MSG *msg, GWEN_BUFFER *dbuf, const char *sText); #endif