Andy Piper
9db5d0bf9b
AP_IOMCU: reduce latency for oneshot
...
correctly update outmode modes when requested
get ARM CPUID and display in startup banner
ensure correct rc input timing on 1Khz iofirmware
2023-08-15 06:53:48 +10:00
Andy Piper
7b96f66413
AP_IOMCU: add support for getting output mode and mcuid
...
give an appropriate MCUID on F103
2023-08-15 06:53:48 +10:00
Andy Piper
ec1edea1da
AP_IOMCU: add support for shared DMA to iomcu-dshot
...
new event-based update() loop for iomcu to allow for DMA channel sharing
spin event loop at 2Khz to give dshot thread ample access to DMA channels
correct transmission complete callbacks
ensure peripheral is re-enabled on DMA resumption
ensure DMA transactions do not get clobbered by locking
restructure callbacks for shared and non-shared DMA cases
ensure RC updates happen at 1Khz
increase expected delay at startup
2023-08-15 06:53:48 +10:00
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
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
bugobliterator
1a6179148b
AP_IOMCU: ensure page_GPIO is aligned to 16bit
2021-09-29 19:08:10 +10: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
Andrew Tridgell
017f005737
AP_IOMCU: pass supported RC protocols to IOMCU
2020-08-24 16:32:35 +10:00
Andrew Tridgell
63c199a600
AP_IOMCU: support RSSI from receiver
2020-01-02 09:52:57 +11: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
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
Pierre Kancir
eab7d08021
AP_IOMCU: fix includes
2019-03-26 10:27:54 +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
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
184c05bc70
AP_IOMCU: fixed DSM bind
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
beff16abe6
AP_IOMCU: implement manual_rc_mask
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
848dd87d58
AP_IOMCU: fixed code style issues
2018-09-19 12:14:15 +10:00
Andrew Tridgell
f0b27c9b92
AP_IOMCU: support brushed output
2018-09-19 12:14:15 +10:00
Andrew Tridgell
2c7e27374f
AP_IOMCU: use ioevents for oneshot in iofirmware
2018-09-19 12:14:15 +10:00
Andrew Tridgell
037a455784
AP_IOMCU: moved protocol structures to a common header
2018-09-19 12:14:15 +10:00