Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

Revision:
2:6db5c9a2894c
Parent:
0:25ad6eba7916
Child:
3:aaa92c61931a
--- a/SmartPlug.h	Tue Jul 07 04:58:28 2015 +0000
+++ b/SmartPlug.h	Wed Jul 08 07:25:11 2015 +0000
@@ -5,7 +5,7 @@
 class Relay
 {
     public:
-        Relay()
+        Relay():state(0),hrCounter(0),minCounter(0)
         {
         }
         
@@ -48,66 +48,78 @@
 class SmartPlug
 {
     public:
-        SmartPlug()
+        SmartPlug():voltage(0),current(0),power(0),powerFactor(0),energy(0)
         {
         }
         
-        unsigned long getVoltage()
+        uint32_t getVoltage()
         {
+            printf("in getVoltage in smartPlug\r\n");
             return voltage;
         }
         
-        unsigned long getCurrent()
+        uint32_t getCurrent()
         {
             return current;
         }
         
-        unsigned long getPower()
+        uint32_t getPower()
         {
             return power;
         }
         
-        unsigned long getPowerFactor()
+        uint32_t getPowerFactor()
         {
             return powerFactor;
         }
         
+        uint32_t getEnergy()
+        {
+            return energy;
+        }
+            
         Relay getRelay()
         {
             return relay;
         }
         
-        void setVoltage(unsigned long data)
+        void setVoltage(uint32_t data)
         {
             voltage = data;
         }
         
-        void setCurrent(unsigned long data)
+        void setCurrent(uint32_t data)
         {
             current = data;
         }
         
-        void setPower(unsigned long data)
+        void setPower(uint32_t data)
         {
             power = data;
         }
         
-        void setPowerFactor(unsigned long data)
+        void setPowerFactor(uint32_t data)
         {
             powerFactor = data;
         }
         
+        void setEnergy(uint32_t data)
+        {
+            energy = data;
+        }
+        
         void setRelay(const uint8_t *data)
         {
-            relay.setState(data[0]);
-            relay.setHrCounter(data[1]);
-            relay.setMinCounter(data[2]);
+            relay.setState(data[0]>>7);
+            relay.setHrCounter(data[0]&0x0FFFFFFF);
+            relay.setMinCounter(data[1]);
         }
     private:
-        unsigned long voltage;
-        unsigned long current;
-        unsigned long power;
-        unsigned long powerFactor;
+        uint32_t voltage;
+        uint32_t current;
+        uint32_t power;
+        uint32_t powerFactor;
+        uint32_t energy;
         Relay relay;
 };