Main repository for dump truck API development in Spring 2017
Dependencies: Tracker mbed MotorV2 SRF05 nRF24L01P
Fork of DUMP_TRUCK_TEST_V1 by
Activities
This Week
If needed, please contact Milo Pan at mpan9@gatech.edu for rights and access to this repository.
Diff: main.cpp
- Revision:
- 5:dc4cf6cc24b3
- Parent:
- 0:6942f0e2198c
- Child:
- 10:cf77da9be0b8
diff -r 2f1a0f628875 -r dc4cf6cc24b3 main.cpp --- a/main.cpp Tue Nov 29 20:04:34 2016 +0000 +++ b/main.cpp Tue Feb 07 21:01:20 2017 +0000 @@ -1,11 +1,71 @@ #include "mbed.h" -#include "DumpTruck.h" -DigitalOut myled(LED1); +// Define buttons +InterruptIn button_red(p5); +InterruptIn button_green(p6); +InterruptIn button_blue(p7); + +// Define LED colors +PwmOut led_red(p21); +PwmOut led_green(p22); +PwmOut led_blue(p23); +// Interrupt Service Routine to increment the red color +void inc_red() { -int main() { - DumpTruck foo(1); - foo.drive(); + float pwm; + + // Read in current PWM value and increment it + pwm = led_red.read(); + pwm += 0.1f; + if (pwm > 1.0f) { + pwm = 0.0f; + } + led_red.write(pwm); } +// Interrupt Service Routine to increment the green color +void inc_green() { + + float pwm; + + // Read in current PWM value and increment it + pwm = led_green.read(); + pwm += 0.1f; + if (pwm > 1.0f) { + pwm = 0.0f; + } + led_green.write(pwm); +} + +// Interrupt Service Routine to increment the blue color +void inc_blue() { + + float pwm; + + // Read in current PWM value and increment it + pwm = led_blue.read(); + pwm += 0.1f; + if (pwm > 1.0f) { + pwm = 0.0f; + } + led_blue.write(pwm); +} + +// Main loop +int main() { + + // Initialize all LED colors as off + led_red.write(0.0f); + led_green.write(0.0f); + led_blue.write(0.0f); + + // Define three interrupts - one for each color + button_red.fall(&inc_red); + button_green.fall(&inc_green); + button_blue.fall(&inc_blue); + + // Do nothing! We wait for an interrupt to happen + while(1) { + } +}