updated 7seg controls for new 7 seg boards

Dependencies:   PixelArray WS2812 mbed

Fork of frdm_pong_table_controller by Demo Team

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();
     }
 }