Andy Piper
e6e0543b8a
AP_IOMCU: propagate dshot rates through to IOMCU
...
implement dshot ESC telemetry
add support for channel enablement/disablement
add stack checks and reporting for MSP stack
wait correct timeout in tickless mode
ensure that dshot sees all pwm updates as the occur in order to maintain periodicity
ensure dshot options are propagated on reset
implement dshot commands
ensure oneshot/125 and mode are setup correctly
add instrumentation for process stack
prevent illegal recursive locks
ignore requests for dshot 600
add support for soft reboot of iomcu
2023-08-15 06:53:48 +10:00
bugobliterator
ad428ac060
AP_IOMCU: add support for sending DShot function command
...
add support for dshot on iomcu
add support for updating to dshot iofirmware
2023-08-15 06:53:48 +10:00
Andrew Tridgell
2f1c38e13a
AP_IOMCU: support forcing heater to enabled with a feature bit
2023-03-07 10:33:24 +11:00
Andrew Tridgell
d921c427b1
AP_IOCMU: improved the safety button reset test code
...
this allows testing of either watchdog or hard-fault reset
2023-02-14 09:12:34 +11:00
Andrew Tridgell
ce0b7a8957
AP_IOMCU: fixed handling of RC_OPTIONS bit to ignore RC failsafe bit
...
this worked on FMU but not on IOMCU
2022-03-22 10:30:35 +11:00
Iampete1
12d5fbbc86
AP_IOMCU: iofirmware: support digital write
2021-09-28 09:40:25 +10:00
Iampete1
cc03b2975c
AP_IOMCU: iofirmware: remove saftey PWM
2021-09-14 09:23:02 +10:00
Andy Piper
c26f49fb0a
AP_IOMCU: ChibiOS 20.3.x build fix
2021-03-23 12:01:20 +11:00
Andrew Tridgell
017f005737
AP_IOMCU: pass supported RC protocols to IOMCU
2020-08-24 16:32:35 +10:00
Andrew Tridgell
258b8b71ea
AP_IOMCU: use more efficient read API for rcin
2020-01-31 11:09:07 +11:00
Andrew Tridgell
63c199a600
AP_IOMCU: support RSSI from receiver
2020-01-02 09:52:57 +11:00
Andrew Tridgell
34f5b40919
AP_IOMCU: use crc32_small() in AP_IOMCU
...
the slower speed is not noticible and this saves 1k ram
2019-10-28 15:53:16 +11:00
Mirko Denecke
12c9e50aef
AP_IOMCU: remove unnecessary tabs and whitespaces
2019-10-21 07:57:44 +11:00
Andrew Tridgell
7c3df18ea3
AP_IOMCU: change optimisation from -O3 to -O2
2019-09-28 08:57:26 +10:00
Andrew Tridgell
672d09c965
AP_IOMCU: use AP::RC() for AP_RCProtocol
2019-09-06 08:51:45 +10:00
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
2019-08-17 17:36:41 +10:00
bugobliterator
c07fe55b87
AP_IOMCU: remove autodetection of heater pin polarity, instead hardcode it
2019-07-25 17:05:41 +10:00
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
2019-07-12 12:46:27 +10:00
Siddharth Purohit
f23746053d
AP_IOMCU_FW: autodetect active high/low on heater control pin
2019-06-08 14:31:01 +10:00
Andrew Tridgell
d4c68da76e
AP_IOMCU: added IOMCU time since boot to protocol
...
and optional watchdog testing using safety switch
(compile time option)
2019-04-28 07:45:33 +10:00
Andrew Tridgell
6181c66e5c
AP_IOMCU: handle watchdog reset in IO firmware
2019-04-22 16:53:35 +10:00
Andrew Tridgell
480d33706c
AP_IOMCU: fixed safety state on reboot
...
fixes issue #11031
2019-04-20 14:48:59 +10:00
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
2018-11-27 09:38:18 +11:00
Andrew Tridgell
8e7695e5f0
AP_IOMCU: respond to override change more quickly
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
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
e6cadfa2d9
AP_IOMCU: disable DSM and SBUS for pulse input
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
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
107ccb3eef
AP_IOMCU: enable DSM input in iofirmware
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
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
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
8ece4e3f64
AP_IOMCU: implement BRD_SAFETY_MASK in iofirmware
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
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
1711b93602
AP_IOMCU: fixed read packet count
2018-10-30 13:00:48 +11:00
Andrew Tridgell
f600ebd758
AP_IOMCU: added SBUS output support
2018-10-30 13:00:48 +11:00
Andrew Tridgell
b45b8ff703
AP_IOMCU: added analog input to iofirmware
2018-10-30 13:00:48 +11:00
Andrew Tridgell
6ec87528db
AP_IOMCU: fixed RCIN failsafe
2018-10-17 15:11:28 +11:00
Andrew Tridgell
92d8ef0e76
AP_IOMCU: run the rcin timer tick in main loop
...
we no longer run a separate RCIN thread
2018-10-17 15:11:28 +11:00
Andrew Tridgell
3641dcee44
AP_IOMCU: only build iofirmware for ChibiOS
2018-09-19 12:14:15 +10:00
Andrew Tridgell
848dd87d58
AP_IOMCU: fixed code style issues
2018-09-19 12:14:15 +10:00
Siddharth Purohit
605e0de03c
AP_IOMCU: conform to new time conversion API
2018-09-19 12:14:15 +10:00