Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

Fork of SmartPlugBLE by Pavit Noinongyao

Committer:
Slepnir
Date:
Tue Jul 14 10:10:19 2015 +0000
Revision:
4:721ae30c92f8
Parent:
3:aaa92c61931a
For debugging

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Slepnir 0:25ad6eba7916 1 #ifndef SMART_PLUG_H
Slepnir 0:25ad6eba7916 2 #define SMART_PLUG_H
Slepnir 0:25ad6eba7916 3
Slepnir 0:25ad6eba7916 4
Slepnir 0:25ad6eba7916 5 class Relay
Slepnir 0:25ad6eba7916 6 {
Slepnir 0:25ad6eba7916 7 public:
Slepnir 2:6db5c9a2894c 8 Relay():state(0),hrCounter(0),minCounter(0)
Slepnir 0:25ad6eba7916 9 {
Slepnir 0:25ad6eba7916 10 }
Slepnir 0:25ad6eba7916 11
Slepnir 0:25ad6eba7916 12 void setState(uint8_t newState)
Slepnir 0:25ad6eba7916 13 {
Slepnir 0:25ad6eba7916 14 state = newState;
Slepnir 0:25ad6eba7916 15 }
Slepnir 0:25ad6eba7916 16
Slepnir 0:25ad6eba7916 17 void setHrCounter(uint8_t newHrCounter)
Slepnir 0:25ad6eba7916 18 {
Slepnir 0:25ad6eba7916 19 hrCounter = newHrCounter;
Slepnir 0:25ad6eba7916 20 }
Slepnir 0:25ad6eba7916 21
Slepnir 0:25ad6eba7916 22 void setMinCounter(uint8_t newMinCounter)
Slepnir 0:25ad6eba7916 23 {
Slepnir 0:25ad6eba7916 24 minCounter = newMinCounter;
Slepnir 0:25ad6eba7916 25 }
Slepnir 0:25ad6eba7916 26
Slepnir 0:25ad6eba7916 27 uint8_t getState()
Slepnir 0:25ad6eba7916 28 {
Slepnir 0:25ad6eba7916 29 return state;
Slepnir 0:25ad6eba7916 30 }
Slepnir 0:25ad6eba7916 31
Slepnir 0:25ad6eba7916 32 uint8_t getHrCounter()
Slepnir 0:25ad6eba7916 33 {
Slepnir 0:25ad6eba7916 34 return hrCounter;
Slepnir 0:25ad6eba7916 35 }
Slepnir 0:25ad6eba7916 36
Slepnir 0:25ad6eba7916 37 uint8_t getMinCounter()
Slepnir 0:25ad6eba7916 38 {
Slepnir 0:25ad6eba7916 39 return minCounter;
Slepnir 0:25ad6eba7916 40 }
Slepnir 0:25ad6eba7916 41
Slepnir 0:25ad6eba7916 42 private:
Slepnir 0:25ad6eba7916 43 uint8_t state;
Slepnir 0:25ad6eba7916 44 uint8_t hrCounter;
Slepnir 0:25ad6eba7916 45 uint8_t minCounter;
Slepnir 0:25ad6eba7916 46 };
Slepnir 0:25ad6eba7916 47
Slepnir 0:25ad6eba7916 48 class SmartPlug
Slepnir 0:25ad6eba7916 49 {
Slepnir 0:25ad6eba7916 50 public:
Slepnir 3:aaa92c61931a 51 bool isCounting;
Slepnir 3:aaa92c61931a 52
Slepnir 3:aaa92c61931a 53 SmartPlug():isCounting(false),voltage(0),current(0),power(0),powerFactor(0),energy(0)
Slepnir 0:25ad6eba7916 54 {
Slepnir 0:25ad6eba7916 55 }
Slepnir 0:25ad6eba7916 56
Slepnir 2:6db5c9a2894c 57 uint32_t getVoltage()
Slepnir 0:25ad6eba7916 58 {
Slepnir 0:25ad6eba7916 59 return voltage;
Slepnir 0:25ad6eba7916 60 }
Slepnir 0:25ad6eba7916 61
Slepnir 2:6db5c9a2894c 62 uint32_t getCurrent()
Slepnir 0:25ad6eba7916 63 {
Slepnir 0:25ad6eba7916 64 return current;
Slepnir 0:25ad6eba7916 65 }
Slepnir 0:25ad6eba7916 66
Slepnir 2:6db5c9a2894c 67 uint32_t getPower()
Slepnir 0:25ad6eba7916 68 {
Slepnir 0:25ad6eba7916 69 return power;
Slepnir 0:25ad6eba7916 70 }
Slepnir 0:25ad6eba7916 71
Slepnir 2:6db5c9a2894c 72 uint32_t getPowerFactor()
Slepnir 0:25ad6eba7916 73 {
Slepnir 0:25ad6eba7916 74 return powerFactor;
Slepnir 0:25ad6eba7916 75 }
Slepnir 0:25ad6eba7916 76
Slepnir 2:6db5c9a2894c 77 uint32_t getEnergy()
Slepnir 2:6db5c9a2894c 78 {
Slepnir 2:6db5c9a2894c 79 return energy;
Slepnir 2:6db5c9a2894c 80 }
Slepnir 2:6db5c9a2894c 81
Slepnir 3:aaa92c61931a 82 Relay* getRelay()
Slepnir 0:25ad6eba7916 83 {
Slepnir 3:aaa92c61931a 84 return &relay;
Slepnir 0:25ad6eba7916 85 }
Slepnir 0:25ad6eba7916 86
Slepnir 2:6db5c9a2894c 87 void setVoltage(uint32_t data)
Slepnir 0:25ad6eba7916 88 {
Slepnir 0:25ad6eba7916 89 voltage = data;
Slepnir 0:25ad6eba7916 90 }
Slepnir 0:25ad6eba7916 91
Slepnir 2:6db5c9a2894c 92 void setCurrent(uint32_t data)
Slepnir 0:25ad6eba7916 93 {
Slepnir 0:25ad6eba7916 94 current = data;
Slepnir 0:25ad6eba7916 95 }
Slepnir 0:25ad6eba7916 96
Slepnir 2:6db5c9a2894c 97 void setPower(uint32_t data)
Slepnir 0:25ad6eba7916 98 {
Slepnir 0:25ad6eba7916 99 power = data;
Slepnir 0:25ad6eba7916 100 }
Slepnir 0:25ad6eba7916 101
Slepnir 2:6db5c9a2894c 102 void setPowerFactor(uint32_t data)
Slepnir 0:25ad6eba7916 103 {
Slepnir 0:25ad6eba7916 104 powerFactor = data;
Slepnir 0:25ad6eba7916 105 }
Slepnir 0:25ad6eba7916 106
Slepnir 2:6db5c9a2894c 107 void setEnergy(uint32_t data)
Slepnir 2:6db5c9a2894c 108 {
Slepnir 2:6db5c9a2894c 109 energy = data;
Slepnir 2:6db5c9a2894c 110 }
Slepnir 2:6db5c9a2894c 111
Slepnir 3:aaa92c61931a 112 void setRelay(uint8_t state,uint8_t hour, uint8_t min)
Slepnir 0:25ad6eba7916 113 {
Slepnir 3:aaa92c61931a 114 relay.setState(state);
Slepnir 3:aaa92c61931a 115 relay.setHrCounter(hour);
Slepnir 3:aaa92c61931a 116 relay.setMinCounter(min);
Slepnir 3:aaa92c61931a 117 printf("hour = %d,min = %d\r\n",hour,min);
Slepnir 3:aaa92c61931a 118 if(hour != 0 || min != 0)
Slepnir 3:aaa92c61931a 119 isCounting = true;
Slepnir 3:aaa92c61931a 120 else if(state)
Slepnir 3:aaa92c61931a 121 {
Slepnir 3:aaa92c61931a 122 isCounting = false;
Slepnir 3:aaa92c61931a 123 }
Slepnir 0:25ad6eba7916 124 }
Slepnir 0:25ad6eba7916 125 private:
Slepnir 2:6db5c9a2894c 126 uint32_t voltage;
Slepnir 2:6db5c9a2894c 127 uint32_t current;
Slepnir 2:6db5c9a2894c 128 uint32_t power;
Slepnir 2:6db5c9a2894c 129 uint32_t powerFactor;
Slepnir 2:6db5c9a2894c 130 uint32_t energy;
Slepnir 0:25ad6eba7916 131 Relay relay;
Slepnir 0:25ad6eba7916 132 };
Slepnir 0:25ad6eba7916 133
Slepnir 0:25ad6eba7916 134 #endif