Henry Triff / Mbed 2 deprecated ELEC2645_Project_el18ht

Dependencies:   mbed

Committer:
HenryWTriff
Date:
Sat Mar 28 12:05:27 2020 +0000
Revision:
15:944ef5ed4533
Parent:
11:7b12992156de

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
HenryWTriff 6:5f76dd718dc3 1 #include "LEDs.h"
HenryWTriff 6:5f76dd718dc3 2
HenryWTriff 15:944ef5ed4533 3 LEDs::LEDs()
HenryWTriff 15:944ef5ed4533 4 {
HenryWTriff 15:944ef5ed4533 5 }
HenryWTriff 15:944ef5ed4533 6
HenryWTriff 15:944ef5ed4533 7 LEDs::~LEDs()
HenryWTriff 15:944ef5ed4533 8 {
HenryWTriff 15:944ef5ed4533 9 }
HenryWTriff 15:944ef5ed4533 10
HenryWTriff 15:944ef5ed4533 11
HenryWTriff 10:29126a41b1da 12 void LEDs::Speed(bool leds_on, float speed, float max_speed, Gamepad &Device) //The speed is displayed on the LEDs
HenryWTriff 6:5f76dd718dc3 13 {
HenryWTriff 10:29126a41b1da 14 if(leds_on == true) { //If the setting for LEDs is on
HenryWTriff 10:29126a41b1da 15 float mapped_speed = 3 * speed / max_speed; //Maps the speed so that mapped_speed is between 0 and 3
HenryWTriff 6:5f76dd718dc3 16
HenryWTriff 6:5f76dd718dc3 17 if(mapped_speed < 1) {
HenryWTriff 10:29126a41b1da 18 Device.led(1,0); //Red LED is off
HenryWTriff 10:29126a41b1da 19 Device.led(2,0); //Yellow LED is off
HenryWTriff 10:29126a41b1da 20 Device.led(3, mapped_speed); //Green LED is on and brightness is PWM controlled
HenryWTriff 6:5f76dd718dc3 21 } else if (mapped_speed >= 1 && mapped_speed < 2) {
HenryWTriff 10:29126a41b1da 22 Device.led(1,0); //Red LED is off
HenryWTriff 10:29126a41b1da 23 Device.led(2, (mapped_speed - 1)); //Yellow LED is on and the brightness is PWM controlled
HenryWTriff 10:29126a41b1da 24 Device.led(3,1); //Green LED is on
HenryWTriff 6:5f76dd718dc3 25 } else if (mapped_speed >= 2 && mapped_speed < 3) {
HenryWTriff 10:29126a41b1da 26 Device.led(1, (mapped_speed - 2)); //Red LED is on and the brightness is PWM controlled
HenryWTriff 10:29126a41b1da 27 Device.led(2,1);//Yellow LED is on
HenryWTriff 10:29126a41b1da 28 Device.led(3,1);//Green LED is on
HenryWTriff 6:5f76dd718dc3 29 }
HenryWTriff 6:5f76dd718dc3 30 }
HenryWTriff 6:5f76dd718dc3 31
HenryWTriff 6:5f76dd718dc3 32 }
HenryWTriff 6:5f76dd718dc3 33
HenryWTriff 10:29126a41b1da 34 void LEDs::Start_Sequence(bool leds_on, int state, Gamepad &Device) //LED count down sequence
HenryWTriff 6:5f76dd718dc3 35 {
HenryWTriff 10:29126a41b1da 36 if(leds_on == true) { //If the LED setting is on
HenryWTriff 6:5f76dd718dc3 37 if(state == 2) {
HenryWTriff 11:7b12992156de 38 //Sets both sets of LEDs to Red
HenryWTriff 6:5f76dd718dc3 39 Device.led(1,1);
HenryWTriff 6:5f76dd718dc3 40 Device.led(2,0);
HenryWTriff 6:5f76dd718dc3 41 Device.led(3,0);
HenryWTriff 6:5f76dd718dc3 42 Device.led(4,1);
HenryWTriff 6:5f76dd718dc3 43 Device.led(5,0);
HenryWTriff 6:5f76dd718dc3 44 Device.led(6,0);
HenryWTriff 6:5f76dd718dc3 45 } else if(state == 1) {
HenryWTriff 11:7b12992156de 46 //Sets both sets of LEDs to Orange
HenryWTriff 6:5f76dd718dc3 47 Device.led(1,0);
HenryWTriff 6:5f76dd718dc3 48 Device.led(2,1);
HenryWTriff 6:5f76dd718dc3 49 Device.led(3,0);
HenryWTriff 6:5f76dd718dc3 50 Device.led(4,0);
HenryWTriff 6:5f76dd718dc3 51 Device.led(5,1);
HenryWTriff 6:5f76dd718dc3 52 Device.led(6,0);
HenryWTriff 6:5f76dd718dc3 53 } else if(state == 0) {
HenryWTriff 11:7b12992156de 54 //Sets both sets of LEDs to Green
HenryWTriff 6:5f76dd718dc3 55 Device.led(1,0);
HenryWTriff 6:5f76dd718dc3 56 Device.led(2,0);
HenryWTriff 6:5f76dd718dc3 57 Device.led(3,1);
HenryWTriff 6:5f76dd718dc3 58 Device.led(4,0);
HenryWTriff 6:5f76dd718dc3 59 Device.led(5,0);
HenryWTriff 6:5f76dd718dc3 60 Device.led(6,1);
HenryWTriff 6:5f76dd718dc3 61 }
HenryWTriff 6:5f76dd718dc3 62 }
HenryWTriff 6:5f76dd718dc3 63 }
HenryWTriff 6:5f76dd718dc3 64
HenryWTriff 10:29126a41b1da 65 void LEDs::Clear(Gamepad &Device) //Clears all the LEDs so they are all off
HenryWTriff 6:5f76dd718dc3 66 {
HenryWTriff 6:5f76dd718dc3 67 Device.led(1,0);
HenryWTriff 6:5f76dd718dc3 68 Device.led(2,0);
HenryWTriff 6:5f76dd718dc3 69 Device.led(3,0);
HenryWTriff 6:5f76dd718dc3 70 Device.led(4,0);
HenryWTriff 6:5f76dd718dc3 71 Device.led(5,0);
HenryWTriff 6:5f76dd718dc3 72 Device.led(6,0);
HenryWTriff 6:5f76dd718dc3 73 }