Model Railroad System  2.2.1
Overall User Manaual
SatelliteDaemon

Satellite computer Daemon

SYNOPSIS

SatelliteDaemon [-debug] [-port listenport] [-log logfilename] [-nodaemon] [-addpath path] [-addpackage path]
SatelliteDaemon -extenddaemon newDaemon [-tclkit tclkit] packageDir ...

DESCRIPTION

This is the deamon program that runs on 'satellite' computers on a network of computers controlling a layout. These satellite computers could be Raspberry Pis (running Rasperian) or small Intel/AMD systems (eg mini-Itx systems or other Intel/AMD SBCs running some version of Linux). Somewhere on the network would be a (desktop) computer running the master (client) package, typically in the context of a Dispatcher control panel.
The satellite systems would be connected to a collection of USB interface boards (or possibly using the GPIO pins on a Raspberry) that would interface to various actuating devices on the layout, such as turnout motors, signals, uncoupling magnets, as well as various sensors that might be in use.

The second form (SatelliteDaemon -extenddaemon newDaemon ...) of the command creates a new StarPak with the listed package dirs copied into the StarPak. The -tclkit defaults to /usr/local/bin/tclkit.

OPTIONS

  • -debug This option turns on verbose debug logging.
  • -port This option selects the port to listen on (default: 40000).
  • -log This option selects the name of the log filename (default: $HOME/SatelliteDaemon.log).
  • -nodaemon This option supresses daemonisation to facilitate debugging.
  • -addpath This option adds additional search paths for packages. (These packages are always available: the core Tcl packages, snit, Azatrax, and Cmri.)
  • -addpackage This option loads additional packages into the daemon's internal virtual file system.
  • -extenddaemon This option creates a new version of the daemon with additional package directories included.

PROTOCOL

The protocol is simple. The daemon creates a 'safe' interpreter and simply feeds the command stream coming in to this interpreter and sends this interpreter's output back to the master.

AUTHOR

Robert Heller <heller@deepsoft.com>