bcmd usage: ./bcmd [-h[elp] -m[achine] -p[ort] -v[erbose]] flag: -h displays this message flag: -m selects a target machine for UDP packets [localhost] flag: -p selects a port for UDP packets [11402] flag: -v specifies verbose operation Program accepts ASCII commands from STDIN and generates CCSDS packets on UDP socket. Returns "OK seqCount" or "ERR msg" on STDOUT for each command. Valid Commands per Data ICD 32-02001: bias on | off cal low | high on | off calamp 8-bit-number calrate low | high disc thin | thick 8-bit-number mask c1 c2 c3 ... litmask 32-bit-number(high) 32-bit-number(low bytes) process d1 | d2 | d3 | d4 | d5 | d6 on | off echo 16-bit-number time - | seconds:subseconds test clear reset Numeric arguments may be given in decimal, octal, or hex format. The "time" command, if given a "-" argument, transmits current system time. The "mask" command ORs a series of detector coincidence selections; e.g.: to select a coincidence of D1D2D3D4 and D3D4D5D6 the command is "mask 1234 3456" calcurve usage: ./calcurve [-h] [-v] $Id: calcurve,v 2.6 2006/10/05 18:03:23 goeke Exp goeke $ Receives CRaTER telemetry in archive format on STDIN and converts analog housekeeping to decimal/hex/engineering/units on STDOUT. Interrogates instrument serial number to determine coefficients. Non-analog telemetry is passed through unchanged. flag -h help message -v verbose display Operates on the following Housekeeping Mnemonics V28bus V5digital V5plus V5neg I28bus BiasCurrentD1 BiasCurrentD2 BiasCurrentD3 BiasCurrentD4 BiasCurrentD5 BiasCurrentD6 BiasVoltThin BiasVoltThick CalAmp LLDThin LLDThick Ttelescope Tanalog Tdigital Tpower Tref RadMonitor1 RadMonitor2 RadMonitor3 Tprt Purge command.tcl Usage: ./command.tcl -- [-h] [-m mach_name -q cmd_port] [-s | -p tlm_port] [-v] where -h give this help message -m send CRaTER instrument commands to this host -q send CRaTER instrument commands to this port -p receive Secondary Science telemetry on this port [12410] -s receive Secondary Science telemetry on STDIN -v emit some execution details on STDOUT This Tcl/Tk script runs under the 'wish' shell, optionally uses 'bcmd' to generate command packets and by default starts a telemetry pipe using 'rtlm' and 'calcurve' to gather input data. command.tcl produces instrument commands in 'bcmd's ASCII input format. It sends them to STDOUT unless both the -m and -q flags are given with appropriate arguments. If they are given, command.tcl launches a 'bcmd' process and pipes its output there. The 'bcmd' process sends its output to the specified host and port. The telemetry input is Secondary Science and Housekeeping data that has been processed by command.tcl's rtlm-to-calcurve pipeline. The -p flag specifies the port at which the rtlm process can receive the CCSDS telemetry packets that the instrument produces. If the -s flag is given, command.tcl silently ignores any -p flag and port number that may be present. crater-gse.tcl craterCtl Usage: ./craterCtl [-h] [path_to_CRaTER_tools] .. .. .. .. house.tcl Usage: ./house.tcl -- [-h] [-p tlm_port] [-s] [-v] where -h give this help message -p receive Housekeeping telemetry on this port [12402] -s receive Housekeeping telemetry from STDIN -v emit some execution details on STDOUT This Tcl/Tk script runs under the 'wish' shell and by default starts a telemetry pipe using 'rtlm' and 'calcurve' to gather input data. house-packet.pl Analog Housekeeping Packet Generator usage: ./house-packet.pl [-f[ile] filename] -h[elp] -m[achine] name -p[ort] ### -v[erbose]] Flag: -f writes an LRO standard data file flag: -h displays this message flag: -m selects a target machine for UDP packets (def: localhost) flag: -p selects a port for UDP packets (def: 11403) flag: -v specifies verbose operation Program accepts ASCII commands with single numeric arguments from STDIN and, upon "send", generates Analog Housekeeping CCSDS packets on UDP socket; use "reset" to clear all values. Valid Commands: TestMode OneHertz V28bus V5digital V5plus V5neg I28bus BiasCurrentD1 BiasCurrentD2 BiasCurrentD3 BiasCurrentD4 BiasCurrentD5 BiasCurrentD6 BiasVoltThin BiasVoltThick CalAmp LLDThin LLDThick Ttelescope Tanalog Tdigital Tpower Tref RadHighSens RadMedSens RadLowSens Tprt Purge pdist usage: ./pdist [-h] [-p in_port] [-P out_port_base] [-[rR] filename] [-s sup_port_in] [-S sup_port_out] [-v] [-e "appid" "appid appid"] flag: -h displays this message -p selects port for input telemetry [11403] -P selects base port for first output telemetry stream [12400] -r selects file to read for data stream input w/o flow control -R selects file to read for data stream input with flow control -s selects port for supervisor commands [14100] -S selects port for supervisor reply [14101] -v specifies verbose operation -e specifies sets of appids to emit in lieu of UDP commanding; must be last flag in the argument list; all packets streams are directed to localhost Program accepts UDP packets from a single source and distributes AppId-selected packets to enumerated ports on the machine which sent in the request(s). Multiple supervisor clients on multiple machines are allowed. Legal commands on the supervisor channel: OUTPUT appid [appid] [appid] EXPORT machine_name appid [appid] [appid] CLOSE port_number CLOSE ME CLOSE ALL STATE Each OUTPUT command will elicit a response assigning a port number to the particular request. CLOSE will close the stream to an enumerated port, all ports on the machine originating the request, or all ports currently in use. The EXPORT command is intended solely for use in routing packets to a foreign machine (for example from a local network out to the world). The STATE command returns the current state of port usage. If the -R flag is used for reading from a file, STDIN controls flow: F forward to the next second's data G go to the next command (echoed in Secondary Science) H go to the next housekeeping packet X exit primary-packet.pl Primary Science Packet Generator usage: ./primary-packet.pl [-f[ile] filename] -h[elp] -m[achine] name -p[ort] ### -v[erbose]] Flag: -f writes an LRO standard data file flag: -h displays this message flag: -m selects a target machine for UDP packets (def: localhost) flag: -p selects a port for UDP packets (def: 11403) flag: -v specifies verbose operation Program accepts numeric sextuples representing 12bit detector amplitudes. A primary science packet is emitted upon "send" or 48 sextuples have been input. Comments are allowed on lines with first character: # Valid Commands: D1# D2# D3# D4# D5# D6# EventAmp D1#,D2#,D3#,D4#,D5#,D6# send rtlm usage: ./rtlm [-a] [-d] [-f filename] [-F file_ID] [-h] [-p port_address] [-v] Receives CCSDS telemetry packets on UDP port and prints contents on STDOUT. flag -a prints out data in CRaTER "keyvalue" ASCII format -c prints out mask data as sets of detector coincidences -d prints out details of CCSDS header; ignores all else -F sets file_ID in LRO standard LO archive header; default 199 -f writes LRO-standard LO archive to given filename NB this function squelches all printing to STDOUT -h prints this help message -p set port address; default 11403 -r reads LRO-standard L0 archived data from given filename NB "--" causes read from STDIN -t prints out time as time-of-day string (ASCII format only) -v verbose display -x prints out full packet in raw, hex format Packet sequence count: SeqCount Instrument serial number: SerialNumber Instrument in Test Mode: TestMode Observatory 1 Hz clock: OneHertz Observatory time in seconds: Time Primary science mnemonic: EventAmp Secondary science mnemonics: BiasCntrl BiasCmd CalLow CalHigh CalRate ProcD1 ProcD2 ProcD3 ProcD4 ProcD5 ProcD6 LastCmd LastValue DiscThin DiscThick Mask Mask2 Mask3 Mask4 Single1 Single2 Single3 Single4 Single5 Single6 Good Reject Total Housekeeping Mnemonics V28bus V5digital V5plus V5neg I28bus BiasCurrentD1 BiasCurrentD2 BiasCurrentD3 BiasCurrentD4 BiasCurrentD5 BiasCurrentD6 BiasVoltThin BiasVoltThick CalAmp LLDThin LLDThick Ttelescope Tanalog Tdigital Tpower Tref RadHighSens RadMedSens RadLowSens Tprt Purge ss-packet.pl Secondary Science Packet Generator usage: ./ss-packet.pl [-f[ile] filename] -h[elp] -m[achine] name -p[ort] ### -v[erbose]] Flag: -f writes an LRO standard data file flag: -h displays this message flag: -m selects a target machine for UDP packets (def: localhost) flag: -p selects a port for UDP packets (def: 11403) flag: -v specifies verbose operation Program accepts ASCII commands with single numeric arguments from STDIN and, upon "send", generates Secondary Science CCSDS packets on UDP socket; use "reset" to clear all values. Valid Commands: TestMode OneHertz BiasCntrl BiasCmd CalLow CalHigh CalRate ProcD1 ProcD2 ProcD3 ProcD4 ProcD5 ProcD6 LastCmd LastValue DiscThin DiscThick Mask1 Mask2 Mask3 Mask4 Single1 Single2 Single3 Single4 Single5 Single6 Good Reject Total statistics usage: ./statistics [-h] [-m] [-n] [-p port_address] [-v] Prints primary science statistics (in decimal) flag -m reports the mean/std dev/min/max values over the sample (default is to report only std dev for six detectors) -n specifies number of samples prior to calculation [] -p set port address [12403] -v verbose display tincan Usage ./tincan [-L | pdist_hostname ] where the -L flag will access the local machine for telemetry tincan communicates with 'pdist' over its supervisory channel. 'pdist's help output lists the supervisory commands. tincan forks. One of its processes reads the keyboard and sends to 'pdist'. The other reads the socket that receives replies from 'pdist' and prints them to the screen. There appears to be no way to terminate tincan gracefully. Control+D on the keyboard terminates only that process. The process that listens to the input port remains and must be terminated separately. verify usage: ./verify [-h] [-v] $Id: verify,v 1.3 2006/11/01 14:09:05 goeke Exp goeke $ Receives raw CRaTER telemetry and verifies basic format information flag -h help message -p UDP port number [11403] -t ignore time errors if 1Hz sync is missing -v verbose display (multiple incantations mean /very/ verbose)