Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

Fork of SmartPlugBLE by Pavit Noinongyao

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers SmartPlug.h Source File

SmartPlug.h

00001 #ifndef SMART_PLUG_H
00002 #define SMART_PLUG_H
00003 
00004 
00005 class Relay
00006 {
00007     public:
00008         Relay():state(0),hrCounter(0),minCounter(0)
00009         {
00010         }
00011         
00012         void setState(uint8_t newState)
00013         {
00014             state = newState;
00015         }
00016         
00017         void setHrCounter(uint8_t newHrCounter)
00018         {
00019             hrCounter = newHrCounter;   
00020         }
00021         
00022         void setMinCounter(uint8_t newMinCounter)
00023         {
00024             minCounter = newMinCounter;   
00025         }
00026         
00027         uint8_t getState()
00028         {
00029             return state;
00030         }
00031         
00032         uint8_t getHrCounter()
00033         {
00034             return hrCounter;
00035         }
00036         
00037         uint8_t getMinCounter()
00038         {
00039             return minCounter;
00040         }
00041         
00042     private:
00043         uint8_t state;
00044         uint8_t hrCounter;
00045         uint8_t minCounter;
00046 };
00047 
00048 class SmartPlug
00049 {
00050     public:
00051         bool isCounting;
00052         
00053         SmartPlug():isCounting(false),voltage(0),current(0),power(0),powerFactor(0),energy(0)
00054         {
00055         }
00056         
00057         uint32_t getVoltage()
00058         {
00059             return voltage;
00060         }
00061         
00062         uint32_t getCurrent()
00063         {
00064             return current;
00065         }
00066         
00067         uint32_t getPower()
00068         {
00069             return power;
00070         }
00071         
00072         uint32_t getPowerFactor()
00073         {
00074             return powerFactor;
00075         }
00076         
00077         uint32_t getEnergy()
00078         {
00079             return energy;
00080         }
00081             
00082         Relay* getRelay()
00083         {
00084             return &relay;
00085         }
00086         
00087         void setVoltage(uint32_t data)
00088         {
00089             voltage = data;
00090         }
00091         
00092         void setCurrent(uint32_t data)
00093         {
00094             current = data;
00095         }
00096         
00097         void setPower(uint32_t data)
00098         {
00099             power = data;
00100         }
00101         
00102         void setPowerFactor(uint32_t data)
00103         {
00104             powerFactor = data;
00105         }
00106         
00107         void setEnergy(uint32_t data)
00108         {
00109             energy = data;
00110         }
00111         
00112         void setRelay(uint8_t state,uint8_t hour, uint8_t min)
00113         {
00114             relay.setState(state);
00115             relay.setHrCounter(hour);
00116             relay.setMinCounter(min);
00117             printf("hour = %d,min = %d\r\n",hour,min);
00118             if(hour != 0 || min != 0)
00119                 isCounting = true;
00120             else if(state)
00121             {
00122                 isCounting = false;
00123             }
00124         }
00125     private:
00126         uint32_t voltage;
00127         uint32_t current;
00128         uint32_t power;
00129         uint32_t powerFactor;
00130         uint32_t energy;
00131         Relay relay;
00132 };
00133 
00134 #endif