murata
70f0636c90
AP_IOMCU: Console output can be disabled
3 years ago
Randy Mackay
b6e86eee49
AP_IOMCU: valid_GPIO_pin checks if pin configured for GPIO
3 years ago
Randy Mackay
caa2ed3294
AP_IOMCU: convert_pin_number leaves input untouched on failure
3 years ago
Andrew Tridgell
ce0b7a8957
AP_IOMCU: fixed handling of RC_OPTIONS bit to ignore RC failsafe bit
...
this worked on FMU but not on IOMCU
3 years ago
Peter Barker
4e122a3d50
AP_IOMCU: rename and make enum RC_Channel::ControlType
...
Type:: is too generic; get_type should probably be get_control_type
3 years ago
Andrew Tridgell
4c5fc1f5ef
AP_IOMCU: removed include of ch.h from headers
3 years ago
TunaLobster
db6383eee7
AP_IOMCU: fix ADC scaling on IOMCU
3 years ago
bugobliterator
1a6179148b
AP_IOMCU: ensure page_GPIO is aligned to 16bit
3 years ago
Iampete1
ba58cb86db
AP_IOMCU: support digital write
3 years ago
Iampete1
12d5fbbc86
AP_IOMCU: iofirmware: support digital write
3 years ago
Iampete1
cc03b2975c
AP_IOMCU: iofirmware: remove saftey PWM
3 years ago
Iampete1
c1a2379504
AP_IOMCU: remove safe PWM
3 years ago
Andrew Tridgell
c0c32a63cc
AP_IOMCU: mark logger Write() calls as streaming where appropriate
4 years ago
Andrew Tridgell
45d82887b3
AP_IOMCU: fixed a safety reset case for IOMCU reset
...
if IOMCU resets in flight when user had disabled the safety switch
using the button then the IOCMU force safety code was not called
4 years ago
Andy Piper
c26f49fb0a
AP_IOMCU: ChibiOS 20.3.x build fix
4 years ago
Andrew Tridgell
9d87645c6e
AP_IOMCU: fixed event handling bug in IOMCU code
...
if a a message send fails to IOMCU then we were discarding all
currently pending non-recurring events. This means that states like
oneshot enable would be lost if the IOMCU reset.
We now re-trigger all events that have not yet been handled
4 years ago
Andrew Tridgell
9126579b77
AP_IOMCU: added memory to debug code
4 years ago
Andrew Tridgell
87528f47c8
AP_IOMCU: prevent internal error on bootloader flash
...
when we flash the bootloader on boards with an IOMCU we expect a long
delay as the CPU stops during the flash
4 years ago
Jaaaky
4ec1c2ea67
AP_IOMCU: Remove duplicate includes from AP_IOMCU.cpp
4 years ago
Andrew Tridgell
1b5551206a
AP_IOMCU: fixed bug in SBUS output when scanning for FPort input
...
when we are looking for FPort input, we normally switch UART3 on the
IOMCU to 115200 to look for inverted inputs at 115200 baudrate. We
need to disable this switching when we have SBUS output enabled to
prevent a change in the SBUS output baudrate
Many thanks to afishman for finding this bug
Fixes #15522
4 years ago
Andrew Tridgell
fdff355a8a
AP_IOMCU: fixed handling of RC ignore failsafe option
...
this allows for ignoring SBUS failsafe on boards using an IOMCU
5 years ago
Andrew Tridgell
017f005737
AP_IOMCU: pass supported RC protocols to IOMCU
5 years ago
Peter Barker
f1182637a6
AP_IOMCU: use new UARTDriver discard_input method
5 years ago
Andrew Tridgell
fd32dff45a
AP_IOMCU: force safety off on IOMCU reset
...
if safety was forced off previously and we get an IOMCU reset then
force it off when the reset happens so vehicle can keep flying
5 years ago
Peter Barker
f0b38fa11c
AP_IOMCU: create and use INTERNAL_ERROR macro so we get line numbers
5 years ago
Peter Barker
e5b634cdd0
AP_IOMCU: add IOMC log message documentation
5 years ago
Andrew Tridgell
258b8b71ea
AP_IOMCU: use more efficient read API for rcin
5 years ago
Andrew Tridgell
ba779c65ad
AP_IOMCU: added a health check based on status read errors
...
if we have more than 1 in 128 read status requests failing then mark
IOMCU unhealthy
5 years ago
Andrew Tridgell
2d02062bfc
AP_IOMCU: reduce uart buffer sizes
5 years ago
Andrew Tridgell
63c199a600
AP_IOMCU: support RSSI from receiver
5 years ago
Andrew Tridgell
6599fd49a2
AP_IOMCU: don't use pulse input for FPORT
5 years ago
Stephen Dade
52f2ec34fa
AP_IOMCU: Ensure IOMCU does not log if there is no logger
5 years ago
Mark Whitehorn
5276cb7f2b
AP_IOMCU: rename sensor_config_error to config_error
5 years ago
Andrew Tridgell
a11f2b5cfb
AP_IOCMU: added singleton in AP namespace
5 years ago
Andrew Tridgell
34f5b40919
AP_IOMCU: use crc32_small() in AP_IOMCU
...
the slower speed is not noticible and this saves 1k ram
5 years ago
Andrew Tridgell
ef1aaa6db0
AP_IOMCU: fixes for modified AP_ROMFS API
...
need to use AP_ROMFS::free()
5 years ago
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