Bluetooth Low Energy for Smart Plug

Dependencies:   BLE_API mbed nRF51822

SmartPlug.h

Committer:
Slepnir
Date:
2015-07-07
Revision:
0:25ad6eba7916
Child:
2:6db5c9a2894c

File content as of revision 0:25ad6eba7916:

#ifndef SMART_PLUG_H
#define SMART_PLUG_H


class Relay
{
    public:
        Relay()
        {
        }
        
        void setState(uint8_t newState)
        {
            state = newState;
        }
        
        void setHrCounter(uint8_t newHrCounter)
        {
            hrCounter = newHrCounter;   
        }
        
        void setMinCounter(uint8_t newMinCounter)
        {
            minCounter = newMinCounter;   
        }
        
        uint8_t getState()
        {
            return state;
        }
        
        uint8_t getHrCounter()
        {
            return hrCounter;
        }
        
        uint8_t getMinCounter()
        {
            return minCounter;
        }
        
    private:
        uint8_t state;
        uint8_t hrCounter;
        uint8_t minCounter;
};

class SmartPlug
{
    public:
        SmartPlug()
        {
        }
        
        unsigned long getVoltage()
        {
            return voltage;
        }
        
        unsigned long getCurrent()
        {
            return current;
        }
        
        unsigned long getPower()
        {
            return power;
        }
        
        unsigned long getPowerFactor()
        {
            return powerFactor;
        }
        
        Relay getRelay()
        {
            return relay;
        }
        
        void setVoltage(unsigned long data)
        {
            voltage = data;
        }
        
        void setCurrent(unsigned long data)
        {
            current = data;
        }
        
        void setPower(unsigned long data)
        {
            power = data;
        }
        
        void setPowerFactor(unsigned long data)
        {
            powerFactor = data;
        }
        
        void setRelay(const uint8_t *data)
        {
            relay.setState(data[0]);
            relay.setHrCounter(data[1]);
            relay.setMinCounter(data[2]);
        }
    private:
        unsigned long voltage;
        unsigned long current;
        unsigned long power;
        unsigned long powerFactor;
        Relay relay;
};

#endif