Start of example conversion. Added sleep to MySensors API.

This commit is contained in:
Henrik Ekblad
2014-06-13 13:54:12 +02:00
parent d1ca16fe1b
commit af90d238d4
25 changed files with 2377 additions and 224 deletions
@@ -1,17 +1,15 @@
#include <Sleep_n0m1.h>
#include <SPI.h>
#include <RF24.h>
#include <EEPROM.h>
#include <Sensor.h>
#include <MySensor.h>
#define CHILD_ID_LIGHT 0
#define LIGHT_SENSOR_ANALOG_PIN 0
unsigned long SLEEP_TIME = 30; // Sleep time between reads (in seconds)
Sensor gw;
MySensor gw;
MyMessage msg(CHILD_ID_LIGHT, V_LIGHT_LEVEL);
int lastLightLevel;
Sleep sleep;
void setup()
{
@@ -21,7 +19,7 @@ void setup()
gw.sendSketchInfo("Light Sensor", "1.0");
// Register all sensors to gateway (they will be created as child devices)
gw.sendSensorPresentation(CHILD_ID_LIGHT, S_LIGHT_LEVEL);
gw.present(CHILD_ID_LIGHT, S_LIGHT_LEVEL);
}
void loop()
@@ -29,16 +27,12 @@ void loop()
int lightLevel = (1023-analogRead(LIGHT_SENSOR_ANALOG_PIN))/10.23;
Serial.println(lightLevel);
if (lightLevel != lastLightLevel) {
gw.sendVariable(CHILD_ID_LIGHT, V_LIGHT_LEVEL, lightLevel);
gw.send(msg.set(lightLevel));
lastLightLevel = lightLevel;
}
// Power down the radio. Note that the radio will get powered back up
// on the next write() call.
delay(1000); //delay to allow serial to fully print before sleep
gw.powerDown();
sleep.pwrDownMode(); //set sleep mode
sleep.sleepDelay(SLEEP_TIME * 1000); //sleep for: sleepTime
delay(300); //delay to allow serial to fully print before sleep
gw.sleep(SLEEP_TIME * 1000);
}