diff --git a/libraries/Tiny/ContactSensor.h b/libraries/Tiny/ContactSensor.h index e16e350..11c206b 100644 --- a/libraries/Tiny/ContactSensor.h +++ b/libraries/Tiny/ContactSensor.h @@ -3,6 +3,10 @@ #include #include +#define ID(value) (value & 0x1F) +#define STATE(value) ((value & 0x1) << 5) +#define VCC(value) ((value & 0x1FFF) << 6) + class ContactSensor: public TinySensor { public: @@ -11,10 +15,6 @@ public: } void sendStateAndVoltage(bool state) { - unsigned long value = 0x70000000; - value |= readVcc() << 6; - value |= !state << 5; - value |= id; - sendInfo(value); + sendInfo(ID(id) | VCC(readVcc()) | STATE(!state) | TYPE(7)); } }; diff --git a/libraries/Tiny/TempSensor.h b/libraries/Tiny/TempSensor.h index 45a4dbe..b50c022 100644 --- a/libraries/Tiny/TempSensor.h +++ b/libraries/Tiny/TempSensor.h @@ -3,6 +3,10 @@ #include #include +#define ID(value) (value & 0x1F) +#define VCC(value) ((value & 0x1FFF) << 6) +#define TEMP(value) (((unsigned long)value & 0x1FF) << 19) + class TempSensor: public TinySensor { public: diff --git a/libraries/Tiny/TinySensor.h b/libraries/Tiny/TinySensor.h index 048d7e0..0961f66 100644 --- a/libraries/Tiny/TinySensor.h +++ b/libraries/Tiny/TinySensor.h @@ -2,16 +2,7 @@ #include -#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 ID(value, id) ((value & 0xFFFFFFE0) | id) -//#define STATE(value, state) ((value & 0xFFFFFFDF) | state) -//#define VCC(value, vcc) ((value & 0xFFF0003F) | vcc) -//#define TEMP(value, temp) ((value & 0xF00FFFFF) | temp) -//#define TYPE(value, type) ((value & 0x0FFFFFFF) | type) class TinySensor {