27 lines
658 B
C

#pragma once
#define ID(value) (value & 0x1F)
#define STATE(value) ((value & 0x1) << 5)
#define VCC(value) ((value & 0x1FFF) << 6)
#define TEMP(value) (((unsigned long)value & 0x1FF) << 19)
#define TYPE(value) (((unsigned long)value & 0xF) << 28)
#define GET_TYPE(value) (((unsigned long)value >> 28) & 0xF)
#define GET_TEMP(value) (((unsigned long)value >> 19) & 0x1FF)
#define GET_VCC(value) ((value >> 6) & 0x1FFF)
#define GET_STATE(value) ((value >> 5) & 0x1)
typedef enum SensorType {
TEMPERATURE = 6,
CONTACT = 7
};
enum SensorId : int {
WINDOW1 = 1,
WINDOW2 = 2,
WATER_SENSOR = 3,
TEMP_SENSOR = 4,
LIGHT_SENSOR = 5,
MOVEMENT_SENSOR = 6
};