This week I primarily worked on the design report. This was a very involved task, as I came to the conclusion that I need to have effective backups planned for I2C potentially not working. I did not realize how small the working transmission distance was for it, and as such I had to conduct a lot of research into exactly how I would organize our I2C system and what potential alternatives could be. We are going to order some I2C buffers to see how much they effect the latency of our system, and I will do some tests to see how the arbitration we will need to do affects our performance. I am also now considering SPI and TTL over UART as options as well.
In addition to this research and writing I also made progress on getting the MIDI processing board setup. I was able to generate analog inputs with a potentiometer and send numeric MIDI data signals to the host computer. This was somewhat challenging, but now that it’s done the framework for all of the MIDI processing is basically ready to go.
I am somewhat behind schedule, as I was hoping to already be testing the Due with dummy I2C input data by now. The Design Report has taken more time than we expected, but I think I will be back on schedule by the end of the week.
By next weekend I plan to have implemented a basic I2C, SPI, and TTL network to simulate our final system. This will allow me to perform the tests I need to and gauge which protocol will work best for us. I plan to have locked in a first-pass approach by the time the design report is due. I also plan to do more testing with the Control Surface library to see which MIDI signals will work best for our application.