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@15:944ef5ed4533, 2020-03-28 (annotated)
- Committer:
- HenryWTriff
- Date:
- Sat Mar 28 12:05:27 2020 +0000
- Revision:
- 15:944ef5ed4533
- Parent:
- 11:7b12992156de
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |