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.
Dependencies: PinDetect TextLCD mbed
Fork of FBRDash by
Diff: main.cpp
- Revision:
- 0:1f422ed56e0f
- Child:
- 1:b3907b8d9f65
diff -r 000000000000 -r 1f422ed56e0f main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Thu Nov 03 20:38:12 2011 +0000
@@ -0,0 +1,80 @@
+#include "mbed.h"
+#include "TextLCD.h"
+
+#define NUM_LEDS 6
+PwmOut leds[] = { (p26), (p25), (p24), (p23), (p22), (p21) };
+
+TextLCD lcd(p10, p11, p12, p17, p18, p19, p20);
+
+InterruptIn shiftDown(p5);
+InterruptIn shiftUp(p6);
+InterruptIn shiftNeutral(p7);
+
+volatile float increment = 0;
+
+void up()
+{
+ increment += 0.01;
+}
+
+void down()
+{
+ increment -= 0.01;
+}
+
+void neutral()
+{
+ increment = 0;
+}
+
+int main() {
+ float i;
+
+ shiftUp.rise(&up);
+ shiftDown.rise(&down);
+ shiftNeutral.rise(&neutral);
+
+ leds[0].period(0.0001);
+
+ lcd.locate(0, 1);
+ lcd.printf("Neutral");
+
+ while(1) {
+ if(increment >= 0)
+ i = 0;
+ else
+ i = 6.0;
+
+ for(; i <= 6 && i >= 0; i += increment)
+ {
+ for(int j = 0; j < NUM_LEDS; j++)
+ {
+ if(j < (int)i)
+ {
+ leds[j] = 1.0;
+ }
+ else if(j >= (int)i + 1)
+ {
+ leds[j] = 0;
+ }
+ else
+ {
+ leds[j] = i - ((int)i);
+ }
+ }
+
+ lcd.locate(0, 0);
+ lcd.printf("%4.2f %4.2f", i, increment);
+
+ lcd.locate(0, 1);
+ if(increment < 0)
+ lcd.printf("Down ");
+ else if(increment > 0)
+ lcd.printf("Up ");
+ else
+ lcd.printf("Neutral");
+
+ wait_ms(10);
+ }
+ }
+}
