Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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);
}