Commit Graph

59206 Commits

Author SHA1 Message Date
Peter Barker
9d74b3d2d9 AP_NMEA_Output: remove from 1MB boards 2023-08-15 08:45:30 +10:00
Peter Barker
f6e93ad12b Tools: add build_options.py option to remove rallypoint protocol 2023-08-15 08:37:17 +10:00
Peter Barker
7764d1d904 GCS_MAVLink: add build_options.py option to remove rallypoint protocol 2023-08-15 08:37:17 +10:00
Peter Barker
941e9785d4 AP_GPS_NOVA: avoid infinite reading of bytes
if we have a very fast stream of garbage coming in available() may never return 0
2023-08-15 08:36:13 +10:00
yjuav
ac993753eb Modify the LED light pins and adjust the direction of the IMU and COMPASS sensors. 2023-08-15 08:35:26 +10:00
yunjiuav
5671e502d3 HAL_ChibiOS: added YJUAV_A6SE support 2023-08-15 08:35:26 +10:00
yunjiuav
b07c921cac Tools:add bootloader for YJUAV_A6SE bd 2023-08-15 08:19:30 +10:00
Peter Barker
0dae9b46ee SRV_Channel: correct description of SERVO_RC_FS_MSK 2023-08-15 08:16:16 +10:00
Peter Barker
b8c1367aac SRV_Channel: avoid using bad RC data in passthrough code
we may not have valid input but not be at the stage of declaring an RC failsafe.
2023-08-15 08:16:16 +10:00
Peter Barker
a430232e1c autotest: add test for servo output values in scaled passthrough 2023-08-15 08:16:16 +10:00
Peter Barker
6f65b889c7 autotest: add context_set_message_rate_hz
for magically unsetting message rates after we are no longer interested in them
2023-08-15 08:16:16 +10:00
Peter Barker
808fcbda0e GCS_MAVLink: fix airspeed cal / format commands via non-USB telemetry 2023-08-15 08:13:32 +10:00
Andy Piper
9fb2341a1d IO_Firmware: dshot firmware supporting 8 channels and f103
update for improved latency and mode setting
add cpuid/mcuid reporting
correct rc input timing on regular iofirmware
update to support increased system clock on f103 and dshot600
update to support reversed and reversible masks
2023-08-15 06:53:48 +10:00
Andy Piper
75c1ad6efa AP_HAL_ChibiOS: explicitly set dshot rate when using iomcu 2023-08-15 06:53:48 +10:00
Andy Piper
c4cfc5dbe4 AP_IOMCU: fix eventing mask and some minor cleanups 2023-08-15 06:53:48 +10:00
Andy Piper
0d7fbc7bf3 github: change ccache board comparisons 2023-08-15 06:53:48 +10:00
Andy Piper
2af3d53eac AP_IOMCU: use a command queue for dshot commands and telemetry requests to avoid losing data 2023-08-15 06:53:48 +10:00
Andy Piper
c6c78a9c32 AP_HAL_ChibiOS: ensure reverse and reversible masks are applied to iomcu 2023-08-15 06:53:48 +10:00
Andy Piper
d9f42236ad AP_IOMCU: support dshot600 on f103 2023-08-15 06:53:48 +10:00
Andy Piper
52dbac1de7 AP_HAL_ChibiOS: run STM32F103 core clock at 72Mhz on 24Mhz oscillators 2023-08-15 06:53:48 +10:00
Andy Piper
33c40eaba3 AP_HAL_ChibiOS: add iomcu dshot for Pixhawk1, Pixhawk5X and fmuv5 2023-08-15 06:53:48 +10:00
Andy Piper
876f4f7a8f AP_HAL_ChibiOS: dshot iofirmware for Durandal, Pixhawk6C, CubePurple and CubeYellow 2023-08-15 06:53:48 +10:00
Andy Piper
af256f4b1b AP_IOMCU: output mcuid on f103 if able to 2023-08-15 06:53:48 +10:00
Andy Piper
9ac683a350 GCS_Common: report ARM CPUID on startup 2023-08-15 06:53:48 +10:00
Andy Piper
9db5d0bf9b AP_IOMCU: reduce latency for oneshot
correctly update outmode modes when requested
get ARM CPUID and display in startup banner
ensure correct rc input timing on 1Khz iofirmware
2023-08-15 06:53:48 +10:00
Andy Piper
74fb1a91ca scripts: build f103 variants of iofirmware 2023-08-15 06:53:48 +10:00
Andy Piper
cf9a3ada28 GCS_MAVLink: print out IOMCU mcuid on startup 2023-08-15 06:53:48 +10:00
Andy Piper
1c646d2986 AP_HAL_ChibiOS: use f103 iofirmware for Pixhawk6X 2023-08-15 06:53:48 +10:00
Andy Piper
c057cc5485 AP_HAL_ChibiOS: add get_output_mode() and use it to print correct banner for iomcu
add support for undef of STM32 lines and DMA_NOMAP
add support for F103 running at 24Mhz
add f103 variants of iofirmware
reduce memory usage in iomcu for new model
correct pwm output reporting
split iofirmware into config + mcu to allow f103 definition
don't enable non-existant timers on F103
2023-08-15 06:53:48 +10:00
Andy Piper
7b96f66413 AP_IOMCU: add support for getting output mode and mcuid
give an appropriate MCUID on F103
2023-08-15 06:53:48 +10:00
Andy Piper
2dd4f3f581 AP_BoardConfig: control dshot availability with HAL_WITH_IO_MCU_DSHOT
correct parameter id for BRD_IO_DSHOT
2023-08-15 06:53:48 +10:00
Andy Piper
c631b79dde AP_HAL: add get_output_mode() and HAL_WITH_IO_MCU_DSHOT 2023-08-15 06:53:48 +10:00
Andy Piper
83fddd0d61 AP_HAL_ChibiOS: enable iomcu-dshot on CubeBlack 2023-08-15 06:53:48 +10:00
Andy Piper
bb730e8e24 AP_IOMCU: inverted locking model 2 2023-08-15 06:53:48 +10:00
Andy Piper
fb5a92ee53 autotest: parse enums of the form FOO = BAR(x) 2023-08-15 06:53:48 +10:00
Andy Piper
ec1edea1da AP_IOMCU: add support for shared DMA to iomcu-dshot
new event-based update() loop for iomcu to allow for DMA channel sharing
spin event loop at 2Khz to give dshot thread ample access to DMA channels
correct transmission complete callbacks
ensure peripheral is re-enabled on DMA resumption
ensure DMA transactions do not get clobbered by locking
restructure callbacks for shared and non-shared DMA cases
ensure RC updates happen at 1Khz
increase expected delay at startup
2023-08-15 06:53:48 +10:00
Andy Piper
10a612566a AP_HAL_ChibiOS: ensure shared DMA works in IOMCU
enable TIM4 in shared mode on IOMCU for dshot
stop the PWM peripheral in rcout DMA swapping on IOMCU to prevent UART corruption
provide debugging options on iomcu dshot
support unshared DMA with iomcu dshot
optimize rcout on iomcu
tune iomcu stack for 8 channels
2023-08-15 06:53:48 +10:00
bugobliterator
de0f875191 IO_Firmware: dshot iofirmware and build script 2023-08-15 06:53:48 +10:00
Andy Piper
3c42f1b7d9 AP_HAL_ChibiOS: disable stack checking on iomcu 2023-08-15 06:53:48 +10:00
Andy Piper
9611baf148 AP_Vehicle: soft reboot iomcu on soft reboot 2023-08-15 06:53:48 +10:00
Andy Piper
837c81af5e AP_HAL_ChibiOS: fix sending of dshot commands to all channels 2023-08-15 06:53:48 +10:00
Andy Piper
e6e0543b8a AP_IOMCU: propagate dshot rates through to IOMCU
implement dshot ESC telemetry
add support for channel enablement/disablement
add stack checks and reporting for MSP stack
wait correct timeout in tickless mode
ensure that dshot sees all pwm updates as the occur in order to maintain periodicity
ensure dshot options are propagated on reset
implement dshot commands
ensure oneshot/125 and mode are setup correctly
add instrumentation for process stack
prevent illegal recursive locks
ignore requests for dshot 600
add support for soft reboot of iomcu
2023-08-15 06:53:48 +10:00
bugobliterator
9a21297cd1 AP_HAL_ChibiOS: add support for DShot on IOMCU
set timer counter size to be a byte wide
use HAL_DSHOT_ENABLED instead of DISABLE_DSHOT
build iomcu-dshot from existing iomcu
correct defines for DMAR size on iomcu
allow iomcu dshot rate to be configured from FMU
correct DMA allocation for dshot on iomcu
allow debug builds on iofirmware
ensure dshot is enabled on iomcu dshot
support proper iomcu dshot output thread triggered by FMU
allow selective disablement of serial LEDs and passthrough
disable serial LEDs and passthrough on iomcu-dshot
propagate ESC telemetry to iomcu
dshot_send_groups() for iomcu
remove use of ICU on iomcu for dshot. only allocate possible DMA channels
rename serial passthrough and dshot defines
update dshot docs
resize dshot iomcu main stack to minimum
correct dshot prescaler usage and bit_width_mul calculation
use ChibiOS in tickless mode on iomcu-dshot so that virtual timers can be used
propagate dshot commands to iomcu
passthrough oneshot125 to iomcu
2023-08-15 06:53:48 +10:00
Andy Piper
f233a65580 AP_HAL_ChibiOS: add global interrupt handlers for TIM15 and TIM17 on F1 2023-08-15 06:53:48 +10:00
Andy Piper
9642343e8e AP_BLHeli: normalize motor index correctly for iomcu running dshot 2023-08-15 06:53:48 +10:00
Andy Piper
49bdf7a295 Copter: rename dshot define 2023-08-15 06:53:48 +10:00
Andy Piper
0b4838475d AP_SerialLED: configure serial LED feature based on hal availability 2023-08-15 06:53:48 +10:00
Andy Piper
4c8b346512 AP_BoardConfig: check IOMCU is enabled when checking dshot 2023-08-15 06:53:48 +10:00
Andy Piper
1b210f8ea9 AP_HAL: support accessors for dshot_period_us
add support for selectively disabling serial LEDs and passthrough
provide mutator to allow iomcu to set dshot rate
support HAL_SERIAL_ESC_COMM_ENABLED and DISABLE_SERIAL_ESC_COMM
update dshot docs
make default serial led enablement dependent on dshot
2023-08-15 06:53:48 +10:00
Andy Piper
eacc29e81e AP_Math: do not use internal_error() on iofirmware 2023-08-15 06:53:48 +10:00