DISC (Dynamic Instruction-Scenario Components)
This API is designed for easy, dynamic handling of instruction sets for autonomous operation of robots in Java. It does not specify commands, but supplies advanced data structures for storing and using them.
A scenario file (used to build a Scenario structure) begins with a starting block, which contains the name and arguments of the file. The name of the arguments other than name does not matter. Below is an example:
Args are stored as Strings, so it does not matter what you put in them. Anything else in the file will be treated as either a comment or an Instruction. Comments begin with # and an Instruction is a comma-separated value line, such as:
#This is a comment
#Delimiter, the text of the delimiter is stored in args, anything else is also in args
#Command, the first item is stored in target, anything after the fullstop in args
#Control State, the key word is "control", anything after the fullstop is stored in args
#Also a Delimiter, the key words for such are "start" and "stop"
When writing scenarios, please ensure to use Notepad++ so random unnecessary characters don't show up (like \par at the end of each line if you use WordPad), generally they should be saved as .scenario files, but the API does not check.
The ScenarioCompressor is used to chain Scenarios together into one file, preferably stored as .scenariox for differentiation. It also can read a .scenariox file that it wrote and give an array or queue of Scenarios. If you are writing your own .scenariox for reading by the ScenarioCompressor, keep in mind that it uses #! as a separating sequence.