Mirko Denecke
12c9e50aef
AP_IOMCU: remove unnecessary tabs and whitespaces
5 years ago
Mark Whitehorn
0a6ae60c89
AP_IOMCU: fix IO fast channel mask
5 years ago
Andrew Tridgell
7c3df18ea3
AP_IOMCU: change optimisation from -O3 to -O2
5 years ago
Andrew Tridgell
672d09c965
AP_IOMCU: use AP::RC() for AP_RCProtocol
6 years ago
Andrew Tridgell
8ef2046f7b
AP_IOMCU: use blocking writes to uart
...
this avoids the issue of arming failing due to a non-zero protocol count
6 years ago
Andrew Tridgell
454717cf6f
AP_IOMCU: cleanup IO protocol and add logging
...
this cleans up the IOMCU protocol structures now we don't need to be
compatible with the old nuttx based protocol and adds logging of IOMCU
errors
6 years ago
Andrew Tridgell
984542fa53
AP_IOMCU: fixed error handling for short packets
...
this prevents short packets from the IOMCU being processed. A short
enough read could be processed as a valid status packet, which would
lead to invalid values for safety flag and servo voltage
fixes issue #12030
6 years ago
bugobliterator
c07fe55b87
AP_IOMCU: remove autodetection of heater pin polarity, instead hardcode it
6 years ago
Andrew Tridgell
76a8d494c3
AP_IOMCU: dither heater pin to prevent 1Hz impact on mags
...
with the simpler duty cycle code we see a 1Hz 25 mGauss cycle in the
internal mags
6 years ago
Siddharth Purohit
f23746053d
AP_IOMCU_FW: autodetect active high/low on heater control pin
6 years ago
Andrew Tridgell
ef5f83d0b5
AP_IOMCU: remove 2s delay on boot and skip crc check on watchdog
...
thanks to @Jaaaky for the suggestion in #11232
6 years ago
Andrew Tridgell
6c50feaead
AP_IOMCU: improved handling of IOMCU reset
...
use IOMCU timestamp to detect reset
6 years ago
Andrew Tridgell
d4c68da76e
AP_IOMCU: added IOMCU time since boot to protocol
...
and optional watchdog testing using safety switch
(compile time option)
6 years ago
Andrew Tridgell
af54e8620e
AP_IOMCU: prevent startup sync causing an internal error
6 years ago
Andrew Tridgell
c7be7d7343
AP_IOMCU: cope with IOMCU reset
6 years ago
Andrew Tridgell
6181c66e5c
AP_IOMCU: handle watchdog reset in IO firmware
6 years ago
Andrew Tridgell
480d33706c
AP_IOMCU: fixed safety state on reboot
...
fixes issue #11031
6 years ago
Pierre Kancir
eab7d08021
AP_IOMCU: fix includes
6 years ago
Andrew Tridgell
664e92ed7e
AP_IOMCU: fixed build warnings
6 years ago
Andrew Tridgell
a6e989e263
AP_IOMCU: fixed shadowed variable warning
6 years ago
Tom Pittenger
28323147ab
AP_IOMCU: unify singleton naming to _singleton and get_singleton()
6 years ago
Michael du Breuil
85f3280705
AP_IOMCU: Remove unneeded AP_Buffer include
6 years ago
Andrew Tridgell
41264568ba
AP_IOMCU: added brushed motor feature bit in protocol
6 years ago
Andrew Tridgell
69c4fb671e
AP_IOMCU: optimisations to reduce ISR latency
...
this speeds up the DMA ISR handlers to reduce the change of losing a
byte on RC input due to loss of an interrupt
6 years ago
Andrew Tridgell
8e7695e5f0
AP_IOMCU: respond to override change more quickly
6 years ago
Andrew Tridgell
5771e0a90e
AP_IOMCU: added access to RC protocol name
6 years ago
Andrew Tridgell
3d90ddc453
AP_IOMCU: fixed stop bits in sbus output
6 years ago
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
6 years ago
Andrew Tridgell
2159198c3e
AP_IOMCU: allow DSM input as pulses in iomcu
...
useful for receivers where DSM uses a normal servo plug
6 years ago
Andrew Tridgell
e6cadfa2d9
AP_IOMCU: disable DSM and SBUS for pulse input
6 years ago
Andrew Tridgell
49d07ed234
AP_IOMCU: catch parity errors on SBUS input
6 years ago
Andrew Tridgell
c148813c17
AP_IOMCU: enable uart for SBUS input
6 years ago
Andrew Tridgell
fab181345c
AP_IOMCU: fixed override on RC loss
...
use mid-stick positions
6 years ago
Andrew Tridgell
29fb674f3f
AP_IOMCU: use macros for LED outputs in iofirmware
6 years ago
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
6 years ago
Andrew Tridgell
107ccb3eef
AP_IOMCU: enable DSM input in iofirmware
6 years ago
Andrew Tridgell
b9e4916c17
AP_IOMCU: fixed delay in DSM bind
6 years ago
Andrew Tridgell
2488d25284
AP_IOMCU: fixed rate of failsafe handling
6 years ago
Andrew Tridgell
f8dc17f8ff
AP_IOMCU: implement DSM bind
6 years ago
Andrew Tridgell
184c05bc70
AP_IOMCU: fixed DSM bind
6 years ago
Andrew Tridgell
c57fe83217
AP_IOMCU: rename sbus_out.cpp to rc.cpp
...
will also handle DSM input on USART1
6 years ago
Eugene Shamaev
4d64b86f87
AP_IOMCU: Add binding procedure for DSMx
6 years ago
Andrew Tridgell
843772a2bc
AP_IOMCU: added some debug code
...
and lower PKT_MAX_REGS to reduce max DMA size. This fixes an
occasional fault
6 years ago
Andrew Tridgell
8ece4e3f64
AP_IOMCU: implement BRD_SAFETY_MASK in iofirmware
6 years ago
Andrew Tridgell
beff16abe6
AP_IOMCU: implement manual_rc_mask
6 years ago
Andrew Tridgell
27f06ce810
AP_IOMCU: trigger override at 1750
...
thanks Michael
6 years ago
Andrew Tridgell
46fcfe0582
AP_IOMCU: removed rc_channel range check
...
feedback from @WickedShell
6 years ago
Andrew Tridgell
e70a98fa9a
AP_IOMCU: support elevon and vtail mixing in failsafe
6 years ago
Andrew Tridgell
285508d568
AP_IOMCU: added initial mixing support
...
supports aileron, elevator, throttle and rudder
6 years ago
Andrew Tridgell
ec73a7072b
AP_IOMCU: use more bandwidth efficient IO read
6 years ago