move sensor defines into specific class

This commit is contained in:
Nicu Hodos 2019-01-01 01:53:35 +01:00
parent e8666d1ebe
commit efc504be30
3 changed files with 9 additions and 14 deletions

View File

@ -3,6 +3,10 @@
#include <TinySensor.h>
#include <RCSwitch.h>
#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));
}
};

View File

@ -3,6 +3,10 @@
#include <TinySensor.h>
#include <RCSwitch.h>
#define ID(value) (value & 0x1F)
#define VCC(value) ((value & 0x1FFF) << 6)
#define TEMP(value) (((unsigned long)value & 0x1FF) << 19)
class TempSensor: public TinySensor {
public:

View File

@ -2,16 +2,7 @@
#include <RCSwitch.h>
#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 {