Spider
The following is taken straight from the old YSTV website. It may well be out of date so needs updating by someone in the computing team --Malcolm.chambers 23:34, 22 December 2009 (UTC)
Updated and extended (Ok, it's not quite computing team, but I know spider pretty well as i wrote skedular --Michael.Cullen 23:13, 11 January 2010 (UTC)
"
This is the heart of the computer control systems in the station, accepting requests from various control sources and feeding them out to the hardware depending on priority. Command Line Interface
If you need to "speak spider" to find out what's going on in the system, then you can telnet into port 5091 on ystvspider and query the status of devices and which are connected. You need to be logged in to the machine to do this if you're outside James Nucleus because port 5091 is blocked at the firewall.
Possible commands are:
- marco - this just does echo and returns "polo"
- help - prints this list of possible commands
- listdevices - list all devices connected to the system, giving the plugin used to control them, the device name and the current status. The mapping of device types (and hence driver plugins) to device names is done in /etc/spider.xml
- getparams <device> - get all parameters for a device. The device name is the second field above (which has to be unique, where as drivers don't becuase multiple devices can speak the same protocol.
- get <device>:<param> - query current value of a parameter. This seems to be broken for the net mux, and hangs up the interface so you have to quit and log back in.
- set <device>:<param>=<value> - set a parameter to certain value (=* to clear). Not heavily error checked, so be careful about spaces, quotes and the like. Note that this won't get cleared until you do so, so if you force a programme out this way, you need to unset the video form vidserv after it finishes to make scheduling keep working.
- poss <device>:<param> - returns <devicename>:<parametername> followed by a coma-separated list of possible values.
- help - displays this help text
- quit - closes the connection
"
There are two user accounts:
- user
- sched
user is a higher priority than sched. Sched is what skedular logs in as,and if any controls have not been set to * by user, sched can do nothing. (interesting side note: if user tells it to play a video, then sched tells it to play a video, it plays the video user told it to, but restarts it when sched tells it to.)
Also if user does a set vidserv:video= which should be a stop command, scheduling breaks - big time. Needs to be video=*