ECE59500_ESP8266_K64_MQTT_Pub_Sub_client

Dependencies:   mbed ESP8266Interface MbedJSONValue mbed-rtos MQTT JSON

rgbled.cpp

Committer:
sbetrabet
Date:
2019-03-08
Revision:
21:f08f17225c7c

File content as of revision 21:f08f17225c7c:

#include "mbed.h"
#include "rgbled.h"

rgbled::rgbled(PinName pin_red, PinName pin_green, PinName pin_blue)
             : _pin_red(pin_red), _pin_green(pin_green), _pin_blue(pin_blue){
    _on = false;
    _off = !_on;
    _pin_red = _off;
    _pin_green = _off;
    _pin_blue = _off;
}

void rgbled::active(bool a){
    _on = a;
    _off = !_on;
}
    
void rgbled::_none(void){
    _pin_red = _off;
    _pin_green = _off;
    _pin_blue = _off;
}

void rgbled::_red(void){
    _pin_red = _on;
    _pin_green = _off;
    _pin_blue = _off;
}

void rgbled::_green(void){
    _pin_red = _off;
    _pin_green = _on;
    _pin_blue = _off;
}

void rgbled::_blue(void){
    _pin_red = _off;
    _pin_green = _off;
    _pin_blue = _on;
}

void rgbled::_cyan(void){
    _pin_red = _off;
    _pin_green = _on;
    _pin_blue = _on;
}

void rgbled::_yellow(void){
    _pin_red = _on;
    _pin_green = _on;
    _pin_blue = _off;
}
 
void rgbled::_magenta(void){
    _pin_red = _on;
    _pin_green = _off;
    _pin_blue = _on;
}    

void rgbled::set(color c){
        switch (c) {
            case none :
                _none();
                break;
            case red :
                _red();
                break;
            case yellow :
                _yellow();
                break;
            case green :
                _green();
                break;
            case cyan:
                _cyan();
                break;
            case blue :
                _blue();
                break;
            case magenta :
                _magenta();
                break;
        }
}