This is to avoid potential race conditions during startup.
All startup code runs sequentially atm, so this is just for robustness
for later (e.g. concurrent pwm_out and dshot start).
This allows modules to do a first-come-first-serve pin/timer reservation
on bootup.
E.g. camera trigger reserves any of the pins, and then PWM/DShot output
will just use the rest of the available pins.
Reduces CPU load by almost 1.5% @ 2khz on F4 and F7.
This changes the motor ordering on boards where the timer ordering does
not match the order of the timer usage in the channels defintion.
Only omnibus f4sd is affected.
This also simplifies the API a bit, since we anyway have to change the
drivers to pass additional information (the bus device index).
The orientation flag is merged with the rotation.
nxp/s32k14x:board_identity: Return length of mfguid
nxp/s32k14x:CAN driver
nxp/s32k14x:Drver Added ABORT on error
canbootloader:Use N words for first word
canbootloader:Ensure the up_progmem API always defined
* stm32_common: Add support for STM32F42x/STM32F43x rev. 5/B
According to ST, both 5 and B share the same REV_ID.
Signed-off-by: Alexey Rogachevskiy <sfalexrog@gmail.com>
* stm32_common: Change comment to match code, change enum names to match revisions
- drivers/tone_alarm: move to ModuleBase and purge CDev (/dev/tone_alarm0)
- drivers/tone_alarm: only run on tune_control publication (or scheduled note) rather than continuously
- drivers/tone_alarm: use HRT to schedule tone stop (prevents potential disruption)
- msg/tune_control: add tune_id numbering
- systemcmds/tune_control: add "error" special case tune_id
- move all tune_control publication to new uORB::PublicationQueued<>
- start tone_alarm immediately after board defaults are loaded to fix potential startup issues
- for SITL (or other boards with no TONE output) print common messages (startup, error, etc)
- Nuttx only process all suspend & resume scheduling notes when top is running, otherwise only track IDLE
- convert cpuload and print load to c++
- delete unused fields from print_load struct
- update hrt_store_absolute_time (previous unused)
* X7Pro adds CAN driver
* UAVCAN timer selection moved to default.cmake
* Modify some details about @CUAVcaijie UAVCAN timer selection moved to default.cmake
* Put some timer parameters to micro_hal.h from board_config.h. Fix all h7 boards
Co-authored-by: honglang <honglang@cuav.net>
Todate I have not fould a way to differentiate a 74 from a 75.
as all parts map to Device ID 0x450: STM32H742, STM32H743/753
and STM32H750.
One the CPU is fully differentiate in Nuttx, this can be a
#ifdef.