1 Reply Latest reply on May 12, 2016 6:19 PM by jim.gilmartin

    Final Project for Microcontrollers Class

    druatta_1624726

      Hi,

         

      I have a final project for my Microcontrollers class that is due in three weeks. I have attached the project below, and I will post my questions about the project as well. I would like to start a discussion regarding any problems I may have in the upcoming weeks, and how to best approach this project.

         

      Questions:

         

      1. At what point in the development process should we implement our SD Card?
      ------------------
      2. What does the game's pseudocode look like?
      ------------------

      3. In the project evaluation rubric, some of the Robustness criteria include "Periodically repeats moves on Tx" and "Checks row and column numbers in received frames". What do these mean?
      ------------------

      4. How can we incorporate multiple lab projects into one TopDesign?
      ------------------

      5. What major pitfalls are there in this project, and how can I avoid them?
      ------------------

      6. Once I write my game logic, should I test it via USB first and then test it using the LED Display?
      ------------------

      7. What other hardware design tools besides Eagle can I use?
      ------------------

      8. What does a successful timeline (with weekly deadlines) for this project look like?
      ------------------

      9. What steps is the project timeline I've posted below missing?
      A. Test 4x4 display from lab5 by displaying blue, red, and green LEDS

      B. Test keyboard input from lab4 by ensuring the USB outputs to the terminal
      C. Test keyboard and display integration by changing the LED colors via keyboard input

      D. Test game logic functions via USB print statements

      E. Test game logic on the LED Display

      F. Test the UART to UART link from lab3 using the C String library to parse data

      G. Test the WiFi module
      ------------------

      10. What are the biggest timesinks in this project? What aspects are easiest to finish?
      ------------------

      11. Will this program push the limits of any hardware time constraints? (display refresh, UART)
      ------------------

      12. Should we write separate source files for each hardware component with attached test harnesses before integrating them into a single main.c file?
      ------------------

      13. What contents of the report should I create/outline before I start building/testing the physical system?
      ------------------

      14. What is an example of a full data packet sent via UART?
      ------------------

      15. What is the purpose of the SD card?
      ------------------

      16. From the lab manual on Data Format: "The sender must transmit a packet containing the most recent move by the local player approximately once every 500 milliseconds. The receiver must ignore any duplicate moves or packets with errors (bad player ID, illegal row/column numbers, etc.)."

      Would we use a combination of timers and interrupts to send/receive a packet every 500 milliseconds, and how would we test for duplicate moves or packets with errors?
      ------------------
      17. What are some useful functions that I can create or take from the existing C libraries to expedite software creation/testing process?
      Thank you for your time.
      Sincerely,
      Daniel
       

        • 1. Re: Final Project for Microcontrollers Class
          jim.gilmartin

          Most of what you are asking is in your Spec sheet. The frame mentioned is the data frame or in other words your protocol. It is in your spec sheet too. Start reading about the components you will be using especially the UART.  The wi fi modle has its own API so you dont need to worry about it too much.

             

          Id recommend if it is not provided, a CY8CKIT-050 kit. Or another one that has a lcd display you can use for debugging.

             

           

             

          Anyhow it is going to take every waking minute of the next 3 weeks to finish it so get to work.