You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The AI deck uses UART2 to communicate with the STM32 when using CPX. Unfortunately the current implementation of reading/writing the UART is too slow and this causes issues (like asserting in syslink).
In the current implementation we're busy sending (i.e we're looping until TXE) and when receiving we're queuing one byte at a time. Ideally this would be moved to DMA instead, but since this conflicts with both the LED-ring and DSHOT on the Bolt/BL this is not a good option. Instead we should rewrite it to use interrupts for sending data buffers and assemble full CPX packets in the ISR before queuing them and switch task to CPX.
The text was updated successfully, but these errors were encountered:
The AI deck uses UART2 to communicate with the STM32 when using CPX. Unfortunately the current implementation of reading/writing the UART is too slow and this causes issues (like asserting in syslink).
In the current implementation we're busy sending (i.e we're looping until TXE) and when receiving we're queuing one byte at a time. Ideally this would be moved to DMA instead, but since this conflicts with both the LED-ring and DSHOT on the Bolt/BL this is not a good option. Instead we should rewrite it to use interrupts for sending data buffers and assemble full CPX packets in the ISR before queuing them and switch task to CPX.
The text was updated successfully, but these errors were encountered: