Commit Graph

20 Commits

Author SHA1 Message Date
Andrew Tridgell 086f878bdc HAL_PX4: split IO thread into separate IO and storage threads
this prevents a blocked microSD card from blocking IO to the FRAM,
causing parameter changes not to be sticky
2015-03-04 20:18:17 +11:00
Andrew Tridgell 18131eae13 HAL_PX4: added delay_microseconds_boost()
implemented using hrt callback with sem_post wrapper
2015-02-16 12:19:13 +11:00
Andrew Tridgell f2a919c55e AP_HAL_PX4: moved size of main thread stack to Scheduler.h
make it more obvious
2015-02-07 08:06:53 +11:00
Andrew Tridgell 48247b6adc HAL_PX4: minimise usage of hrt_absolute_time() 2014-08-20 09:10:24 +10:00
Andrew Tridgell 1241da466b HAL_PX4: added millis64() and micros64() 2014-08-20 08:01:06 +10:00
Andrew Tridgell 5800c2a2c8 HAL_PX4: prevent excessive writes on startup from blocking
this could cause copter on PX4 to hang on startup
2013-10-28 16:12:44 +11:00
Andrew Tridgell 1c091cbca5 HAL_PX4: fixed a scheduler bug that affects UART IO
we need to detect if we are in a timer task using a PID, not a
flag. This is the same type of bug I fixed last week, but now fixed
properly.

The bug could well be the "USB bug" that Craig has been chasing
2013-10-19 16:50:38 +11:00
Andrew Tridgell d973730b88 HAL_PX4: use hrt timer and semaphores to improve timing
this gives much more accurate microsecond delays, while also ensuring
we yield the CPU when possible
2013-10-14 08:29:30 +11:00
Andrew Tridgell 942ae70651 HAL_PX4: updates for AP_HAL::MemberProc 2013-09-30 21:06:42 +10:00
Andrew Tridgell 7ec242146d HAL_PX4: update for new scheduler API 2013-09-28 21:24:03 +10:00
Andrew Tridgell fa107bdb58 PX4: moved UART handling to its own thread
this prevents slow writes to the SD card from interfering with MAVLink
or GPS serial communication
2013-09-04 13:15:27 +10:00
Andrew Tridgell 7082e0f8aa AP_HAL: added hold_in_bootloader parameter to scheduler->reboot() 2013-09-04 11:58:13 +10:00
Andrew Tridgell af7381e9e0 AP_HAL: added register_io_process()
this is used to register a low priority IO task. Used for file IO in
DataFlash_File.cpp
2013-04-17 21:33:50 +10:00
Andrew Tridgell 02c5c3ec4a HAL_PX4: changed scheduler priorities
put sensor priority above main sketch, to prevent occasional blocking
for sensor data
2013-02-20 11:30:54 +11:00
Andrew Tridgell d7409b6a25 HAL_PX4: startup in low priority to fix CLI
this ensures that tight sensor loops in setup() can run without
sleeping
2013-01-25 20:44:36 +11:00
Andrew Tridgell 70227d5d93 HAL_PX4: added scheduler performance counters 2013-01-24 15:04:57 +11:00
Andrew Tridgell 39e28d48c2 HAL_PX4: switched scheduler to use a pthread
this allows the timer tasks to access file descriptors in the main APM
task, which makes writing PX4 device drivers much easier
2013-01-21 13:54:09 +11:00
Andrew Tridgell 7c7a215934 HAL_PX4: fixes for new Scheduler API 2013-01-11 12:25:26 +11:00
Andrew Tridgell c6305b5876 HAL_PX4: rework Scheduler using hrt calls
thanks to Julian Oes for the suggestion
2013-01-03 13:15:57 +11:00
Andrew Tridgell 5a70f3becf HAL_PX4: added a scheduler implementation 2013-01-02 21:39:26 +11:00