Commit Graph

59204 Commits

Author SHA1 Message Date
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
bugobliterator 73aed28be7 ArduCopter: use HAL_ENABLE_DSHOT instead of DISABLE_DSHOT 2023-08-15 06:53:48 +10:00
bugobliterator 4ce32c74de AP_HAL: add default DISABLE_DSHOT as false
use HAL_ENABLE_DSHOT instead of DISABLE_DSHOT
2023-08-15 06:53:48 +10:00