Friday it was the communication challenge. It was tough: it began at 8:30 and ended at 23:30. There were several steps to complete. In the first step we had to retrieve the instructions on a server using the STM32 board. The next steps were about listening to sound downloaded from the server through headphones using the board.
In order to get the headphones working, I had to set up the audio codec, which uses I2S. Once it was done, I was able to listen to the first audio instruction by downloading it entirely to the board RAM. It contained the path to the next audio instruction. The next audio instruction was too big for the board RAM so I had to implement a “streaming” system to hear it. Each time a packet containing audio was downloaded, it was put in a queue. I set up an interrupt to fire up when the codec was ready to get a sample (64k times per second) to feed the codec a 16-bit sample from the queue. It worked fine.
By luck, I had not major problems or mysterious bug during the communication challenge so I managed to finish it the first. Now I can get back to the PLUME project. I hope there will be enough free time during the Athens week (which I will spend in Télécom) to make progress on it.