From 5691267905c0810f3d5db6d9f4d58aef1c2345b2 Mon Sep 17 00:00:00 2001 From: Ronald Schaten Date: Mon, 18 Apr 2016 11:34:44 +0200 Subject: [PATCH] added new device type IrRx (infrared receiver) --- things/DeviceIrRx.h | 36 ++++++++++++++++++++++++++++++++++++ things/things.ino | 8 +++++++- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 things/DeviceIrRx.h diff --git a/things/DeviceIrRx.h b/things/DeviceIrRx.h new file mode 100644 index 0000000..93830c7 --- /dev/null +++ b/things/DeviceIrRx.h @@ -0,0 +1,36 @@ +#ifndef DEVICEIRRX_H +#define DEVICEIRRX_H + +#include "Device.h" +#include + +class DeviceIrRx : public Device { + public: + inline DeviceIrRx(byte irrxPin, byte powerPin) { + pin_irrx = irrxPin; + pin_power = powerPin; + } + virtual void deviceSetup(); + virtual void deviceRegister(); + virtual void deviceLoop(); + private: + byte pin_irrx; + byte pin_power; + HomieNode irRxNode = HomieNode("irrx", "irrx"); +}; + +void DeviceIrRx::deviceSetup() { + pinMode(pin_irrx, INPUT); + pinMode(pin_power, OUTPUT); + digitalWrite(pin_power, HIGH); +} + +void DeviceIrRx::deviceRegister() { + Homie.registerNode(irRxNode); +} + +void DeviceIrRx::deviceLoop() { + // TODO receive IR +} + +#endif diff --git a/things/things.ino b/things/things.ino index 7af355a..5742b7a 100644 --- a/things/things.ino +++ b/things/things.ino @@ -3,6 +3,7 @@ #include "DeviceLed.h" #include "DeviceLdr.h" #include "DeviceDht.h" +#include "DeviceIrRx.h" // HAS_LED #define PIN_LED_RED D8 @@ -19,7 +20,12 @@ DeviceLdr deviceLdr(PIN_LDR); #define TYPE_DHT DHT22 DeviceDht deviceDht(PIN_DHT, TYPE_DHT); -Device* devices[] = { &deviceLed, &deviceLdr }; +// HAS_IRRX +#define PIN_IRRX D1 +#define PIN_POWER D2 +DeviceIrRx deviceIrRx(PIN_IRRX, PIN_POWER); + +Device* devices[] = { &deviceLed, &deviceLdr, &deviceIrRx }; void setupHandler() { for (int i = 0; i < sizeof(devices) / sizeof(*devices); i++) {