updated 7seg controls for new 7 seg boards
Dependencies: PixelArray WS2812 mbed
Fork of frdm_pong_table_controller by
Revision 11:4a73fdc60de6, committed 2017-08-01
- Comitter:
- DanGibbons
- Date:
- Tue Aug 01 17:10:22 2017 +0000
- Parent:
- 10:554301a1579b
- Child:
- 12:7f428ce8ab35
- Commit message:
- Rev 2.1
Changed in this revision
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
| main.h | Show annotated file Show diff for this revision Revisions of this file |
--- a/main.cpp Wed Jul 12 10:50:45 2017 +0000
+++ b/main.cpp Tue Aug 01 17:10:22 2017 +0000
@@ -39,9 +39,9 @@
idleButton.setSampleFrequency( 10000 );
// Set brightness of the 4 LED strips
- robotScoreLED.setII(0xB0);
+ robotScoreLED.setII(0x60);
robotScoreLED.useII(WS2812::GLOBAL);
- playerScoreLED.setII(0xB0);
+ playerScoreLED.setII(0x60);
playerScoreLED.useII(WS2812::GLOBAL);
// Set scores to 0
@@ -76,8 +76,27 @@
if (idle_button_pressed == 1) { // button just pressed
pc.printf("\nPLAY");
+
+ if (previous_state == 0) {
+
+ IdleToPlayTransition();
+
+ }
+ else {
+
+ idle_button_pressed = 0;
- IdleToPlayTransition();
+ DrainAnimation(true,false,true,false);
+
+ wait(1);
+
+ robotScore = 0;
+
+ playerScore = 0;
+
+ WriteScores();
+
+ }
}
@@ -86,21 +105,21 @@
// IF PLAYER HAS SCORED A GOAL
if (((prevRbbValue - rbbValue) > 0.03) || (PB1==0)) {
- //pc.printf("Player has scored a goal \n\r");
+ pc.printf("Player has scored a goal \n\r");
HandleGoal(false);
}
// IF ROBOT HAS SCORED A GOAL
if (((prevPbbValue - pbbValue) > 0.03) || (PB2==0)) {
- //pc.printf("Robot has scored a goal \n\r");
+ pc.printf("Robot has scored a goal \n\r");
HandleGoal(true);
}
prevRbbValue = rbbValue;
prevPbbValue = pbbValue;
- //pc.printf("PlayerGoal: %f, RobotGoal: %f \r\n",pbbValue,rbbValue);
- //pc.printf("Player: %i v %i : Robot \r\n",playerScore,robotScore);
+ pc.printf("PlayerGoal: %f, RobotGoal: %f \r\n",pbbValue,rbbValue);
+ pc.printf("Player: %i v %i : Robot \r\n",playerScore,robotScore);
}
@@ -568,7 +587,7 @@
DrainAnimation(true,false,true,true); // drain both scores away with the player score in random colours
// reset robot score brightness
- robotScoreLED.setII(0xB0);
+ robotScoreLED.setII(0x60);
robotScoreLED.useII(WS2812::GLOBAL);
} else {
@@ -587,7 +606,7 @@
DrainAnimation(true,true,true,false); // drain both scores away with the robot score in random colours
// reset player score brightness
- playerScoreLED.setII(0xB0);
+ playerScoreLED.setII(0x60);
playerScoreLED.useII(WS2812::GLOBAL);
}
@@ -1601,7 +1620,13 @@
void idleButtonISR()
{
if (idle_button_pressed == 0) {
- idle_flag = !idle_flag;
+ if (idle_flag == 0) {
+ previous_state = 0;
+ }
+ else {
+ previous_state = 1;
+ }
+ idle_flag = 1;
idle_button_pressed = 1;
}
}
--- a/main.h Wed Jul 12 10:50:45 2017 +0000 +++ b/main.h Tue Aug 01 17:10:22 2017 +0000 @@ -63,6 +63,7 @@ // Flags volatile int idle_flag = 0; volatile int idle_button_pressed = 0; +volatile int previous_state = 0; // Robot Bream Beam value double prevRbbValue; // Previous Robot break beam value
