Commit Graph

30 Commits

Author SHA1 Message Date
Andrew Tridgell d8fd590a3f AP_IOMCU: fixed a race in event trigger on startup
this fixes the issue with initial safety option state, and with
initial safety mask
2018-11-05 17:26:28 +09:00
Andrew Tridgell 986a1eb72f AP_IOMCU: cope with IOMCU reset in flight
this copes with IOMCU reset when we have safety forced off
2018-09-08 09:21:49 +09:00
Andrew Tridgell bb3b5ed869 AP_IOMCU: update to match plane3.9.0beta6 2018-08-02 12:38:28 +09:00
Andrew Tridgell 9384bc9b03 AP_IOMCU: use compressed interface for IO fw upload 2018-08-02 12:38:26 +09:00
Andrew Tridgell 230e1f681b AP_IOMCU: use thread_create() API 2018-08-02 12:38:25 +09:00
Jonathan Challinger 83ed210869 AP_IOMCU: fix radio failsafe handling 2018-07-31 14:26:11 +10:00
Andrew Tridgell 6d3ff416cf AP_IOMCU: fixed setting of rate masks
this affects layouts which set a subset of channels on a timer
2018-07-31 14:24:30 +10:00
Andrew Tridgell 3242b5eeb9 AP_IOMCU: fail to boot if IO firmware CRC and update fails
we don't want to fly with a bad IO firmware
2018-06-06 07:15:41 +10:00
Andrew Tridgell 7be1125084 AP_IOMCU: implement safety mask and safety pwm 2018-04-17 10:14:01 +10:00
Andrew Tridgell 214fb096eb AP_IOMCU: added healthy API for use in arming checks 2018-04-17 08:44:44 +10:00
Andrew Tridgell 09e3a3cb78 AP_IOMCU: added IO firmware upload 2018-04-17 08:44:44 +10:00
Michael du Breuil 0e8a9c2ec4 AP_IOMCU: Encapsulate debug prints in a #ifdef, fix whitespace 2018-04-14 08:23:24 +10:00
Andrew Tridgell f22964a350 AP_IOMCU: implement BRD_SAFETYOPTION 2018-04-14 06:22:07 +10:00
Andrew Tridgell 4a7a66cc16 AP_IOMCU: use a higher thread priority
this ensures PWM output gets out as fast as possible
2018-04-07 09:10:29 +10:00
Siddharth Purohit 0c914838b2 AP_IOMCU: fix data type for available bytes 2018-02-07 20:33:45 +11:00
Andrew Tridgell 442b280368 AP_IOMCU: improved error checking
and avoid pointless change of rates
2018-02-07 20:33:45 +11:00
Andrew Tridgell 5ffcff1a79 AP_IOMCU: use unbuffered UART writes
this lowers latency for servo outputs to the IOMCU
2018-02-07 20:33:45 +11:00
Andrew Tridgell 93fa74518a AP_IOMCU: limit rate to IOMCU to 500Hz
when running with very high loop rates we can saturate the IO link
2018-01-20 17:40:07 +11:00
Andrew Tridgell 30903f2acb AP_IOMCU: support oneshot mode 2018-01-20 17:40:07 +11:00
Andrew Tridgell ff3b0ec1bd AP_IOMCU: added set_default_rate method 2018-01-15 11:46:02 +11:00
Andrew Tridgell 320ada2002 AP_IOMCU: fixed crash with BRD_IO_ENABLE=0 2018-01-15 11:46:02 +11:00
Andrew Tridgell 82b5b94e24 AP_IOMCU: fixed race condition on thread startup
thread_ctx may not be set for first trigger_event()
2018-01-15 11:46:02 +11:00
Andrew Tridgell d1fd843539 AP_IOMCU: support IMU heater 2018-01-15 11:46:02 +11:00
Andrew Tridgell 1568f578d7 AP_IOMCU: added retries on event failure 2018-01-15 11:46:02 +11:00
Andrew Tridgell 9b9b4a169e AP_IOMCU: fixed build on systems without IO MCU 2018-01-15 11:46:02 +11:00
Andrew Tridgell bb3ed9d6a3 AP_IOMCU: added APIs for RC input 2018-01-15 11:46:02 +11:00
Andrew Tridgell ceeade5822 AP_IOMCU: added periodic reading of RC input 2018-01-15 11:46:02 +11:00
Andrew Tridgell 06322da4e2 AP_IOMCU: added setting of output rates 2018-01-15 11:46:02 +11:00
Andrew Tridgell 39f60adcd7 AP_IOMCU: initial implementation of PWM and safety 2018-01-15 11:46:02 +11:00
Andrew Tridgell 0c01ae1223 AP_IOMCU: started on MCU IO library 2018-01-15 11:46:02 +11:00