Henry Triff / Mbed 2 deprecated ELEC2645_Project_el18ht

Dependencies:   mbed

Leds/LEDs.cpp

Committer:
HenryWTriff
Date:
2020-03-28
Revision:
15:944ef5ed4533
Parent:
11:7b12992156de

File content as of revision 15:944ef5ed4533:

#include "LEDs.h"

LEDs::LEDs()
{
}

LEDs::~LEDs()
{
}


void LEDs::Speed(bool leds_on, float speed, float max_speed, Gamepad &Device) //The speed is displayed on the LEDs
{
    if(leds_on == true) { //If the setting for LEDs is on
        float mapped_speed = 3 * speed / max_speed; //Maps the speed so that mapped_speed is between 0 and 3

        if(mapped_speed < 1) {
            Device.led(1,0); //Red LED is off
            Device.led(2,0); //Yellow LED is off
            Device.led(3, mapped_speed); //Green LED is on and brightness is PWM controlled
        } else if (mapped_speed >= 1 && mapped_speed < 2) {
            Device.led(1,0); //Red LED is off
            Device.led(2, (mapped_speed - 1)); //Yellow LED is on and the brightness is PWM controlled
            Device.led(3,1); //Green LED is on
        } else if (mapped_speed >= 2 && mapped_speed < 3) {
            Device.led(1, (mapped_speed - 2)); //Red LED is on and the brightness is PWM controlled
            Device.led(2,1);//Yellow LED is on
            Device.led(3,1);//Green LED is on
        }
    }

}

void LEDs::Start_Sequence(bool leds_on,  int state, Gamepad &Device) //LED count down sequence
{
    if(leds_on == true) { //If the LED setting is on
        if(state == 2) {
            //Sets both sets of LEDs to Red
            Device.led(1,1);
            Device.led(2,0);
            Device.led(3,0);
            Device.led(4,1);
            Device.led(5,0);
            Device.led(6,0);
        } else if(state == 1) {
            //Sets both sets of LEDs to Orange
            Device.led(1,0);
            Device.led(2,1);
            Device.led(3,0);
            Device.led(4,0);
            Device.led(5,1);
            Device.led(6,0);
        } else if(state == 0) {
            //Sets both sets of LEDs to Green
            Device.led(1,0);
            Device.led(2,0);
            Device.led(3,1);
            Device.led(4,0);
            Device.led(5,0);
            Device.led(6,1);
        }
    }
}

void LEDs::Clear(Gamepad &Device) //Clears all the LEDs so they are all off
{
    Device.led(1,0);
    Device.led(2,0);
    Device.led(3,0);
    Device.led(4,0);
    Device.led(5,0);
    Device.led(6,0);
}