finished
Dependencies: C12832 DebouncedInterrupt MMA7660 mbed-rtos mbed
Diff: main.cpp
- Revision:
- 2:ff8262f6a385
- Parent:
- 1:57407e283b03
- Child:
- 3:c31a01f2c064
diff -r 57407e283b03 -r ff8262f6a385 main.cpp --- a/main.cpp Mon Mar 02 12:56:15 2015 +0000 +++ b/main.cpp Tue Mar 03 13:42:32 2015 +0000 @@ -30,8 +30,8 @@ Queue<message_t, 16> queue; //Digital input -DigitalIn coin(p14); -InterruptIn button(p15); +//DigitalIn coin(p14); +InterruptIn button(p14); //Analog input AnalogIn push(p19); @@ -46,8 +46,12 @@ DigitalOut led_B(p25); //LED RGB Blue //leds for debug -DigitalOut led4(LED4); //LED RGB green -DigitalOut led3(LED3); //LED RGB green +DigitalOut led4(LED4); //LED +DigitalOut led3(LED3); //LED +DigitalOut led2(LED2); //LED + +//Global varible +int button_press=0; void timeout_event(void const *n) @@ -64,26 +68,23 @@ void button_event_thread(void const *argument) { - int button_press=0; + while (true) { - - //debouce delay for switch - if (coin) + + if (button_press == 1) { - button_press = 1; - if (button_press == 1 & coin == 0) - { - - //event via a message queue - message_t *message = mpool.alloc(); - message->event = BUTTON_PRESS; - queue.put(message); - - led3 = !led3; - button_press = 0; - } + + //event via a message queue + message_t *message = mpool.alloc(); + message->event = BUTTON_PRESS; + queue.put(message); + + led3 = !led3; + button_press = 0; + Thread::wait(500); } + } } @@ -96,9 +97,9 @@ { //debouce delay for switch - Thread::wait(2000); + - if (tilt_value_Y <= MMA.y()-0.1 ^ tilt_value_Y >= MMA.y()+0.1 ) + if (tilt_value_Y <= MMA.y()-0.2 ^ tilt_value_Y >= MMA.y()+0.2 ) { //event via a message queue @@ -107,10 +108,11 @@ queue.put(message); led3 = !led3; + Thread::wait(1500); tilt_value_Y = MMA.y(); } - + } @@ -122,16 +124,16 @@ { //debouce delay for switch - Thread::wait(1000); - if (push_value >= push.read()- 0.05 ^ push_value <= push.read()+ 0.05 ) + + if (push_value >= push.read()- 0.15 ^ push_value <= push.read()+ 0.15 ) { - push_value = push.read(); //event via a message queue message_t *message = mpool.alloc(); message->event = PUSH; queue.put(message); led3 = !led3; - + Thread::wait(1000); + push_value = push.read(); } } @@ -156,12 +158,14 @@ } + + void Button_Inter() { - -//Flash_LED_Thread.signal_set(0x1); - -} +//Flash_LED_Thread.signal_set(0x1); +button_press=1; + +} int main (void) {