This week was spent finishing up the Integration phase and preparing for the final assembly. I spent most of the week working on the three-way communication protocol. I started by upping the baud rate for the Micro <-> Due pipeline to 115200 Hz, as I had previously only tested it at 9600 Hz. This unfortunately led to some synchronization issues, which I eventually realized was a consequence of using a Software Serial library on the Micro to allow for debugging via the Serial Monitor. After switching to the hardware serial ports and making some adjustments I was able to fix the bug. After that I had to devise a three-way handshaking protocol with the Due as the host. The Due requests sensor data packets from the Micro on every loop of its execution. The Micro responds with any applicable accelerometer data as well as a character value representing whether or not contact with an object has been detected. If contact with an object has been detected, then the Due requests the ID for the most likely object type to be touched from the Jetson, which responds with the relevant ID. I also implemented a short polling phase to account for instability in the Jetson’s ability to detect objects. There is still a small bug with the data parsing of the Jetson’s response packet on the Due’s end, but I already have a plan to fix this as I encountered a similar bug when getting the Micro <-> Due bus setup. In addition to this I laid out a plan for soldering components to the protoboards, did research on more robust cables for the subsystem interconnects, and made significant progress on the Max Soft Synth.
As of now I’m basically on schedule. Now that the system integration is almost complete (barring a few quick fixes which I already have plans of attack for) I can focus entirely on testing and refinement this week.
I’m going to begin with unit latency tests for the MIDI generation and UART transmission, and then I will do latency tests for the overall integrated system. If I do not get the results I was hoping for in my initial metrics then I will attempt to up the baud rate of the entire system to 1MHz. Research suggests that all of the devices in our system are capable of running a serial baud rate of up to 2MHz, but evidently it can be somewhat complicated to set up. I also intend to finish the Max synth, and assist with the final assembly where I can. The goal is to have a working product by the end of the week so that we will be ready for the final presentation, as well as to have identified areas in which we can improve our metrics.