| command |
params |
Description |
| ADJP |
rmsVal |
adjust power levels |
| adjp |
replyMsg |
sent back after power adjusted
and new values measured. takes about 6 secs for 7 boxes. Each brd info separated by a newline. First line includes the adjpok . Example reply: time for 14 boards: 5.38 seconds adjpok b0s0g0 rms:A 30.1 28.1 B 29.6 29.5 mn:A 0.3 0.1 B 0.7 0.3 gn: 11 11 b0s1g0 rms:A 30.8 29.5 B 28.4 30.3 mn:A -0.0 -0.0 B -0.1 -0.2 gn: 2 2 b1s0g0 rms:A 31.1 29.8 B 29.2 29.2 mn:A -0.0 0.5 B -0.1 0.3 gn: 7 7 b1s1g0 rms:A 32.1 29.7 B 31.2 31.0 mn:A 0.6 -0.1 B 0.1 -0.3 gn: 2 2 b2s0g0 rms:A 28.9 28.9 B 30.4 29.1 mn:A 0.2 0.2 B -0.2 0.7 gn: 10 11 b2s1g0 rms:A 27.7 28.3 B 32.3 30.1 mn:A -0.1 -0.7 B -0.4 0.1 gn: 1 3 b3s0g0 rms:A 26.3 29.4 B 30.1 27.6 mn:A 0.6 -0.1 B 0.6 0.2 gn: 6 7 b3s1g0 rms:A 30.0 29.3 B 28.2 29.2 mn:A -0.4 0.6 B 0.4 -0.1 gn: 1 1 b4s0g0 rms:A 28.5 27.4 B 28.6 28.9 mn:A 0.7 -0.0 B 0.4 0.8 gn: 10 11 b4s1g0 rms:A 32.5 29.4 B 30.1 28.9 mn:A 0.1 0.2 B 0.3 1.2 gn: 2 3 b5s0g0 rms:A 29.2 29.8 B 28.1 30.0 mn:A 0.6 0.7 B 0.2 1.2 gn: 11 13 b5s1g0 rms:A 28.9 28.5 B 28.1 28.4 mn:A 0.4 0.8 B -0.2 -0.3 gn: 0 2 b6s0g0 rms:A 32.4 30.1 B 30.8 32.3 mn:A 0.4 0.5 B 0.4 0.3 gn: 9 12 b6s1g0 rms:A 31.8 29.6 B 30.7 30.3 mn:A 0.1 0.3 B 0.7 -0.1 gn: 0 3 |
| CONF |
see conf | Configure a group |
| conf |
replyMsg |
Sent back when configuration is
complete: example reply: confok |
| DALL |
dump current program info back
to caller |
|
| dall |
replyMsg |
Debuging info sent back. each
line separated by a newline. This data can change as more debug info
added. Example reply: dallok tkDataCnt:0 grpList:g0 grp:g0 stat:0 tmDump:0.1 nDumps:0 boxesList:b0 b1 b2 b3 b4 b5 b6 Fnm:pnet.conf :/dump/pdev/files/pnetg0.conf Fnm:boxes.conf:/dump/pdev/files/boxesg0.conf box:b0 pdevH:pdev-110 psrvH:pdevs1 bandNms:b0s0g0 b0s1g0 suNms: box:b1 pdevH:pdev-109 psrvH:pdevs2 bandNms:b1s0g0 b1s1g0 suNms: box:b2 pdevH:pdev-107 psrvH:pdevs3 bandNms:b2s0g0 b2s1g0 suNms: box:b3 pdevH:pdev-118 psrvH:pdevs4 bandNms:b3s0g0 b3s1g0 suNms: box:b4 pdevH:pdev-116 psrvH:pdevs5 bandNms:b4s0g0 b4s1g0 suNms: box:b5 pdevH:pdev-104 psrvH:pdevs6 bandNms:b5s0g0 b5s1g0 suNms: box:b6 pdevH:pdev-113 psrvH:pdevs7 bandNms:b6s0g0 b6s1g0 suNms: pnetbld cmd:/usr/local/pdev/bin/pnetbld --pipe --fbtempl=/usr/local/pdev/etc/boxes.conf.templ --fptempl=/usr/local/pdev/etc/pnet.conf.templ --fcal=/usr/local/pdev/etc/cal.conf --box="g0 0 1 2 3 4 5 6" --spctype='AB ' --adcclk=172.032000 --tmdump=.1 --fpnet=/dump/pdev/files/pnetg0.conf --fboxes=/dump/pdev/files/boxesg0.conf ComInfo struct: ioName:masR ioType:msgB ioDir:R ioName:masW ioType:msgB ioDir:W ioName:pdevs1 ioType:msgB ioDir:RW ioName:pdevs2 ioType:msgB ioDir:RW ioName:pdevs3 ioType:msgB ioDir:RW ioName:pdevs4 ioType:msgB ioDir:RW ioName:pdevs5 ioType:msgB ioDir:RW ioName:pdevs6 ioType:msgB ioDir:RW ioName:pdevs7 ioType:msgB ioDir:RW |
| GETP |
rms gain |
query the current power levels.
by default it returns the rms,mean, and gain leves. The params rms or
gain will limit the value returned (it will speed things up bit). |
| getp |
replyMsg |
sent back after power/gain
measured. The format of the message is the same as adjp except that it
starts with getpok . All fields are always returned. If yu only asked for gain, the the rms, mean fields will have 0's. Examle reply to GETP: time for 14 boards:4.02 seconds getpok b0s0g0 rms:A 57.8 53.5 B 59.4 59.4 mn:A 0.4 0.1 B 0.7 0.5 gn: 11 11 b0s1g0 rms:A 57.6 55.4 B 55.9 59.7 mn:A -0.1 0.0 B -0.2 -0.3 gn: 2 2 b1s0g0 rms:A 58.5 56.0 B 58.0 58.2 mn:A -0.1 0.5 B -0.3 0.4 gn: 7 7 ... Example reply to GETPrms: time for 14 boards:3.98 seconds getpok b0s0g0 rms:A 53.9 49.9 B 57.8 57.8 mn:A 0.4 0.2 B 0.7 0.5 gn: 0 0 b0s1g0 rms:A 53.0 50.9 B 53.5 57.1 mn:A -0.1 -0.0 B -0.1 -0.3 gn: 0 0 b1s0g0 rms:A 53.8 51.4 B 55.8 56.1 mn:A -0.2 0.7 B -0.3 0.5 gn: 0 0 ... Example reply to GETPgain: time for14 boards=.95 seconds getpok b0s0g0 rms:A 0.0 0.0 B 0.0 0.0 mn:A 0.0 0.0 B 0.0 0.0 gn: 11 11 b0s1g0 rms:A 0.0 0.0 B 0.0 0.0 mn:A 0.0 0.0 B 0.0 0.0 gn: 2 2 b1s0g0 rms:A 0.0 0.0 B 0.0 0.0 mn:A 0.0 0.0 B 0.0 0.0 gn: 7 7 ... |
| NOP |
nop command. |
|
| nop |
replyMsg |
reply from nop command Example reply: nop ok |
| PSET |
Send set parameter block. This
should be done after a successful conf command There should be 1 PSET
command for each group that is being configured. |
|
| pset |
replyMsg |
Reply message from PSET command Example reply: psetok |
| STAR |
scanDuration startTm |
Start datataking. It will
start all groups that have been configured. MParams:
|
| star |
replyMsg |
the reply for start datataking.
It will be sent after all groups have been instructed to start. It will
not wait for the actual start of datataking since the start time
could be far in the future. An asynchronous stat message will be sent when each
group starts. Example reply: starok |
| STOP |
Stop datataking before the
requested scanDuration has completed. |
|
| stop |
replyMsg |
Reply for STOP. It is sent after
all of the connections to pnet (all groups) have been closed. Example reply: stopok |
| ASYNCHRONOUS
REPLIES Asynchonous replies use the standard reply format of:|msglen|cmd|status|msg. The only difference is that they are generated by pnetctl and sent to the master (cima) (they are not the reply from some command from the master). |
||
| info |
asyncMsg |
Whenever pnetctl receives an
unsolicited msg, it will pass it back as an info mesage. An example
would be the pnet messages that are output after datataking is
started. The msg format is the standard reply
format:msgLen|cmd|status|msg . For messages from pnet the source pnetg0
or pnetg1 is prepended to the message. Example info messages after datataking started: infook pnetg0:Connected to all infook pnetg0:Connected to all psrv infook pnetg0:First dump sequence number is 01000 infook pnetg0:10.00 integrations per second infook pnetg0:Estimated dump time 100.0 s infook pnetg0:Estimated total dump size 0.92 GB infook pnetg0:Spectrometer box bandwidth estimates: infook pnetg0: pdev-104 1.31 MB/s infook pnetg0: pdev-107 1.31 MB/s infook pnetg0: pdev-109 1.31 MB/s infook pnetg0: pdev-110 1.31 MB/s infook pnetg0: pdev-113 1.31 MB/s infook pnetg0: pdev-116 1.31 MB/s infook pnetg0: pdev-118 1.31 MB/s infook pnetg0:Fileserver bandwidth and dump size estimates: infook pnetg0: pdevs1 1.31 MB/s, 0.13 GB infook pnetg0: pdevs2 1.31 MB/s, 0.13 GB infook pnetg0: pdevs3 1.31 MB/s, 0.13 GB infook pnetg0: pdevs4 1.31 MB/s, 0.13 GB infook pnetg0: pdevs5 1.31 MB/s, 0.13 GB infook pnetg0: pdevs6 1.31 MB/s, 0.13 GB infook pnetg0: pdevs7 1.31 MB/s, 0.13 GB infook pnetg0:Observation begins at 1209496349.01 Tue Apr 29 15:12:29 2008 infook pnetg0:All spectrometers running... infook pnetg0:0.00 MB/s 0.00 MB [0:0]/1000 blocks (0.0%) |
| stat |
asyncMsg |
stat messages are sent when the
state of pnetctl changes. The current list of stat messages are:
|
| pnetctl conf keyword |
CODE |
pdevParms |
Notes |
| adcclkhz |
SVA IMP |
adcclk |
clock value for pdev
spectrometer in Hz. 170000384 is good for 1 sec. 172032000 is good for 1 millisecond. No code to control synths yet |
| bits |
Mv IMP |
fmtwid,hr_lpf | Determine bits to use for
output. Values are:
|
| blankatod |
MV IMP |
OVFACD_THRESH |
Spectra Blanking using a/d
overflow.
|
| boxes |
SVG IMP |
|
|
| bwmhz |
MV IMP |
hr_dec,hr_mode, lpf_cN |
Set the bandwidth (MHz) to use.
Values are limited by:
|
| calctl |
SVN IMP |
cal_ctl calon cal_off calphase |
Control the cal. Values are:
|
| datatype |
MV IMP |
fmttype hr_lpf dcnt |
Type of data to record. Values
are:
|
| digfreqoffhz |
MV IMP |
Digital mixer offset in Hz.
|
|
| dumptmsec |
SVG IMP |
fcnt |
number of seconds to accumulate
ffts for 1 dump. Values are:
|
| emaskacc |
MV IMP |
err3,4_thresh |
limit the number of 40 bit accumulate overflow errors in a dump before reporting a message. The values 0..n are for errors counts 2^n. Since the err3,4_thresh is a 4 bit register, setting errmaskacc to 16 will completely block messages. |
| emaskadc |
MV IMP |
err0_thresh |
limit the number of adc overflow
errors in a dump before reporting a message. The values 0..n are for
errors counts 2^n. Since the err0_thresh is a 4 bit register, setting
errmaskadc to 16 will completely block messages. |
| emaskash |
MV IMP |
err5,6_thresh |
limit the number of 40 bit accumulator upshift overflow errors in a dump before reporting a message. The values 0..n are for errors counts 2^n. Since the err5,6_thresh is a 4 bit register, setting errmaskash to 16 will completely block messages. |
| emaskpfb |
MV IMP |
err1_thresh |
limit the number of polyphase fitlerband overflow errors in a dump before reporting a message. The values 0..n are for errors counts 2^n. Since the err1_thresh is a 4 bit register, setting errmaskpfb to 16 will completely block messages. |
| fftlen |
MV IMP |
len |
Length of fft to compute. Values
are:
|
| fileprefix |
SVG IMP |
name |
file prefix to use for disc
files. This can include any subdirectories under the default
/dump/pdev/ file directory.
|
| grprem |
SVG IMP |
remove an already configured
group using the group name specified in the boxes keyword. The grprem keyword allows you to remove
an already defined group.
CONFgrprem=g0 |
|
| maxfilesizemb |
SVA IMP |
- |
maximum size of an output file
before switching to another file (during a single scan). This is in units of 2^20. so 2048 is a 2Gb file. |
| pdevif1hz |
SVG IMP |
center of the IF frequency (hz)
used
by pdev. typically it is 250000000. |
|
| pdevlohz |
SVA IMP |
The LOs to use for the pdev
spectrometer. The two values specified are shared by all spectrometer
boxes (we only have two synths that are split 14 ways).
|
|
| pshift |
SVA IMP |
PSHIFT |
How often to down shift in the
butterfly stages of the fft. 0 to 13 bits. If a bit is present then
downshift after the butterfly stage. If a bit is 0, then don't
downshift.
|
| - |
DumpStart dumpStop |
channels within spectra to dump.
hardcoded to entire fftlen |
|
| - |
DCNT |
computed by pnetctl. 0 unless 32
bit stokes where it is set to 1. |
|
| Not yet
implemented |
|||
| blankenable |
BLANKSEL |
0: no blankg, 1: blanking
enabled. |
|
| blankPeriod |
BLANKPER |
Number of usecs to blank
starting at the rising edge of the blanking signal. Only valid if blankenable is 1. If blankPeriod is 0, then the blanking is determined by the length of the blanking signal. |
|
| lo1mix |
this is upstairs synth1.. either
pass it in or we can grab it from scramnet. |
||
| pnetctl pset keyword |
CODE |
FORMAT
in Fits file |
Description |
| frontend | SVA |
char[8] | receiver name. names are:"327","430","610","lbw","sbn","sbw","sbh","cb","cbh","xb","alfa","ch" |
| object |
SVG |
char[16] | source name |
| obsnm |
SVG |
char[24] | observer name |
| projid |
SVG |
char[8] | project id. eg "a2314" |
| topoafreqhz |
MV |
double |
topocentric freq center pixel of
lo band. units-hz |
| topobfreqhz |
MV |
double |
topocentric freq center pixel of
high band. units=hz |
| restafreqhz |
MV |
double |
rest freq center pixel of low
band. units=hz |
| restbfreqhz |
MV |
double |
rest freq center pixel of high
band. units=hz. |
| patternid |
SVG |
int*4 |
pattern id. Ydddnnnnn where Y is last digit of the year, ddd is the daynumber. This increments on every new pattern. |
| scanid |
SVG |
int*4 |
scannumber Ydddnnnnn nnnnn increments each scan . Y is the last digit of the year. |
| req_sys |
SVG |
char[8] |
Requested velocity coordinate
system. values are: "TOPOCENT","GEOCENTR","BARYCENT","LSRK","UNKNOWN" |
| req_vel |
SVG |
double |
|
| req_vel_unit |
SVG |
char[8] |
unit of req_vel. "m/s" or "Z" |
| req_vel_type |
SVG |
char[8] |
values are:"VOPT-F2W","ZOPT-F2W","ZRAD-F2V", or "UNKNOWN" |
| caltype |
SVG |
char[8] |
type of cal used."lcorcal","hcorcal","lcal","hcal","lxcal","hxcal","l90cal,"h90cal |
| obsmode |
SVG |
char[8] |
Observing pattern used. Some
names are: "ON","ONOFF","DPS","RADECMAP","DECRAMAP","BASKET","FIXEDAZ" |
| scantype |
SVG |
char[8] |
Each observing pattern is made up of one or more scans. scantype names the type of scan within a pattern. Some names are: "ON","OFF","UP","DOWN". Patterns that have a single scantype are usually labeled with "ON". |
| prfeed |
SVA |
int*4 |
alfa beam that is being used to
point the telescope. Values 0..6. |
| psetgrp | SVG | - not in structure |
specifies which group this pset
config belongs to. If no psetgrp is given then it defaults to g0. Example: psetgrp=g0: |
| filetype |
MV |
not in structure |
The type of output file to
generate. An integer value:
|
| FIELD |
bpCmd Location |
Src |
Description |
| From pnet open command |
|||
| baseFilename | FILEI fname[] |
filepre conf |
Program will increment 5 digit index number if more than 1 file is needed per scan. |
| dumpsToWrite |
FILEI blkstoWrite |
start command |
How many dumps to output for
this scan. |
| maxBytesFile |
FILEI maxBytesFile |
conf |
When output file gets this
large, switch to new file. 0 --> stay with one file |
| nextSeqNumber |
FILEI nxtSeqNum[] |
pnet |
Next sequence number for start
of scan. |
| From sp1
header sent via pnet |
|||
| dataType |
FILEI[] |
B byte, I short,J int,E float,D
double. This is the datatype to be stored in fits header. |
|
| dumpsPerRec |
FILEI[] |
Number of dumps per output
record. |
|
| exposure |
FITSINIT |
integration time in seconds.
From FCNT,adckHz in sp1 hdr. |
|
| polPerDump |
FILEI[] |
from sp1 fmttype. Can be 1,2, or
4. |
|
| From
pnetctl PSET via bpCmd |
|||
| frontend |
char[8] |
receiver name. alfa is : "alfa"
.. not necessarily null terminated. |
|
| object |
char[16] |
source name. does not have to be
null terminated. |
|
| obsNm |
char[24] |
observers name or initials. |
|
| projid |
char[8] |
like a1723 . |
|
| topoFreq |
double[2] |
frequency center of band. crval1
Hz. Low, hi band |
|
| restfreq |
double[2] |
rest frequency center of
band Hz. Low, hi band. |
|
| pattern_id |
int*4 |
pattern Id Ydddnnnnn this
increments on every new pattern. |
|
| scan_id |
int*4 |
scannumber Ydddnnnnn nnnnn
increments each scan . Y is the last digit of the year. |
|
| req_sys |
char[8] |
"TOPOCENT","GEOCENTR","BARYCENT","LSRK","UNKNOWN" | |
| req_vel |
char[8] |
||
| req_vel_unit |
char[8] |
unit of req_vel. "m/s" or "Z" | |
| req_vel_type |
char[8] |
values are:"VOPT-F2W","ZOPT-F2W","ZRAD-F2V", or "UNKNOWN" | |
| caltype |
char[8] |
type of cal used."lcorcal","hcorcal","lcal","hcal","lxcal","hxcal","l90cal,"h90cal | |
| obsmode |
char[8] |
Observing pattern used. Some
names are: "ON","ONOFF","DPS","RADECMAP","DECRAMAP","BASKET","FIXEDAZ" |
|
| scantype |
char[8] |
Each observing pattern is made up of one or more scans. scantype names the type of scan within a pattern. Some names are: "ON","OFF","UP","DOWN". Patterns that have a single scantype are usually labeled with "ON". | |
| backendmask |
int[8] |
one entry for each box. low band
is lower 4 bits, upper band is upper 4 bits. 4bit coding: 1- polA,B or stokes I only 3 - pola, polB 15- stokes |
|
| pcalctl |
int |
0 caloff always, 1 cal on
always, 2 winking cal |
|
| wcalon |
int |
dumps for winking cal on |
|
| wcaloff |
int |
dumps for winking cal off |
|
| wcalphase |
double |
0 to 1. where the cal transition
should occur in the last dump of calon or caloff. |
|