Commit Graph

51 Commits

Author SHA1 Message Date
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
Andrew Tridgell f0b27c9b92 AP_IOMCU: support brushed output 2018-09-19 12:14:15 +10:00
Andrew Tridgell cfb10fbb2f AP_IOMCU: fixed oneshot support in IO firmware 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 ecfe06b9e4 AP_IOMCU: implement safety LED and switch 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
Andrew Tridgell 89bfd7e850 AP_IOMCU: added blue LED support on PH1 2018-09-19 12:14:15 +10:00
Siddharth Purohit 19c002baaf AP_IOMCU: add support for iofirmware update 2018-09-19 12:14:15 +10:00
Siddharth Purohit fe3dda74bd AP_IOMCU: remove optimize override from iofirmware 2018-09-19 12:14:15 +10:00