There has been a long time since my last post, it’s because i spent my time working on RoseRolls. We made some improvements, even if we have a lot of problems because of the failing electrical connections. We continue to test our hardware and making each module work one a a time.
We can now make every led on RoseRolls blink and adjust their brightness. It seems easy and simple but there weren’t enough timers implemented in Chibios/RT for the STM32F4xx. I will let Selrak explain it further because he did it with Clementine.
We can play some music, RoseRolls is able to play several melodies on it’s buzzer, however we are disappointed that in the shell we can’t hear it well. We can also play some notes streamed via Bluetooth using our own protocol.
We plugged 5 IRDA transceivers on 4 uarts (we have to emulate one). Using Chibios/RT serial driver we can talk to them. Note that you have to enable the IREN bit in CR3 register to use the IRDA SIR encoder/decoder of the uart. Furthermore you have to settle the USART_GTPR register, the PSC bits configures a prescaler which configures the acceptable pulse witdh of incoming data. Since IRDA protocol says that when emitting the pulses should be as short as possible instead of having a logic 1 as low level it has a logic 1 as a short pulse. That’s why we have to define a maximum input pulse length.
To summarize: put CR3 : IREN bit = 1, USART_GPTR : PSC[7:0] = 1 for IRDA SIR normal mode. And let Chibios/RT serial driver to the rest.