From 795893ea2e74d72685b7ebec27489af42fa8b587 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Fri, 8 Jul 2016 22:14:23 +0200 Subject: [PATCH] Udated configuration and light sensor --- arduino/HalMultiSensor/HalConfiguration.h | 17 +++++++++-------- arduino/HalMultiSensor/HalMultiSensor.ino | 2 +- arduino/HalMultiSensor/Interrupt.cpp | 3 +-- arduino/HalMultiSensor/Interrupt.h | 3 ++- arduino/HalMultiSensor/ProtocolOregon.cpp | 7 +++++++ arduino/HalMultiSensor/ProtocolOregon.h | 3 ++- arduino/HalMultiSensor/SensorBH1750.cpp | 5 ----- arduino/HalMultiSensor/SensorBH1750.h | 3 +-- 8 files changed, 23 insertions(+), 20 deletions(-) diff --git a/arduino/HalMultiSensor/HalConfiguration.h b/arduino/HalMultiSensor/HalConfiguration.h index 72ef3529..374981c5 100755 --- a/arduino/HalMultiSensor/HalConfiguration.h +++ b/arduino/HalMultiSensor/HalConfiguration.h @@ -3,26 +3,27 @@ //#define ENABLE_DEBUG // comment out to disable debug -#define TIMER_MILLISECOND 60*1000 // poling in minutes -#define INDICATOR_PIN 13 // diode +#define TIMER_MILLISECOND 60000 // poling in minutes +#define INDICATOR_PIN 13 // diode +#define DEVICE_BASE_ID 20 // POWER CONSUMPTION SENSOR //#define POWERCON_ENABLED // comment out to disable sensor #define POWERCON_SENSOR SensorPhotocell() -#define POWERCON_PROTOCOL ProtocolOregon(11, 186) +#define POWERCON_PROTOCOL ProtocolOregon(11, DEVICE_BASE_ID + 1) #define POWER_TIMER_MULTIPLIER 1 // TEMPERATURE SENSOR #define TEMPERATURE_ENABLED // comment out to disable sensor -#define TEMPERATURE_SENSOR SensorDHT(DHT22, 10) -#define TEMPERATURE_PROTOCOL ProtocolOregon(11, 100) +#define TEMPERATURE_SENSOR SensorDHT(DHT11, 10) +#define TEMPERATURE_PROTOCOL ProtocolOregon(11, DEVICE_BASE_ID + 2) #define TEMPERATURE_TIMER_MULTIPLIER 10 // LIGHT SENSOR -//#define LIGHT_ENABLED // comment out to disable sensor -#define LIGHT_SENSOR SensorDH1750() -#define LIGHT_PROTOCOL ? +#define LIGHT_ENABLED // comment out to disable sensor +#define LIGHT_SENSOR SensorBH1750() +#define LIGHT_PROTOCOL ProtocolOregon(11, DEVICE_BASE_ID + 3) #define LIGHT_TIMER_MULTIPLIER 10 diff --git a/arduino/HalMultiSensor/HalMultiSensor.ino b/arduino/HalMultiSensor/HalMultiSensor.ino index 374d3655..c7bc6714 100755 --- a/arduino/HalMultiSensor/HalMultiSensor.ino +++ b/arduino/HalMultiSensor/HalMultiSensor.ino @@ -109,7 +109,7 @@ void loop() { static LightData lightData; lightSensor->read(lightData); - DEBUG("Read LIGHT_SENSOR= lumen:%d", lightData.lumen); + DEBUGF("Read LIGHT_SENSOR= lumen:%d", lightData.lumen); lightProtocol->send(lightData); } #endif diff --git a/arduino/HalMultiSensor/Interrupt.cpp b/arduino/HalMultiSensor/Interrupt.cpp index 3351215f..41722803 100755 --- a/arduino/HalMultiSensor/Interrupt.cpp +++ b/arduino/HalMultiSensor/Interrupt.cpp @@ -1,5 +1,4 @@ #include "Interrupt.h" -#include #include #include #include @@ -107,7 +106,7 @@ ISR(WDT_vect) Interrupt::handleWatchDogInterrupt(); } -void Interrupt::setupWatchDogInterrupt(uint16_t milliseconds) +void Interrupt::setupWatchDogInterrupt(int32_t milliseconds) { wdtTimeLeft = wdtTime = milliseconds; setupWatchDogInterrupt(); diff --git a/arduino/HalMultiSensor/Interrupt.h b/arduino/HalMultiSensor/Interrupt.h index 34094ee5..e9771a94 100755 --- a/arduino/HalMultiSensor/Interrupt.h +++ b/arduino/HalMultiSensor/Interrupt.h @@ -1,6 +1,7 @@ #ifndef INTERRUPT_H #define INTERRUPT_H +#include typedef void (*InterruptFunction) (); @@ -10,7 +11,7 @@ public: static void wakeUp() { wakeUpNow = true; }; static void sleep(); static void setupPinInterrupt(int pin); - static void setupWatchDogInterrupt(unsigned int milliseconds); + static void setupWatchDogInterrupt(int32_t milliseconds); //static void setupTimerInterrupt(unsigned int milliseconds); static void setPinCallback(InterruptFunction callback){ Interrupt::pinCallback = callback;} diff --git a/arduino/HalMultiSensor/ProtocolOregon.cpp b/arduino/HalMultiSensor/ProtocolOregon.cpp index 42212f91..04e91ca9 100755 --- a/arduino/HalMultiSensor/ProtocolOregon.cpp +++ b/arduino/HalMultiSensor/ProtocolOregon.cpp @@ -23,6 +23,13 @@ void ProtocolOregon::send(const TemperatureData& data) send(data.temperature, data.humidity); } +void ProtocolOregon::send(const LightData& data) +{ + send(data.lumen, 0); +} + + + void ProtocolOregon::send(float temperature, short humidity) { byte buffer[9]; diff --git a/arduino/HalMultiSensor/ProtocolOregon.h b/arduino/HalMultiSensor/ProtocolOregon.h index b5311ca6..89f82268 100755 --- a/arduino/HalMultiSensor/ProtocolOregon.h +++ b/arduino/HalMultiSensor/ProtocolOregon.h @@ -5,7 +5,7 @@ #include "HalInterfaces.h" -class ProtocolOregon : public ProtocolTemperature, public ProtocolPowerConsumption +class ProtocolOregon : public ProtocolTemperature, public ProtocolPowerConsumption, public ProtocolLight { public: ProtocolOregon(short pin, unsigned char address) : txPin(pin), address(address){}; @@ -13,6 +13,7 @@ public: virtual void setup(); virtual void send(const TemperatureData& data); virtual void send(const PowerData& data); + virtual void send(const LightData& data); private: short txPin; diff --git a/arduino/HalMultiSensor/SensorBH1750.cpp b/arduino/HalMultiSensor/SensorBH1750.cpp index f8461515..aef3302b 100755 --- a/arduino/HalMultiSensor/SensorBH1750.cpp +++ b/arduino/HalMultiSensor/SensorBH1750.cpp @@ -76,11 +76,6 @@ void SensorBH1750::configure(uint8_t mode) { } } -void SensorBH1750::read(PowerData& data) -{ - data.consumption = pulses; - pulses = 0; -} void SensorBH1750::read(LightData& data) { uint16_t level; diff --git a/arduino/HalMultiSensor/SensorBH1750.h b/arduino/HalMultiSensor/SensorBH1750.h index cb139272..7e9dc9df 100755 --- a/arduino/HalMultiSensor/SensorBH1750.h +++ b/arduino/HalMultiSensor/SensorBH1750.h @@ -5,10 +5,9 @@ #include "HalInterfaces.h" -class SensorBH1750 : public SensorPowerConsumption, public SensorLight{ +class SensorBH1750 : public SensorLight{ public: virtual void setup(); - virtual void read(PowerData& data); virtual void read(LightData& data); private: