can't push chnages :(

Fork of FBRDash by Michael Allan

Committer:
intrinseca
Date:
Thu Nov 03 20:38:12 2011 +0000
Revision:
0:1f422ed56e0f
Child:
1:b3907b8d9f65
Test Program

Who changed what in which revision?

UserRevisionLine numberNew contents of line
intrinseca 0:1f422ed56e0f 1 #include "mbed.h"
intrinseca 0:1f422ed56e0f 2 #include "TextLCD.h"
intrinseca 0:1f422ed56e0f 3
intrinseca 0:1f422ed56e0f 4 #define NUM_LEDS 6
intrinseca 0:1f422ed56e0f 5 PwmOut leds[] = { (p26), (p25), (p24), (p23), (p22), (p21) };
intrinseca 0:1f422ed56e0f 6
intrinseca 0:1f422ed56e0f 7 TextLCD lcd(p10, p11, p12, p17, p18, p19, p20);
intrinseca 0:1f422ed56e0f 8
intrinseca 0:1f422ed56e0f 9 InterruptIn shiftDown(p5);
intrinseca 0:1f422ed56e0f 10 InterruptIn shiftUp(p6);
intrinseca 0:1f422ed56e0f 11 InterruptIn shiftNeutral(p7);
intrinseca 0:1f422ed56e0f 12
intrinseca 0:1f422ed56e0f 13 volatile float increment = 0;
intrinseca 0:1f422ed56e0f 14
intrinseca 0:1f422ed56e0f 15 void up()
intrinseca 0:1f422ed56e0f 16 {
intrinseca 0:1f422ed56e0f 17 increment += 0.01;
intrinseca 0:1f422ed56e0f 18 }
intrinseca 0:1f422ed56e0f 19
intrinseca 0:1f422ed56e0f 20 void down()
intrinseca 0:1f422ed56e0f 21 {
intrinseca 0:1f422ed56e0f 22 increment -= 0.01;
intrinseca 0:1f422ed56e0f 23 }
intrinseca 0:1f422ed56e0f 24
intrinseca 0:1f422ed56e0f 25 void neutral()
intrinseca 0:1f422ed56e0f 26 {
intrinseca 0:1f422ed56e0f 27 increment = 0;
intrinseca 0:1f422ed56e0f 28 }
intrinseca 0:1f422ed56e0f 29
intrinseca 0:1f422ed56e0f 30 int main() {
intrinseca 0:1f422ed56e0f 31 float i;
intrinseca 0:1f422ed56e0f 32
intrinseca 0:1f422ed56e0f 33 shiftUp.rise(&up);
intrinseca 0:1f422ed56e0f 34 shiftDown.rise(&down);
intrinseca 0:1f422ed56e0f 35 shiftNeutral.rise(&neutral);
intrinseca 0:1f422ed56e0f 36
intrinseca 0:1f422ed56e0f 37 leds[0].period(0.0001);
intrinseca 0:1f422ed56e0f 38
intrinseca 0:1f422ed56e0f 39 lcd.locate(0, 1);
intrinseca 0:1f422ed56e0f 40 lcd.printf("Neutral");
intrinseca 0:1f422ed56e0f 41
intrinseca 0:1f422ed56e0f 42 while(1) {
intrinseca 0:1f422ed56e0f 43 if(increment >= 0)
intrinseca 0:1f422ed56e0f 44 i = 0;
intrinseca 0:1f422ed56e0f 45 else
intrinseca 0:1f422ed56e0f 46 i = 6.0;
intrinseca 0:1f422ed56e0f 47
intrinseca 0:1f422ed56e0f 48 for(; i <= 6 && i >= 0; i += increment)
intrinseca 0:1f422ed56e0f 49 {
intrinseca 0:1f422ed56e0f 50 for(int j = 0; j < NUM_LEDS; j++)
intrinseca 0:1f422ed56e0f 51 {
intrinseca 0:1f422ed56e0f 52 if(j < (int)i)
intrinseca 0:1f422ed56e0f 53 {
intrinseca 0:1f422ed56e0f 54 leds[j] = 1.0;
intrinseca 0:1f422ed56e0f 55 }
intrinseca 0:1f422ed56e0f 56 else if(j >= (int)i + 1)
intrinseca 0:1f422ed56e0f 57 {
intrinseca 0:1f422ed56e0f 58 leds[j] = 0;
intrinseca 0:1f422ed56e0f 59 }
intrinseca 0:1f422ed56e0f 60 else
intrinseca 0:1f422ed56e0f 61 {
intrinseca 0:1f422ed56e0f 62 leds[j] = i - ((int)i);
intrinseca 0:1f422ed56e0f 63 }
intrinseca 0:1f422ed56e0f 64 }
intrinseca 0:1f422ed56e0f 65
intrinseca 0:1f422ed56e0f 66 lcd.locate(0, 0);
intrinseca 0:1f422ed56e0f 67 lcd.printf("%4.2f %4.2f", i, increment);
intrinseca 0:1f422ed56e0f 68
intrinseca 0:1f422ed56e0f 69 lcd.locate(0, 1);
intrinseca 0:1f422ed56e0f 70 if(increment < 0)
intrinseca 0:1f422ed56e0f 71 lcd.printf("Down ");
intrinseca 0:1f422ed56e0f 72 else if(increment > 0)
intrinseca 0:1f422ed56e0f 73 lcd.printf("Up ");
intrinseca 0:1f422ed56e0f 74 else
intrinseca 0:1f422ed56e0f 75 lcd.printf("Neutral");
intrinseca 0:1f422ed56e0f 76
intrinseca 0:1f422ed56e0f 77 wait_ms(10);
intrinseca 0:1f422ed56e0f 78 }
intrinseca 0:1f422ed56e0f 79 }
intrinseca 0:1f422ed56e0f 80 }