Andrew Tridgell
329357f7a2
Tools: updated IO firmware
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
2054be0ce1
waf: omit bootloader for px4-v2 build
...
This saves 8k of flash, and allows the plane stable release for older
Pixhawk1 boards to build
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
f452d5c752
Tools: new IO firmware
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
f2b8067023
Plane: pass manual_rc_mask to iocmu mixer
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