Class that runs given commands which then change content of the DotMatrix display. Commands sent to controller are executed one by one in queue.
public float DefaultSpeedDotsPerSecond
Sets or gets the default speed in dots per second. Default speed is used in all moving content such as scrolling texts unless command have its own speed set.
public TextCommand.Fonts DefaultTextFont
Sets or gets the default text font. Default font is used in TextCommands unless command have its own font defined.
public void AddCommand (AbsCmd command)
Add new command to controller queue. If queue is empty, instantly start executing this command.
public void ClearCommands ()
Clear the controller command queue. Command that is currently being executed (if any) will finish normally but it will not repeat even if Repeat flag is set. So after finishing current command, controller will be idle unless new commands are added.
public void ClearCommandsAndStop ()
Clear the controller command queue and stop any possible currently executing command. Controller will be idle immediately after this. Display is not cleared so whatever is on display when callign this will remain there.
public bool IsExecutionPaused ()
Check whatever controller is currently set to paused state. If paused, no commands are executed until ResumeExecution() is called. It is still possible to add/remove/replace new commands like normally, but controller will not continue running them until resume is called.
public bool IsIdle ()
Check whatever controller is idle.
public void PauseExecution ()
Pauses the executions of whatever command controller is currently running, without removing any commands or clearing command queue. Executions can be then continued by calling ResumeExecution() method.
Calling this method when execution is already paused doesn't do anything.
public bool RemoveCommand (AbsCmd command)
Remove command from controller queue. If this command is currently being executed it will finish normally.
public bool ReplaceCommand (AbsCmd oldCommand, AbsCmd newCommand)
Replace command in controller queue. If command that is replaced is currently being executed it will finish normally. If command to replace doesn't found, this method changes nothing.
public void ResumeExecution ()
Resumes execution of commands. Controller will continue from exactly where it left when PauseExecution() was called.
Calling this method when execution is not paused doesn't do anything.