ArduOS
a small preemptive multitasking-system
the new arduOS on launchpad
put the files/direcories into <arduino-sketchbook>/libraries/
Attach:arduOS.zip
Navigation
Using it
To Use arduOS, you will have to remember those details:
- including those files:
- arduos_core.h nothing can work without its core
- arduos16.h interrupts for 16 mhz
- arduos_new.h or malloc (required for new) will not work from within a task.
- including and instantiating a Scheduler
- if you have no need for tasks, that will be executed in a certain time (i'll refer to them as timed tasks), you should probably include / roundscheduler.h for SYS::RoundScheduler
- if you have only need timed tasks you should include timedscheduler.h for SYS::TimedScheduler
- if you want both, you should include combinedscheduler.h for SYS::CombinedScheduler
- including one or more suitable task types, such as:
- a task for the roundscheduler that adds itself automatically to the first allocated roundscheduler: SYS::SATask in satask.h
- a task for the timedscheduler that adds itself automatically: SYS::TimedTask in timedtask.h
- other types
- using SYS_setup at the beginning of setup()
- putting SYS_enable_preemptive into the sketch (not within a function)
Known Bugs:
if you discover a Bug or have something to contribute, please send me an Email.
Author: Lars Ole Hollenbach
Contact: lohlive<at>googlemail.com