Supports nested interrupts
No royalties on embedded code
All source code supplied
Extremely fast context switch times
Very low interrupt latency times
Several C vendors supported
Scheduler and interrupt handler written in assembly for speed
All CMX functions contained in library
Circular queue management
Fixed block memory management
Specialized UART management
Automatic power down management
Full pre-emption and ability to also have cooperative and time
Create a task.
Remove a task.
Start a task.
Suspend a task, with time-out provision.
Wake a suspended task.
Forcefully wake a task.
Change a task's priority.
Terminate a task early.
Do a cooperative rescheduling.
Disable task scheduling.
Enable task scheduling.
Wait on event(s), with time-out provision.
Set an event.
Clear an event.
Get a message.
Wait for a message, with time-out provision.
Send a message.
Send a message, wait for reply.
Wake task that sent message, if waiting on reply.
Wait on Mailbox(s), with time-out provision.
Create a circular queue.
Reset queue to empty.
Add to top of queue.
Add to bottom of queue.
Remove from top of queue.
Remove from bottom of queue.
Create a cyclic timer.
Change a cyclic timer event parameters.
Start a cyclic timer.
Restart a cyclic timer.
Restart a cyclic timer, with new initial time period and/or
new cyclic time period.
Stop a cyclic timer.
Create a fixed block pool.
Request free block from pool.
Release block back to pool.
Get a resource.
Reserve a resource, with time-out provision.
Release a resource.
NOTE: the resources have Automatic Priority Inheritance and
highest task waiting on resource will become the owner, when
resource is released.
Pend for semaphore, with time-out provision.
Post to semaphore.
Enter power down mode
Put UART char, with time-out provision.
Put UART string, with time-out provision.
Get UART char, with time-out provision.
Get UART string, with time-out provision.
Update UART buffer(s)
Initialize UART buffer(s)