Commit Graph

18284 Commits

Author SHA1 Message Date
Peter Barker
64eb8f0986 AP_Beacon: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
ee07789383 AP_Baro: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
1056321457 Filter: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
bc212073a2 DataFlash: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
011c93f38e AP_InertialSensor: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
1bef78dda5 AP_InertialNav: add override keywords 2018-11-08 11:30:12 +11:00
Peter Barker
82df40f464 SITL: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
94e0485bdf AP_RangeFinder: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
e0ab431ebd AP_Proximity: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
344d6b938c AP_Notify: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
be53782ef1 AP_Mount: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
f2070da335 AP_Motors: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
2993ffb588 AP_HAL_VRBRAIN: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
fdfe5ac75a AP_HAL_SITL: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
6c152acedc AP_HAL_PX4: add override keyword 2018-11-08 11:30:12 +11:00
Peter Barker
d4601862bc AP_HAL_Empty: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
17f643719a AP_HAL_ChibiOS: add override keyword in many places 2018-11-08 11:30:12 +11:00
Peter Barker
c9f31f7e0a AP_Gripper: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
fd888727b8 AP_GPS: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
e7a981d2c3 AP_Compass: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
8e30417c38 AP_BattMonitor: add override keyword where required 2018-11-08 11:30:12 +11:00
Peter Barker
7e3ca19308 AC_AttitudeControl: add override keyword in many places 2018-11-08 11:30:12 +11:00
Michael du Breuil
48610ea0a0 AP_Math: Remove an unneeded safe_sqrtf, leverage is_zero 2018-11-07 10:43:28 +11:00
Peter Barker
6e84a31613 AP_RangeFinder: use new ChibiOS driver if user attempts to use PX4 PWM driver 2018-11-07 08:59:19 +11:00
Peter Barker
186ce80827 AP_RangeFinder: add pwm backend 2018-11-07 08:59:19 +11:00
Andrew Tridgell
a0c57979ab HAL_ChibiOS: use opendrain outputs for LEDs on iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
8e7695e5f0 AP_IOMCU: respond to override change more quickly 2018-11-07 07:35:45 +11:00
Andrew Tridgell
8d8853d4b7 AP_RCProtocol: fixed test build on navio 2018-11-07 07:35:45 +11:00
Andrew Tridgell
7168a0297a HAL_ChibiOS: display RC protocol for iocmu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
5771e0a90e AP_IOMCU: added access to RC protocol name 2018-11-07 07:35:45 +11:00
Andrew Tridgell
a8e6a09903 AP_RCProtocol: expose protocol name mapping 2018-11-07 07:35:45 +11:00
Andrew Tridgell
ae18fd1cef AP_RCProtocol: added SUMD protocol test 2018-11-07 07:35:45 +11:00
Andrew Tridgell
7996259726 AP_RCProtocol: added timeout handling to SUMD 2018-11-07 07:35:45 +11:00
Andrew Tridgell
b1e5e0aba9 AP_RCProtocol: convert SUMD and ST24 to SoftSerial 2018-11-07 07:35:45 +11:00
Andrew Tridgell
408db791e3 AP_RCProtocol: added test suite 2018-11-07 07:35:45 +11:00
Andrew Tridgell
eb78d4fa26 AP_RCProtocol: added destructor
for use by test suite
2018-11-07 07:35:45 +11:00
Andrew Tridgell
696d4b47a1 AP_RCProtocol: use SoftSerial clock for SRXL 2018-11-07 07:35:45 +11:00
Andrew Tridgell
3bd27ba094 AP_RCProtocol: use SoftSerial for DSM 2018-11-07 07:35:45 +11:00
Andrew Tridgell
b93dee7fe6 AP_RCProtocol: switched SRXL to SoftSerial decoder 2018-11-07 07:35:45 +11:00
Andrew Tridgell
87cf160875 AP_RCProtocol: switched SBUS to SoftSerial decoder 2018-11-07 07:35:45 +11:00
Andrew Tridgell
b7c4ae8ae9 AP_RCProtocol: added separate soft serial decoder
this will replace the version in each protocol
2018-11-07 07:35:45 +11:00
Andrew Tridgell
a69f66eadd HAL_ChibiOS: ensure RCIN sigbuf has even number of words
ObjectBuffer rounds up by 1, leaving an odd number of words, which
caused DSM RC input corruption
2018-11-07 07:35:45 +11:00
Andrew Tridgell
6c128fcaf2 HAL_ChibiOS: signal2 does not need to be DMA safe 2018-11-07 07:35:45 +11:00
Andrew Tridgell
7e8b6709ae AP_RCProtocol: improved reliability of DSM vs SRXL detection
base detection on framing, not including failsafe
2018-11-07 07:35:45 +11:00
Andrew Tridgell
3d90ddc453 AP_IOMCU: fixed stop bits in sbus output 2018-11-07 07:35:45 +11:00
Andrew Tridgell
e3a01c661f HAL_ChibiOS: switched to USB for console on pixracer 2018-11-07 07:35:45 +11:00
Andrew Tridgell
366361f0bb SITL: fixed running of example programs 2018-11-07 07:35:45 +11:00
Andrew Tridgell
5480479e73 HAL_SITL: fixed SITL example progs 2018-11-07 07:35:45 +11:00
Andrew Tridgell
a7c5ac8902 AP_IOMCU: run main loop at max rate
removed delay in main loop to reduce latency of RC input. This works
as we only have one thread
2018-11-07 07:35:45 +11:00
Andrew Tridgell
53b6f38027 AP_RCProtocol: allow switching between all protocols on IOMCU
this allows searching for uart protocols after losing a pulse based
protocol
2018-11-07 07:35:45 +11:00
Andrew Tridgell
56203204cc HAL_ChibiOS: fixed build of bootloaders 2018-11-07 07:35:45 +11:00
Andrew Tridgell
b950b83eea HAL_ChibiOS: fixed build with EICU RC input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
2159198c3e AP_IOMCU: allow DSM input as pulses in iomcu
useful for receivers where DSM uses a normal servo plug
2018-11-07 07:35:45 +11:00
Andrew Tridgell
eca4fec2aa AP_RCProtocol: use pulses as clock for frame timeout
for SRXL and DSM we should judge a frame timeout from the pulses,
otherwise lag in the DMA capture can cause a false frame drop
2018-11-07 07:35:45 +11:00
Andrew Tridgell
faf8f73437 AP_RCProtocol: added process_pulse_list()
this provides more efficient processing of RC pulses
2018-11-07 07:35:45 +11:00
Andrew Tridgell
5dd0086698 HAL_ChibiOS: make SoftSigReader considerably more efficient
this reduces interrupt latency on the F100, which allows us to use all
RC input protocols on the pulse based decoder, allowing for more
flexibility in RC input protocols
2018-11-07 07:35:45 +11:00
Andrew Tridgell
9ea03e085d AP_HAL: added readptr() and advance() to ObjectBuffer
this gives a more efficient way of accessing an ObjectBuffer, which
reduces interrupt latency in SoftSigReader
2018-11-07 07:35:45 +11:00
Andrew Tridgell
e1385573b1 AP_RCProtocol: return protocol name string 2018-11-07 07:35:45 +11:00
Andrew Tridgell
dbc05f787b HAL_ChibiOS: display decoded RC protocol 2018-11-07 07:35:45 +11:00
Andrew Tridgell
d87bef16a2 AP_RCProtocol: require 3 good frames for weak CRC protocols 2018-11-07 07:35:45 +11:00
Andrew Tridgell
e6cadfa2d9 AP_IOMCU: disable DSM and SBUS for pulse input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
68c9f52b3e AP_RCProtocol: allow selection of protocols for pulse input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
9354aca07d AP_RCProtocol: removed some unnecessary millis calls 2018-11-07 07:35:45 +11:00
Andrew Tridgell
49d07ed234 AP_IOMCU: catch parity errors on SBUS input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
c148813c17 AP_IOMCU: enable uart for SBUS input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
d18277487e HAL_ChibiOS: use RCIN pin for only PPM only on iomcu
use uarts for SBUS and other serial protocols
2018-11-07 07:35:45 +11:00
Andrew Tridgell
baf0be6a56 AP_RCProtocol: added check on baudrate in process_byte()
and support process_byte() in SBUS input
2018-11-07 07:35:45 +11:00
Andrew Tridgell
7c1ba15031 HAL_ChibiOS: fixed syntax error on RCIN pin for iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
fab181345c AP_IOMCU: fixed override on RC loss
use mid-stick positions
2018-11-07 07:35:45 +11:00
Andrew Tridgell
86ab3d7669 HAL_ChibiOS: turn off green ring LED on cube 2018-11-07 07:35:45 +11:00
Andrew Tridgell
29fb674f3f AP_IOMCU: use macros for LED outputs in iofirmware 2018-11-07 07:35:45 +11:00
Andrew Tridgell
a8d91a24b6 AP_IOMCU: fixed compat with nuttx firmwares
this allows older firmwares to change the IO firmware back to a nuttx
based firmware
2018-11-07 07:35:45 +11:00
Andrew Tridgell
c767828f11 AP_RCProtocol: prevent mixing of byte and pulse input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
fcc259ae31 HAL_ChibiOS: separate out F1 CR1 calculations
and modify pin speeds for iomcu uarts
2018-11-07 07:35:45 +11:00
Andrew Tridgell
107ccb3eef AP_IOMCU: enable DSM input in iofirmware 2018-11-07 07:35:45 +11:00
Andrew Tridgell
7e66bb69b9 HAL_ChibiOS: enable amber LED on iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
ae0ccbcea9 AP_RCProtocol: support byte input for DSM 2018-11-07 07:35:45 +11:00
Andrew Tridgell
56d0d6b9be AP_RCProtocol: make singleton
used by iomcu
2018-11-07 07:35:45 +11:00
Andrew Tridgell
b9e4916c17 AP_IOMCU: fixed delay in DSM bind 2018-11-07 07:35:45 +11:00
Andrew Tridgell
2488d25284 AP_IOMCU: fixed rate of failsafe handling 2018-11-07 07:35:45 +11:00
Andrew Tridgell
f8dc17f8ff AP_IOMCU: implement DSM bind 2018-11-07 07:35:45 +11:00
Andrew Tridgell
184c05bc70 AP_IOMCU: fixed DSM bind 2018-11-07 07:35:45 +11:00
Andrew Tridgell
3ab1cd4808 HAL_ChibiOS: fixed build 2018-11-07 07:35:45 +11:00
Andrew Tridgell
c57fe83217 AP_IOMCU: rename sbus_out.cpp to rc.cpp
will also handle DSM input on USART1
2018-11-07 07:35:45 +11:00
Eugene Shamaev
4d64b86f87 AP_IOMCU: Add binding procedure for DSMx 2018-11-07 07:35:45 +11:00
Eugene Shamaev
032c5ab707 AP_HAL_ChibiOS: Binding update for DSM 2018-11-07 07:35:45 +11:00
Andrew Tridgell
843772a2bc AP_IOMCU: added some debug code
and lower PKT_MAX_REGS to reduce max DMA size. This fixes an
occasional fault
2018-11-07 07:35:45 +11:00
Andrew Tridgell
f69360844f HAL_ChibiOS: enable USART1 for iomcu for spektrum input 2018-11-07 07:35:45 +11:00
Andrew Tridgell
065dba973b HAL_ChibiOS: fixed build warning on iomcu 2018-11-07 07:35:45 +11:00
Andrew Tridgell
8ece4e3f64 AP_IOMCU: implement BRD_SAFETY_MASK in iofirmware 2018-11-07 07:35:45 +11:00
Andrew Tridgell
81fe8b7138 HAL_ChibiOS: allow set of safety mask from IOMCU 2018-11-07 07:35:45 +11:00
Andrew Tridgell
beff16abe6 AP_IOMCU: implement manual_rc_mask 2018-11-07 07:35:45 +11:00
Andrew Tridgell
27f06ce810 AP_IOMCU: trigger override at 1750
thanks Michael
2018-11-07 07:35:45 +11:00
Andrew Tridgell
46fcfe0582 AP_IOMCU: removed rc_channel range check
feedback from @WickedShell
2018-11-07 07:35:45 +11:00
Andrew Tridgell
e70a98fa9a AP_IOMCU: support elevon and vtail mixing in failsafe 2018-11-07 07:35:45 +11:00
Andrew Tridgell
285508d568 AP_IOMCU: added initial mixing support
supports aileron, elevator, throttle and rudder
2018-11-07 07:35:45 +11:00
Andrew Tridgell
ec73a7072b AP_IOMCU: use more bandwidth efficient IO read 2018-11-07 07:35:45 +11:00
Andrew Tridgell
191f72d2e6 AP_IOMCU: added mixing structure to protocol 2018-11-07 07:35:45 +11:00
Andrew Tridgell
8d5b9521ad AP_Arming: added IOMCU health check 2018-11-07 07:35:45 +11:00
Michael du Breuil
b5caea19da AP_WheelEncoder: Fix AP_WheelRateControl::get_pid() always returning the
first pid

CID: 318644
2018-11-06 12:19:15 +09:00