Command format: ... Where: command - alphanumeric command name argN - numeric argument (unsigned base 10, 0-65535) Positive response format: 0... Where: argN - numeric value (unsigned base 10, 0-65535) Negative response format: -N"" Where: -N - numeric error code (negative number) desc - verbose error description # Write digital outputs (masked) > dout 120 240 < 0 # Read digital inputs > din < 0 125 # Read analog inputs > ain < 0 32 121 35 31 # Wait specified amount of milliseconds > sleep 300 < 0 # Return firmware major version, minor version and revision > vers < 0 1 42 0 # Reset board < reset > 0 # Ping/nop < ping > 0 # NOP (empty command) > < (ignored) # Comments > # foo bar foobar < (ignored) # Unknown command > sing < -1 "Unknown command" # Missing parameter > dout < -2 "Required parameter missing" # Too many parameters > din 42 666 < -3 "Too many parameters" # Malformed command > dout %'I! < -4 "Invalid parameter" # Attention > or < 1 "Uh?" To recover from a possibly unknown board status, a client should begin the conversation by issuing an attention sequence, eventually followed by a reset.