| 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. 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 |
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. |
|