Commit Graph

31685 Commits

Author SHA1 Message Date
Andrew Tridgell 3cd4f2a002 AP_ChibiOS: handle oneshot125 separately
this sets up oneshot125 with the full 1000 steps of throttle
resolution, using a 8MHz clock. This matches the behaviour of modern
ESCs that measure PWM values with high accuracy
2018-04-07 09:10:29 +10:00
Andrew Tridgell 819de4acd5 AP_Motors: don't scale oneshot125 in AP_Motors
handle it in the HAL backends, to allow for correct resolution
2018-04-07 09:10:29 +10:00
Andrew Tridgell a1ba582a5d HAL_VRBrain: handle oneshot125 separately 2018-04-07 09:10:29 +10:00
Andrew Tridgell c3f0418333 HAL_PX4: handle oneshot125 separately 2018-04-07 09:10:29 +10:00
Andrew Tridgell 4f6240ee8a Rover: handle oneshot125 separately 2018-04-07 09:10:29 +10:00
Andrew Tridgell 0bb2c4564d AP_HAL: make hal aware of oneshot125
this separates oneshot and oneshot125 at the HAL layer, allowing the
HAL to properly handle the high timing resolution of oneshot125
(needed to use 125ns time steps, to get the full 1000 throttle steps)
2018-04-07 09:10:29 +10:00
Andrew Tridgell 67993d6e5c HAL_ChibiOS: re-instate priority boost system
this adds back in the priority boost system for the main thread when
waiting for a IMU sample. This significantly improves scheduling
performance on very busy boards like a PH2.1
2018-04-07 09:10:29 +10:00
Andrew Tridgell fff143d83e AP_BLHeli: default protocol timeout to 0
this gives best compatibility with BLHeliSuite
2018-04-07 09:10:29 +10:00
Andrew Tridgell 2c6e6e3b13 HAL_ChibiOS: removed obsolete DShot example code 2018-04-07 09:10:29 +10:00
Andrew Tridgell b77ba8fbd1 AP_BLHeli: improved debug output
allow debug on any MAVLink port
also fixed handling of passthru for oneshot125
2018-04-07 09:10:29 +10:00
Andrew Tridgell 9b22e0b7cc HAL_ChibiOS: fixed SPI rates on fmuv3
this fixes a SPI bandwidth issue on PH2.1 with 3 IMUs active
2018-04-07 09:10:29 +10:00
Andrew Tridgell 61d513e91b AP_BLHeli: use get_esc_scaling() for motor range
this fixes an issue with blhelisuite init when min is not 1000
2018-04-07 09:10:29 +10:00
Andrew Tridgell 503bd9ce65 HAL_PX4: implement get_esc_scaling() 2018-04-07 09:10:29 +10:00
Andrew Tridgell 8e59f6aad6 HAL_ChibiOS: implement get_esc_scaling() 2018-04-07 09:10:29 +10:00
Andrew Tridgell dacbef2120 AP_HAL: added get_esc_scaling() API for rcout 2018-04-07 09:10:29 +10:00
Andrew Tridgell a2eec97325 HAL_ChibiOS: raised default SPI priority
this was causing transfer errors on the primary IMU of a PH2.1 when
fast sampling was enabled
2018-04-07 09:10:29 +10:00
Andrew Tridgell c17338473d AP_BLHeli: unlock uart on InterfaceExit 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6f704b3818 AP_BLHeli: fixed use of SERVO_BLH_AUTO 2018-04-07 09:10:29 +10:00
Andrew Tridgell 5bfc97f9c0 HAL_ChibiOS: fixed dshot trigger while serial active 2018-04-07 09:10:29 +10:00
Andrew Tridgell 7c678bd707 AP_BLHeli: use UART locking
this gains exclusive access to the UART while MSP protocol is active to
prevent protocol corruption due to other drivers writing to hal.console
2018-04-07 09:10:29 +10:00
Andrew Tridgell e448b5d069 HAL_ChibiOS: implement UART port locking 2018-04-07 09:10:29 +10:00
Andrew Tridgell 85ae6f60a8 AP_HAL: added UART locking interface
used to gain exclusive access to a UART. This is needed for the BLHeli
MSP protocol to prevent protocol corruption due to console writes
2018-04-07 09:10:29 +10:00
Andrew Tridgell b7bcee69a3 AP_BLHeli: added telemetry logging support
allow telemetry feedback from BLHeli_32 ESCs
2018-04-07 09:10:29 +10:00
Andrew Tridgell 061277040b DataFlash: updated ESC logging format
support higher voltages and higher RPMs
added total current logging
2018-04-07 09:10:29 +10:00
Andrew Tridgell 71eb9bac03 AP_SerialManager: added ESC telemetry protocol support 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6fd0af11ef HAL_ChibiOS: implement telem request API 2018-04-07 09:10:29 +10:00
Andrew Tridgell 69c623270c AP_HAL: added telem request to RCOutput 2018-04-07 09:10:29 +10:00
Andrew Tridgell d54d3351de SRV_Channel: check for rcout serial for blheli support 2018-04-07 09:10:29 +10:00
Andrew Tridgell fde092a246 AP_BLHeli: check for rcout serial support
don't build AP_BLHeli on HALs that can't support serial output to ESCs
2018-04-07 09:10:29 +10:00
Andrew Tridgell 74bf83c39f AP_HAL: added check for RCOUT serial support 2018-04-07 09:10:29 +10:00
Andrew Tridgell 751c3a554a HAL_ChibiOS: added fmuv4-beta hardware definition
for an old pixracer quad I have (and I believe Peter has one too)
2018-04-07 09:10:29 +10:00
Andrew Tridgell 1fc0047fd9 AP_BLHeli: raise timout to 60s 2018-04-07 09:10:29 +10:00
Andrew Tridgell 6bdb523630 HAL_ChibiOS: guarantee 1kHz output for DShot 2018-04-07 09:10:29 +10:00
Andrew Tridgell 3daf27db64 AP_BLHeli: expanded test code 2018-04-07 09:10:29 +10:00
Andrew Tridgell ee94d73e77 AP_BLHeli: added SERVO_BLH_TMOUT parameter 2018-04-07 09:10:29 +10:00
Andrew Tridgell 692f22c17f HAL_ChibiOS: added GPIO assignments for revo-mini 2018-04-07 09:10:29 +10:00
Andrew Tridgell 0018e1f944 SRV_Channel: added set_disabled_channel_mask()
used by AP_BLHeli
2018-04-07 09:10:29 +10:00
Andrew Tridgell ef539d4145 HAL_ChibiOS: added debug timing option for RCOut 2018-04-07 09:10:29 +10:00
Andrew Tridgell 9aa5a97f26 AP_BLHeli: added test interface
and added delay on serial init
2018-04-07 09:10:29 +10:00
Andrew Tridgell 7d3cce98d0 AP_HAL: allow override of MS5611 name
for fmuv4-beta
2018-04-07 09:10:29 +10:00
Andrew Tridgell af1e3aa64d HAL_ChibiOS: increase timeout on bytes for blheli 2018-04-07 09:10:29 +10:00
Andrew Tridgell 756c0d4b0b HAL_ChibiOS: fixed reset for oneshot
after a BLHeli connection we need to go back to 1Hz on timer
2018-04-07 09:10:29 +10:00
Andrew Tridgell b0442d1c5c AP_BLHeli: fixed build for rover
only plane and copter have AP_Motors for motors mask
2018-04-07 09:10:29 +10:00
Andrew Tridgell 9a29c6d3b5 HAL_ChibiOS: implement DigitalSource() 2018-04-07 09:10:29 +10:00
Andrew Tridgell c2adc26051 AP_RPM: support RPM pin input on ChibiOS 2018-04-07 09:10:29 +10:00
Andrew Tridgell 9942934f0d AP_HAL_PX4: added IRQ save/restore to hal.scheduler
these are used by RPM driver
2018-04-07 09:10:29 +10:00
Andrew Tridgell 51c40a013b HAL_ChibiOS: added IRQ save/restore to hal.scheduler
these are used by RPM driver
2018-04-07 09:10:29 +10:00
Andrew Tridgell d2075b4b67 AP_HAL: added irq save/restore API to hal.scheduler
these are used by RPM driver
2018-04-07 09:10:29 +10:00
Andrew Tridgell 54185af8ef AP_BLHeli: removed test code
not needed any more, and no longer compiles
2018-04-07 09:10:29 +10:00
Andrew Tridgell 019049e76b HAL_ChibiOS: fixed RC period setting 2018-04-07 09:10:29 +10:00