AceRoutine  1.0
A low-memory, fast-switching, cooperative multitasking library using stackless coroutines on Arduino platforms.
Class Hierarchy

Go to the graphical class hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Cace_routine::Channel< T >An unbuffered synchronized channel
 Cace_routine::Channel< ace_routine::cli::InputLine >
 Cace_routine::cli::CommandHandlerSignature for a command handler
 Cace_routine::CoroutineBase class of all coroutines
 Cace_routine::cli::CommandDispatcherA coroutine that reads lines from the Serial port, tokenizes the line on whitespace boundaries, and calls the appropriate command handler to handle the command
 Cace_routine::cli::CommandManager< BUF_SIZE, ARGV_SIZE >A convenience wrapper around a CommandDispatcher that hides complexity of creating, initializing and injecting the resources needed by the CommandDispatcher
 Cace_routine::cli::StreamLineReaderAn AceRoutine coroutine that reads lines (terminated by '\n' or '\r' from the Stream device, and write the InputLine message into the provided Channel
 Cace_routine::CoroutineSchedulerClass that manages instances of the Coroutine class, and executes them in a round-robin fashion
 Cace_routine::FCStringA union of (const char*) and (const __FlashStringHelper*) with a discriminator
 Cace_routine::cli::InputLineMessage sent from StreamLineReader to CommandDispatcher coroutines through Channel<InputLine> channel