User Tools

Site Tools


lab_6

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

lab_6 [2018/05/25 09:04]
hutch [globals Code]
lab_6 [2018/11/14 13:39] (current)
hutch
Line 27: Line 27:
   * Use a **''​verifySequence''​** state machine to verify that the sequence of user touches matches the computer-generated sequence.   * Use a **''​verifySequence''​** state machine to verify that the sequence of user touches matches the computer-generated sequence.
   * Use a **''​simonControl''​** state machine to control everything at the top level.   * Use a **''​simonControl''​** state machine to control everything at the top level.
 +
 +==== Milestones ====
 +
 +You will complete this lab in three milestones:
 +  * Milestone 1: Implement the ''​buttonHandler''​ state machine and ''​simonDisplay''​ code. You pass off this milestone by demonstrating that your code works properly with the provided ''​buttonHandler_runTest()''​ code (it should look like the provided video). Also implement the ''​globals''​ code.
 +  * Milestone 2: Implement the ''​flashSequence''​ and ''​verifySequence''​ state machines. Demonstrate that these work properly by showing the TAs that your code models the behavior shown in the relevant video.
 +  * Milestone 3: Implement the top-level ''​simonControl''​ state machine so that you implement a Simon game with the the same behavior as shown in the demo video for the Simon game. Pass off your game to the TAs.
 +
 +----
  
 The figure below shows the "​architecture"​ for the Simon game and shows how the state machines communicate with each other. The figure below shows the "​architecture"​ for the Simon game and shows how the state machines communicate with each other.
Line 610: Line 619:
             verifySequence_disable(); ​                                 // Interlock: first step of handshake.             verifySequence_disable(); ​                                 // Interlock: first step of handshake.
             verifySequence_tick(); ​                                    // Advance the verifySequence machine.             verifySequence_tick(); ​                                    // Advance the verifySequence machine.
 +            buttonHandler_tick();​
             utils_msDelay(TICK_PERIOD_IN_MS); ​                         // Wait for tick period.             utils_msDelay(TICK_PERIOD_IN_MS); ​                         // Wait for tick period.
             verifySequence_enable(); ​                                  // Interlock: second step of handshake.             verifySequence_enable(); ​                                  // Interlock: second step of handshake.
Line 680: Line 690:
  
 You will call all of your tick functions and provide necessary initializations in the ''​main()''​ function that is contained by the ''​simonMain.c''​ file. You will call all of your tick functions and provide necessary initializations in the ''​main()''​ function that is contained by the ''​simonMain.c''​ file.
- 
----- 
-==== Milestones ==== 
- 
-You will complete this lab in three milestones: 
-  * Milestone 1: Implement the ''​buttonHandler''​ state machine and ''​simonDisplay''​ code. You pass off this milestone by demonstrating that your code works properly with the provided ''​buttonHandler_runTest()''​ code (it should look like the provided video). Also implement the ''​globals''​ code. 
-  * Milestone 2: Implement the ''​flashSequence''​ and ''​verifySequence''​ state machines. Demonstrate that these work properly by showing the TAs that your code models the behavior shown in the relevant video. 
-  * Milestone 3: Implement the top-level ''​simonControl''​ state machine so that you implement a Simon game with the the same behavior as shown in the demo video for the Simon game. Pass off your game to the TAs. 
  
 ---- ----
lab_6.1527260683.txt.gz ยท Last modified: 2018/05/25 09:04 by hutch