Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

Fork of SmartPlugBLE by Pavit Noinongyao

Committer:
Slepnir
Date:
Tue Jul 07 04:02:14 2015 +0000
Revision:
0:25ad6eba7916
Child:
2:6db5c9a2894c
V1:; - Successfully advertise and connect ; - Update fail; - Can read only 4 bit

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 0:25ad6eba7916 8 Relay()
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 0:25ad6eba7916 51 SmartPlug()
Slepnir 0:25ad6eba7916 52 {
Slepnir 0:25ad6eba7916 53 }
Slepnir 0:25ad6eba7916 54
Slepnir 0:25ad6eba7916 55 unsigned long getVoltage()
Slepnir 0:25ad6eba7916 56 {
Slepnir 0:25ad6eba7916 57 return voltage;
Slepnir 0:25ad6eba7916 58 }
Slepnir 0:25ad6eba7916 59
Slepnir 0:25ad6eba7916 60 unsigned long getCurrent()
Slepnir 0:25ad6eba7916 61 {
Slepnir 0:25ad6eba7916 62 return current;
Slepnir 0:25ad6eba7916 63 }
Slepnir 0:25ad6eba7916 64
Slepnir 0:25ad6eba7916 65 unsigned long getPower()
Slepnir 0:25ad6eba7916 66 {
Slepnir 0:25ad6eba7916 67 return power;
Slepnir 0:25ad6eba7916 68 }
Slepnir 0:25ad6eba7916 69
Slepnir 0:25ad6eba7916 70 unsigned long getPowerFactor()
Slepnir 0:25ad6eba7916 71 {
Slepnir 0:25ad6eba7916 72 return powerFactor;
Slepnir 0:25ad6eba7916 73 }
Slepnir 0:25ad6eba7916 74
Slepnir 0:25ad6eba7916 75 Relay getRelay()
Slepnir 0:25ad6eba7916 76 {
Slepnir 0:25ad6eba7916 77 return relay;
Slepnir 0:25ad6eba7916 78 }
Slepnir 0:25ad6eba7916 79
Slepnir 0:25ad6eba7916 80 void setVoltage(unsigned long data)
Slepnir 0:25ad6eba7916 81 {
Slepnir 0:25ad6eba7916 82 voltage = data;
Slepnir 0:25ad6eba7916 83 }
Slepnir 0:25ad6eba7916 84
Slepnir 0:25ad6eba7916 85 void setCurrent(unsigned long data)
Slepnir 0:25ad6eba7916 86 {
Slepnir 0:25ad6eba7916 87 current = data;
Slepnir 0:25ad6eba7916 88 }
Slepnir 0:25ad6eba7916 89
Slepnir 0:25ad6eba7916 90 void setPower(unsigned long data)
Slepnir 0:25ad6eba7916 91 {
Slepnir 0:25ad6eba7916 92 power = data;
Slepnir 0:25ad6eba7916 93 }
Slepnir 0:25ad6eba7916 94
Slepnir 0:25ad6eba7916 95 void setPowerFactor(unsigned long data)
Slepnir 0:25ad6eba7916 96 {
Slepnir 0:25ad6eba7916 97 powerFactor = data;
Slepnir 0:25ad6eba7916 98 }
Slepnir 0:25ad6eba7916 99
Slepnir 0:25ad6eba7916 100 void setRelay(const uint8_t *data)
Slepnir 0:25ad6eba7916 101 {
Slepnir 0:25ad6eba7916 102 relay.setState(data[0]);
Slepnir 0:25ad6eba7916 103 relay.setHrCounter(data[1]);
Slepnir 0:25ad6eba7916 104 relay.setMinCounter(data[2]);
Slepnir 0:25ad6eba7916 105 }
Slepnir 0:25ad6eba7916 106 private:
Slepnir 0:25ad6eba7916 107 unsigned long voltage;
Slepnir 0:25ad6eba7916 108 unsigned long current;
Slepnir 0:25ad6eba7916 109 unsigned long power;
Slepnir 0:25ad6eba7916 110 unsigned long powerFactor;
Slepnir 0:25ad6eba7916 111 Relay relay;
Slepnir 0:25ad6eba7916 112 };
Slepnir 0:25ad6eba7916 113
Slepnir 0:25ad6eba7916 114 #endif