SHDesigns: Embedded Systems Design, Consulting and Developer Resources | Page hits: |
This exec is not designed to compete with TurboTask and uCOS. If you need preemptive-tasking, semaphores, events, message queues etc; use the TurboTask exec. This library is free and comes with little tech support. Hopefully users will support each other via the message boards,
CoExec has been used by SHDesigns for porting programs written for the Z-World DC compiler to Softools. It does not emulate the DC costate and cofunc model. It does provide similar functionality. It has worked reliably in several projects.
CoExec provides real tasks instead of costates. This eliminates much of the task "churning" of the DC model. Each task has its own stack. This isolates stack problems between tasks. Delays, i.e. waitMS(), are implemented in the exec so the task does not have to repeatedly call the same function just to add a delay.
A sample application is included. It demonstrates most of the features of the exec and shows how the tasks operate.
The full source and sample projects are now available
The task list, tasks[] needed one extra empty entry or the lib would try to run an invalid task. This has been fixed