Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

Fork of SmartPlugBLE by Pavit Noinongyao

Committer:
Slepnir
Date:
Wed Jul 08 07:25:11 2015 +0000
Revision:
2:6db5c9a2894c
Parent:
0:25ad6eba7916
Child:
3:aaa92c61931a
Beta version:; - Everything works, have not tested the timer function

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 2:6db5c9a2894c 51 SmartPlug():voltage(0),current(0),power(0),powerFactor(0),energy(0)
Slepnir 0:25ad6eba7916 52 {
Slepnir 0:25ad6eba7916 53 }
Slepnir 0:25ad6eba7916 54
Slepnir 2:6db5c9a2894c 55 uint32_t getVoltage()
Slepnir 0:25ad6eba7916 56 {
Slepnir 2:6db5c9a2894c 57 printf("in getVoltage in smartPlug\r\n");
Slepnir 0:25ad6eba7916 58 return voltage;
Slepnir 0:25ad6eba7916 59 }
Slepnir 0:25ad6eba7916 60
Slepnir 2:6db5c9a2894c 61 uint32_t getCurrent()
Slepnir 0:25ad6eba7916 62 {
Slepnir 0:25ad6eba7916 63 return current;
Slepnir 0:25ad6eba7916 64 }
Slepnir 0:25ad6eba7916 65
Slepnir 2:6db5c9a2894c 66 uint32_t getPower()
Slepnir 0:25ad6eba7916 67 {
Slepnir 0:25ad6eba7916 68 return power;
Slepnir 0:25ad6eba7916 69 }
Slepnir 0:25ad6eba7916 70
Slepnir 2:6db5c9a2894c 71 uint32_t getPowerFactor()
Slepnir 0:25ad6eba7916 72 {
Slepnir 0:25ad6eba7916 73 return powerFactor;
Slepnir 0:25ad6eba7916 74 }
Slepnir 0:25ad6eba7916 75
Slepnir 2:6db5c9a2894c 76 uint32_t getEnergy()
Slepnir 2:6db5c9a2894c 77 {
Slepnir 2:6db5c9a2894c 78 return energy;
Slepnir 2:6db5c9a2894c 79 }
Slepnir 2:6db5c9a2894c 80
Slepnir 0:25ad6eba7916 81 Relay getRelay()
Slepnir 0:25ad6eba7916 82 {
Slepnir 0:25ad6eba7916 83 return relay;
Slepnir 0:25ad6eba7916 84 }
Slepnir 0:25ad6eba7916 85
Slepnir 2:6db5c9a2894c 86 void setVoltage(uint32_t data)
Slepnir 0:25ad6eba7916 87 {
Slepnir 0:25ad6eba7916 88 voltage = data;
Slepnir 0:25ad6eba7916 89 }
Slepnir 0:25ad6eba7916 90
Slepnir 2:6db5c9a2894c 91 void setCurrent(uint32_t data)
Slepnir 0:25ad6eba7916 92 {
Slepnir 0:25ad6eba7916 93 current = data;
Slepnir 0:25ad6eba7916 94 }
Slepnir 0:25ad6eba7916 95
Slepnir 2:6db5c9a2894c 96 void setPower(uint32_t data)
Slepnir 0:25ad6eba7916 97 {
Slepnir 0:25ad6eba7916 98 power = data;
Slepnir 0:25ad6eba7916 99 }
Slepnir 0:25ad6eba7916 100
Slepnir 2:6db5c9a2894c 101 void setPowerFactor(uint32_t data)
Slepnir 0:25ad6eba7916 102 {
Slepnir 0:25ad6eba7916 103 powerFactor = data;
Slepnir 0:25ad6eba7916 104 }
Slepnir 0:25ad6eba7916 105
Slepnir 2:6db5c9a2894c 106 void setEnergy(uint32_t data)
Slepnir 2:6db5c9a2894c 107 {
Slepnir 2:6db5c9a2894c 108 energy = data;
Slepnir 2:6db5c9a2894c 109 }
Slepnir 2:6db5c9a2894c 110
Slepnir 0:25ad6eba7916 111 void setRelay(const uint8_t *data)
Slepnir 0:25ad6eba7916 112 {
Slepnir 2:6db5c9a2894c 113 relay.setState(data[0]>>7);
Slepnir 2:6db5c9a2894c 114 relay.setHrCounter(data[0]&0x0FFFFFFF);
Slepnir 2:6db5c9a2894c 115 relay.setMinCounter(data[1]);
Slepnir 0:25ad6eba7916 116 }
Slepnir 0:25ad6eba7916 117 private:
Slepnir 2:6db5c9a2894c 118 uint32_t voltage;
Slepnir 2:6db5c9a2894c 119 uint32_t current;
Slepnir 2:6db5c9a2894c 120 uint32_t power;
Slepnir 2:6db5c9a2894c 121 uint32_t powerFactor;
Slepnir 2:6db5c9a2894c 122 uint32_t energy;
Slepnir 0:25ad6eba7916 123 Relay relay;
Slepnir 0:25ad6eba7916 124 };
Slepnir 0:25ad6eba7916 125
Slepnir 0:25ad6eba7916 126 #endif