This past week, I worked on 3 main things:
- Figuring out how the embedded software will work at a high level (state machine) – this involved knowledge from 18-240 for creating an FSM
- Getting started with the electronic hardware (Teensy4.1 and making sure I can individually address the LEDs) – this involved
- Figuring out how to parse a MIDI file – this involved lots of binary and hex conversion, a 15-122/18-213/18-240 skill
This is the proposed state machine for the embedded code:
Magenta shows inputs that originate as interrupts set by the RPI (teensy reads the input on its digital pins).
Red are inputs to the FSM originating from other parts of the microcontroller software.
I am able to address the LEDs individually:
I got a MIDI file from the web and manually parsed it according to the MIDI file standard to ensure I understood what we were working with. Here are my notes:
This progress is on schedule. I obtained a sample MIDI file by the time outlined in the Gantt Chart. I also procured a Teensy from Owen by the date we set in the schedule. The schedule says to be able to parse a MIDI file by Oct.8, and I am on track for that. We need to individually address each LED by Oct.15th, and I can already do that (but I will need to revisit this when the PCBs arrive).
Tasks for the next week:
- Give the Design Review Presentation
- Light up LEDs according to the frequency and timing specified in the MIDI file
- Implement a preliminary state machine in the embedded software