Bluetooth Low Energy for Smart Plug
Dependencies: BLE_API mbed nRF51822
Fork of SmartPlugBLE by
SmartPlugBLE.h
- Committer:
- Slepnir
- Date:
- 2015-07-07
- Revision:
- 0:25ad6eba7916
- Child:
- 2:6db5c9a2894c
File content as of revision 0:25ad6eba7916:
#ifndef SMART_PLUG_BLE_H #define SMART_PLUG_BLE_H #include "SmartPlug.h" #include "MVC.h" #include "mbed.h" #include "SPCommunication.h" #include <vector> class SmartPlugBLE: public Observable { public: SmartPlugBLE() { ticker.attach(this,&SmartPlugBLE::periodicCallback, 1); // blink LED every second } void onRelayWrite(uint8_t *data) { updateRelay(data); notifyObservers(); } void updateRelay(const uint8_t *data) { smartPlug.setRelay(data); } void notifyObservers() { for(int i=0;i<observers.size();i++) { observers[i].update((void*)&smartPlug); } } void addObserver(Observer o) { observers.push_back(o); } void periodicCallback(void) { //led1 = !led1; /* Do blinky on LED1 while we're waiting for BLE events */ } void updateData(void) { smartPlug.setVoltage(smartPlug.getVoltage()+1);//(spComm.getVoltage()); smartPlug.setCurrent(smartPlug.getCurrent()+1);//(spComm.getCurrent()); smartPlug.setPower(smartPlug.getPower()+1);//(spComm.getPower()); smartPlug.setPowerFactor(smartPlug.getPowerFactor()+1);//(spComm.getPowerFactor()); notifyObservers(); } private: SmartPlug smartPlug; Ticker ticker; //DigitalOut led1; SPCommunication spComm; //BLECommunication bleComm; vector<Observer> observers; }; #endif