* chibios: update submodule to stable_21.11.x and sync HAL config
Switch the ChibiOS submodule to the upstream stable_21.11.x branch,
update the submodule URL, and adjust the Paparazzi ChibiOS config files
to match the newer HAL layout.
This commit is intentionally limited to the submodule/config update and is
known to leave Paparazzi in a non-building state until the follow-up RTOS
monitor compatibility fix lands.
* rtos_mon: fix ChibiOS 21.11 build break and sample CPU load by interval
Update the RTOS monitor to use the current ChibiOS kernel statistics API,
fix the thread bookkeeping regressions introduced by the submodule update,
and compute CPU/thread load from deltas between monitoring samples instead
of lifetime cumulative counters.
This restores compilation of rtos_mon_arch.c with the updated ChibiOS tree
and makes the reported CPU load reliable over the reporting window.
* chibios: enable BDMA for H7 ADC3
Configure ADC3 on STM32H7 to use the BDMA path expected by the
updated ChibiOS ADCv4 driver, and provide the companion DMA/BDMA
stream definitions used by the new configuration checks.
This fixes H7 builds that fail with STM32_ADC_ADC3_DMA_STREAM being
referenced while ADC3 is intended to run on BDMA.
* rtos_mon: use the ChibiOS 21.11 core memory API
Adjust rtos_mon_arch.c to the current chCoreGetStatusX() API, which now
returns the amount of free core memory directly instead of filling a
memory_area_t structure.
This fixes the remaining build break in the RTOS monitor with the updated
ChibiOS tree.
* tawaki: enable BDMA for H7 ADC3
Mirror the H7 ADC3 configuration fix in the Tawaki board mcuconf so the
updated ChibiOS ADCv4 driver takes the ADC3 BDMA path expected on STM32H7.
* shell: fix ChibiOS 21.11 core memory query API
* matek: enable BDMA for H7 ADC3
* chibios: include newlib syscall bindings
* can: use ChibiOS 21.11 FDCAN defaults and API
* chibios: restore submodule URL to paparazzi fork
* use more precise STATISTICS module instead of deprecated PROFILING one to get accurate cpu load informations
* enable sys_mon module in drop1 airframe
* [abi] Add timestamp to AGL and BARO_ABS
* [make] Add support for c++0x for all architectures
* [math] Add air density calculation
* [gps] Add horizontal and vertical position accuracy
* [boards] PX4FMU change default baudrate and add SBUS
* [ins] Add EKF2
* [tests] Add Bebop2 with EKF2
* [nps] Fix jsbsim simulator initialisation and GPS accuracy
* Update AggieAir config
* Show total heap free space
* Conf fixes
* Initial commit of corroded paparazzi
* Added RNG support for ChibiOS
* Better build process for RUST modules
* Better description
* Fix typo
* Compile demo module for both NPS and AP targets, some rust magic had to happen
* Note in makefile
* Cleaner building of Rust modules
* Remove excess aiframes
* Prep work for enabling RNG on ChibiOS + STM32F4. Need to write a driver for ChibiOS-Contrib, so I am leaving that part for later
* RNG driver will eventually be a part of ChibiOS proper, hence simplify the ifdef guards
* Clean up modules
* Changes in the rust builds
* Remove unsupported RNG for ChibiOS
* Better separate compatibility packages
* Minor fixes
* Fix halconf.h
* [board] support of the Chimera autopilot based on STM32F7
- based on ChibiOS only (updated to master for proper support of F7)
- requires some specific ram for DMA operations
- SBUS driver updated and support of internal inverted logic option of F7
* [chibios] fix some compilation errors
* [chibios] fix some a few PR comments
- test less MCU types
- support F1 for uart driver
- more autodetect for VTOR_INIT
* use correct path
* choose a working version of chibios
* [chibios] fix some comments from PR review
- add some doc
- protect LED
- update TRUE/FALSE for lowercase
- pick a slightly older version of chibios (wrong path in makefile not
fixed yet)
[chibios] Add support for a full ChibiOS arch
This is replacing the previous mix chibios/libopencm3:
- all drivers are ported to the new arch
- it was hard to go forward and take advantages of the RTOS, now it is much easier
- switch to v3 of ChibiOS
- for now, it is functionaly the same than before
- the previous variable length array mechanism used internaly by the
sdlog is replaced by a more efficient library called TLSF (allow
constant time malloc/free)