stm32-data
stm32-data copied to clipboard
SerialAudioInterface Inconsistently defined
This started as a bug reporting missing definition for the SAI on the L431, but I did some digging and it's missing/present somewhat arbitrarily across the families. It also appears that some parts have the wrong version of the SAI mapped for them, although the consequences are pretty minor, since it's only a few new registers over the versions. In particular, my reference manual for the L462 says it's the same as the STM32L43xxx/44xxx/45xxx/46xxx, which doesn't have GCR, while STM32L47xxx/STM32L48xxx/STM32L49xxx do have GCR. I've not clicked on every part in the meta-pac, but I clicked through some of the parts listed by ST and definitely noticed missing peripherals in:
- F4 (ex. F413, F423)
- F7 (ex. F722, F730, but not F750)
- L4 (ex. F431, but not L476)
- H5
- U5
I'm not sure I'd call this a high-priority fix, given the other shortcomings on using the SAI from rust (circular double-buffered DMA), but I wanted to make sure it's on the radar, even as I've just written code that does bit manipulation, rather than vendor a copy of sai_v1 in my codebase.
Our new writableringbuffer has a good story for outgoing analog and sai, if these issues can be resolved.