updated 7seg controls for new 7 seg boards
Dependencies: PixelArray WS2812 mbed
Fork of frdm_pong_table_controller by
Diff: main.cpp
- Revision:
- 10:554301a1579b
- Parent:
- 9:f3f194982bb3
- Child:
- 11:4a73fdc60de6
--- a/main.cpp Tue Jul 11 13:02:44 2017 +0000 +++ b/main.cpp Wed Jul 12 10:50:45 2017 +0000 @@ -34,8 +34,9 @@ // enable the internal pull-down resistor on idleButton idleButton.mode(PullDown); - // attach idle button isr to rising edge of button press - idleButton.rise(&idleButtonISR); + idleButton.attach_asserted(&idleButtonISR); + + idleButton.setSampleFrequency( 10000 ); // Set brightness of the 4 LED strips robotScoreLED.setII(0xB0); @@ -84,13 +85,13 @@ double pbbValue = playerBreakBeam; // Read Player Break beam // IF PLAYER HAS SCORED A GOAL - if (((prevRbbValue - rbbValue)>0.03)|| (PB1==0)) { + if (((prevRbbValue - rbbValue) > 0.03) || (PB1==0)) { //pc.printf("Player has scored a goal \n\r"); HandleGoal(false); } // IF ROBOT HAS SCORED A GOAL - if (((prevPbbValue - pbbValue) > 0.03)|| (PB2==0)) { + if (((prevPbbValue - pbbValue) > 0.03) || (PB2==0)) { //pc.printf("Robot has scored a goal \n\r"); HandleGoal(true); } @@ -145,8 +146,6 @@ // flash 0-0 on display WriteScores(); - idleButton.enable_irq(); - idle_button_pressed = 0; } @@ -160,8 +159,6 @@ FigureOf8Animation(true,true,true,true,1); - idleButton.enable_irq(); - idle_button_pressed = 0; } @@ -460,6 +457,8 @@ // IDLE state idle_flag = 0; + idle_button_pressed = 0; // allow interrupt to fire + memset(mainArray, 0, sizeof mainArray); } @@ -1449,6 +1448,8 @@ { memset(mainArray, 0, sizeof mainArray); + idle_button_pressed = 1; // doesn't allow button isr to change idle status + if (player == true && robot == true) { for (int i = 0; i < 35; i++) { @@ -1602,6 +1603,5 @@ if (idle_button_pressed == 0) { idle_flag = !idle_flag; idle_button_pressed = 1; - idleButton.disable_irq(); } }