Bluetooth Low Energy for Smart Plug
Dependencies: BLE_API mbed nRF51822
SmartPlug.h@2:6db5c9a2894c, 2015-07-08 (annotated)
- 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?
User | Revision | Line number | New 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 |