ardupilot/libraries/AP_Baro
Lucas De Marchi f7b453359d AP_Baro: MS56XX: convert to threaded bus
This converts MS56XX to use the thread started by SPI/I2C instead of
using the timer thread. This also fixes a possible starvation of the
main thread:

    1) INS driver registers itself to be sampled on timer thread
    2) MS56XX registers itself to be sampled on timer thread
    3) Main thread waits for a sample from INS with
       ins.wait_for_sample()
    4) timer thread is waiting on update from MS56XX and consequently
       the main thread is waiting on an I2C/SPI transfer

Besides this starvation there's another one due to reuse of the timer
lock in order to pump values from the timer thread to the main thread. A
call to the update() method when we have a sample available would need
to wait on any other driver holding the timer lock.

Now there's a lock just to pass the new values from the bus thread to
the main thread with a very tiny critical region, not waiting on any
bus transfers and/or syscalls.
2016-07-30 00:55:28 -03:00
..
examples/BARO_generic waf: ardupilotwaf: prefix build context methods with ap_ 2016-01-22 20:10:29 -02:00
AP_Baro_Backend.cpp AP_Baro: reduce header scope 2015-12-02 10:40:50 +11:00
AP_Baro_Backend.h AP_Baro: reduce header scope 2015-12-02 10:40:50 +11:00
AP_Baro_BMP085.cpp AP_Baro: BMP085: use a moving average of 10 samples in BMP085 2016-05-10 14:24:59 -03:00
AP_Baro_BMP085.h AP_Baro: BMP085: use a moving average of 10 samples in BMP085 2016-05-10 14:24:59 -03:00
AP_Baro_HIL.cpp AP_Baro: allow setHIL to set last update time 2016-05-07 18:27:21 +10:00
AP_Baro_HIL.h AP_Baro: reduce header scope 2015-12-02 10:40:50 +11:00
AP_Baro_MS5611.cpp AP_Baro: MS56XX: convert to threaded bus 2016-07-30 00:55:28 -03:00
AP_Baro_MS5611.h AP_Baro: MS56XX: convert to threaded bus 2016-07-30 00:55:28 -03:00
AP_Baro_PX4.cpp AP_Baro: reduce header scope 2015-12-02 10:40:50 +11:00
AP_Baro_PX4.h AP_Baro: reduce header scope 2015-12-02 10:40:50 +11:00
AP_Baro_qflight.cpp AP_Baro: added qflight driver 2015-12-27 16:12:27 +11:00
AP_Baro_qflight.h AP_Baro: added qflight driver 2015-12-27 16:12:27 +11:00
AP_Baro_QURT.cpp AP_Baro: added QURT driver 2015-12-27 16:21:25 +11:00
AP_Baro_QURT.h AP_Baro: added QURT driver 2015-12-27 16:21:25 +11:00
AP_Baro.cpp AP_Baro: MS5611: always use timer thread 2016-07-30 00:55:28 -03:00
AP_Baro.h Revert "AP_Baro: coverity scan - variables not initialized in constructor" 2016-07-11 22:02:41 -07:00