Giovanni wrote:One of those "feel stupid" moments...
I feel pretty silly too - I was staring at that line hard for a while before I finally noticed.
The good news is this has fixed a lot of stuff for the ArduPilot port on the H743
- OTG1 USB
- SPI works (3 buses in parallel, 3 IMUs, 2 baros, compass and FRAM)
- I2C works, with DMA (2 buses)
- 5 UARTs (but without DMA, using the ArduPIlot driver that makes DMA optional)
- PWM out works (6 outputs on main MCU)
- DCache and bouncebuffers all working (only on AXI SRAM for now)
- clock tree seems good, though I've only managed 384MHz with 8, 16 and 24 MHz crystals. Maybe we'd need 25MHz crystal to get 400?
- PWM buzzer
- LEDs (both I2C and GPIO)
things that don't work:
- ADC inputs (I haven't yet looked into that)
- UART DMA
- DShot PWM (needs a DMAR trick that will need some work)
The one I'll probably look at first is UART DMA, as that is the only one standing in the way of a first flight test. We have to use DMA on the UART going to the IOMCU (a STM32F103) as it runs as 1.5MBit and is timing critical.
It's getting close!