FC-340S - Kramer Protocol
9.2 Command Part Details
Sequence of ASCII letters ('A'-'Z', 'a'-'z' and '-').
Command will separate from parameters with at least single space.
Sequence of Alfa-Numeric ASCII chars ('0'-'9','A'-'Z','a'-'z' and some special chars for specific commands), parameters will
be separated by commas.
Every command must to be entered as part of message string that begin with message starting char and end with message
closing char, note that string can contain more then one command separated by pipe ("|") char.
Message starting char:
'#' for host command\query.
'~' for machine response.
Device address (Optional, for KNET):
KNET Device ID follow by '@' char.
Query sign = '?', will follow after some commands to define query request.
Message closing char =
Host messages - Carriage Return (ASCII 13), will be referred to by CR in this document.
Machine messages - Carriage Return (ASCII 13) + Line-Feed (ASCII 10), will be referred to by CRLF.
Spaces between parameters or command parts will be ignored.
Commands chain separator char:
When message string contains more than one command, commands will be separated by pipe ("|").
If terminal software used to connect over serial \ ethernet \ USB port, that possible to directly enter all commands characters
(CR will be entered by Enter key, that key send also LF , but this char will be ignored by commands parser).
Sending commands from some controllers (like Crestron) require coding some characters in special form (like \X##).
Anyway, there is a way to enter all ASCII characters, so it is possible to send all commands also from controller.
(Similar way can use for URL \ Telnet support that maybe will be added in future).
Some commands have short name syntax beside the full name to allow faster typing, response is always in long syntax.
It is possible to enter multiple commands in same string by '|' char (pipe).
In this case the message starting char and the message closing char will be entered just one time, in the string beginning
and at the end.
All the commands in string will not execute until the closing char will be entered.
Separate response will be sent for every command in the chain.
Input string max length:
Design note: transparent supporting for protocol 2000 will be implemented by switch protocol command from protocol 3000
to protocol 2000, in protocol 2000 there is already such a command to switch protocol to ASCII protocol (#56 : H38 H80