point ra=00:57:45 dec=35:12:55 nodome
Each message consists of one or more fields delimited by spaces. The delimiter is a NULL character (newlines will be allowed in a future release). The first field contains the command. The other fields can contain keywords or keyword=value pairs. The replies are limited to the two forms:
done point dist=.03 or ERROR point power not onThe ordinary case reponds with the word, done followed by the name of the command followed by any optional keyword, keyword value pairs. The second ERROR form lists the command name and any error message. This message results from problems in either interpreting or executing the command.
Each command must have a help feature so that if the
first keyword is help the command will report
back immediately with a string showing the allowable options.
(With optional keywords in [] brackets.)
For example:
point help
done point ra= dec= [epoch=] [nodome] [noapp] [nocorr]
Every server must have a help command which lists the commands that are available. This command is used by tserver to link up servers under one roof. For example one telescope server may have the following conversation.
help done help beep dome mirror move_sec offset point power slit temps track
nbytes=xxxwhere xxx is a number, the next transmission will consist of the specified number of bytes. This transmission will then be followed by the usual done message. The nbytes are rarely transmitted without a request and usually they are asked for with a nbytes= option.
The received bytes can be stored as uninterpreted bytes but the other following keywords can be used to help interpret the incoming bytes:
time estimate - some commands take a long time to execute and a preliminary message with a time estimate would be helpful.
port specification - the port specification in the tx command should really be tied directly to the node (eg node=foobar,0x1342) rather than a special keyword.
multiple devices - some way of allowing multiple devices with the same name is needed. We often have two CCDs connected.
access control - It would be nice to be able to have 1) single user access so that one user could lock out all other say when doing maintenance. 2) read only access so that we could grant others access to weather or position without granting telescope positioning access.
server restart - if a remote server crashes an auto restart would be nice.