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 |
SVG 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:
Note: single pixel: Winking cal not supported.
|
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. When using both upper and lower bands,: 250000000 When using single pixel upper band only : 325000000 |
|
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 |
MV 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" 28oct11 see above. This is now ignored if fileprefix was defined for this group. commensal observing wanted the projid in header to match the projid of file. |
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. |