fix value construction in tiny

This commit is contained in:
Nicu Hodos 2022-10-27 20:41:09 +02:00
parent f9a34ff31a
commit 7a10b9e770

View File

@ -2,27 +2,27 @@
#define ID(value) (value & 0x1F) #define ID(value) (value & 0x1F)
#define VCC(value) ((value & 0x1FFF) << 5) #define VCC(value) ((value & 0x1FFF) << 5)
#define TEMP(value) (((unsigned long)value & 0x2FF) << 18) #define TEMP(value) (((unsigned long)value & 0x3FF) << 18)
#define HUMIDITY(value) (((unsigned long)value & 0x2FF) << 18) #define HUMIDITY(value) (((unsigned long)value & 0x3FF) << 18)
#define VALUE(value) (((unsigned long)value & 0x2FF) << 18) #define VALUE(value) (((unsigned long)value & 0x3FF) << 18)
#define STATE(value) ((value & 0x1) << 27) #define STATE(value) ((value & 0x1) << 27)
#define TYPE(value) (((unsigned long)value & 0xF) << 28) #define TYPE(value) (((unsigned long)value & 0xF) << 28)
#define GET_TYPE(value) (((unsigned long)value >> 28) & 0xF) #define GET_TYPE(value) (((unsigned long)value >> 28) & 0xF)
#define GET_STATE(value) ((value >> 27) & 0x1) #define GET_STATE(value) ((value >> 27) & 0x1)
#define GET_TEMP(value) (((unsigned long)value >> 18) & 0x2FF) #define GET_TEMP(value) (((unsigned long)value >> 18) & 0x3FF)
#define GET_HUMIDITY(value) (((unsigned long)value >> 18) & 0x2FF) #define GET_HUMIDITY(value) (((unsigned long)value >> 18) & 0x3FF)
#define GET_VALUE(value) (((unsigned long)value >> 18) & 0x2FF) #define GET_VALUE(value) (((unsigned long)value >> 18) & 0x3FF)
#define GET_VCC(value) (((unsigned long)value >> 5) & 0x1FFF) #define GET_VCC(value) (((unsigned long)value >> 5) & 0x1FFF)
enum SensorType { enum SensorType : unsigned short {
GENERIC = 4, GENERIC = 4,
HUMIDITY = 5, HUMIDITY = 5,
TEMPERATURE = 6, TEMPERATURE = 6,
CONTACT = 7 CONTACT = 7
}; };
enum SensorId : int { enum SensorId : unsigned short {
WINDOW1 = 1, WINDOW1 = 1,
WINDOW2 = 2, WINDOW2 = 2,
WATER_SENSOR = 3, WATER_SENSOR = 3,