Timeline

Feb 27 - Mar 5

Mar 6 - Mar 13

  • We interfaced the joystick on the LPC board, however, we have noticed that the left side of the joystick does not function properly. Upon further inspection, we realized that the switch connected to port 2 pin 23 is always closed which is causing the left side of the joystick to malfunction. We have decided that we will work around this issue by using one of the push buttons as the "move left" button while still using the joystick to move up, down, right, and to select.
  • We have begun interfacing the LED matrix driver, however, all of the code written for the driver is Arduino specific so we will have to port the code to LPC.
  • Unfortunately we have run into more issues. Whenever we try to debug a program we get an error message that says "Redlink API: Wire Ack Fault - target connected?". This is most likely a hardware problem and without resolving it we are unable to make any progress on our project. A potential solution that we have found involves using Flash Magic to erase everything on the processor, but as of right now Flash Magic is unable to connect to our device.

Mar 13 - Mar 20

  • We spent several days trying to fix the issue with our board, however, we were unsuccessful so we had to use a different board. Due to this setback we were not able to spend sufficient time working on the i2c driver so we had to forgo it in favor of using GPIO. Due to the limited number of GPIO pins on the board, we decided that battleship would be infeasible without the driver so we decided to make a tic tac toe game using just one 8x8 matrix.
  • The joystick on the new board works fine so no need for any push buttons.
  • We wired and interfaced the LED matrix using GPIO.
  • We represent the state of the game using two 3x3 arrays: blue_matrix and green_matrix.
  • We represent the state of the joystick using another 3x3 array: joystickPosition
  • In order to use the LED matrix properly we had to figure out a way to implement scanning. Without scanning, turning on certain arrangements of LEDs is impossible due to the fact that all LEDs in a specific row are connected and all LEDs in a specific column are connected. We scan the LED matrix by first turning off all the LEDs, then we turn on a row and turn on all LEDs that are on according to the state matrices, then we turn off that row, enable a timer, and move to the next row. When this process is done fast enough, it is impossible to tell that only one row is on at a time.
  • We interfaced the LED matrix with the joystick so the two peripherals are working smoothly.
  • We have completed the logic for the game.
  • We implemented UART to display which player wins the game.