aosock

Online vxWorks programs by VME crate

29mar06

pnt crate
pnt cpu: pointing prog, pntTcl for operators
pntp1 cpu:vertex control.
pntp2 cpu:rotary floor (turret)  control.
pntp3 cpu:tiedowns, sband pc communications, laser ranging.
da crate
da cpu: mcpProg,  ri, sps, rtg, iflo.
dap1 cpu: dds,pncode generators,sband doppler.
dap2 cpu: write gio data across link to pc
cor crate:
cor cpu: control the 4 interrim correlator cpu/boards.
corp1 cpu: control cor cal pulses, cor blanking.
corp6-9: the 4 cpu interrim correlator cpu boards.
rfi crate
rfi  cpu: hilltop monitoring cpu.
rfip1 cpu: dewar monitoring cpu.
routines common to multiple cpus

SrcLocations:
        The source locations quoted are relative to /home/phil/


PNT crate:

pnt cpu (pointing prog. 1st cpu in crate)  (top)
taskName Function
pntMProg pointing program (communication half)
src: vw/datatk/pnt/Prog/pntMProg.c
pntXform pointing program (real time half). Wakes up once a second and computes astro->encoder for current coordinates we are tracking. Also handles any new requests from pntMProg (new coordinates..)
src:vw/datatk/pnt/Prog/pntXform.c
pntTcl tcl interpreter that lets the operator control the pnt comands. It is a stripped down version of the mcpProg (with just the aog and the pnt commands).
src:vw/datatk/aotcl/pntTcl.c
irigServ Control the vme irig vme board in pnt crate. It distributes irigtime to the network.
src:vw/devs/irig/irigServ.c
alfaProg
alfaOPrg
control the alfa rotator. split into communications half and realtime half. This routine is no longer used.
src:vw/datatk/pnt/alfa/alfaProg.c
common
routines:
prgMgr synClock hdrProg getTmD sysLogD gwProg rshd lastBootsv vxwSockD idlLoop

 
pntp1 cpu (vertex control. 2nd cpu in crate)  (top)
taskName Function
agcProg
agcOProg
controller for Azimuth, Gregorian, and Carriage house. Takes 1 second update requests (encoder units) from pntXform and sends them to the Vertex lcu program in the shelter upstairs. it also receives not realtime requests from pntMProg.Also does all of the montoring requests of vertex system. The (O) is the real time half
src: 
common
routines
prgMgr synClock  getTmD sysLogD gwProg rshd lastBootsv vxwSockD idlLoop

 
pntp2 cpu (turret control. 3rd cpu in crate)  (top)
taskName Function
ttProg
ttOProg
rotary floor (turret) control program. Split into comm (ttProg) and realtime (ttOProg) parts. Gets requests from pntMProg.
src: 
mctrlWdTask watch dog communication task for talking with the little start micros over a serial link. This is started by ttProg.
src: 
common
routines
prgMgr synClock  getTmD sysLogD gwProg rshd lastBootsv vxwSockD idlLoop
pntp3 (tiedowns, sband pc comm., laser ranging. 4th cpu in crate)  (top)
taskName Function
tieProg
tieOProg
tieDown control program. Split into comm (tieProg) and realtime (tieOProg). Take input from pntXform and pntMProg. Sends output to the 3 littles star cpus at each tiedown.
src: vw/datatk/pnt/ttt/tie/tieProg.c
mctrlWdTask watch dog communication task for talking with the little start micros over a serial link. This is started by tieProg.
src: vw/datatk/pnt/ttt/mctrl/mctrlLib.c
sbProg program to talk to the sband transmitter cpu over a serial link. 
src: vw/datatk/sb/sbProg.c
sbWdTask watch dog communication task for talking with the sband pcover a serial link. This is started by sbProg.
src: vw/datatk/sb/sbProg.c
lrMon
lrMonIo
monitor the laser ranging (distomats). Read from the lrpc disc file and then pass the info on to the pntProg. lrMonIo is the routine that wait on the pc file to update. It is started by lrMon.
src: vw/datatk/lr/lrMon.c
serendip Input telescope status info and output this info in ascii (over a serial  lin)  to the serendip cpu.
src: vw/datatk/pnt/agc/serendip.c


Da crate:

da cpu (ri,sps,rtg,iflo. 1st cpu in crate)  (top)
taskName Function
mcpProg tcl interpreter to let user control devices on ri crate (iflo,ri,sps,sps, etc..).
src: vw/datatk/aotcl/mcpProg.c
swProg switch program. Takes input buffers from riProg and multiplexes them out to dsProg, tpProg,gioProg,
src: vw/datatk/sw/swProg.c
tpProg Take data buffers from swProg and outputs them to 1 or more exabyte tape drives. Supports serial (1 tape at a time) or interleaves (multiple tapes at once). Also receives tape commands from the mcpProg.
src: vw/datatk/tp/tpProg.c
dsProg Takes buffers from swProg and writes then to disc (mainly nfs mounted discs). Also receives disc commands from mcpProg.
src: vw/datatk/ds/dsProg.c
riProg
tdRiProg
control the radar interface. Split into comm (riProg) and real time (tdRiProg).
src: vw /datatk/ri/riProg.c
spsProg control the sps (430 xmter controller)
src: vw/datatk/sps/spsProg.c
rtgProg Control the timing generator that creates sample pulses for ri.
src: vw/datatk/rtg/rtgProg.c
if1Prog Control the switches/synths for the upstairs if/lo. Output goes to the gpib bus via the mizer vme gpib card
src: vw/datatk/if1/if1Prog.c
if2Prog Control the switches/synths for the downstairs if/lo. Output goes to the gpib bus via the mizer vme gpib card
src: vw/datatk/if2/if2Prog.c
monTemp Montors the temperature in the gregorian turret room. Reads the multi meter over gpib and writes to disc.
src: vw/datatk/mon/monTemp.c
suFile_svc Allows atm programs to send their setups from sun os into the mcp program where the new setup info is stored.
src: vw/rpc/suFile/sufile_con_1.c 
getInfoSvc Lets programs on sunos display the current usage of the message queues and free buffer space.
src: vw/rpc/getInfo/getinfo_1.c
common
routines
prgMgr synClock  hdrProg getTmD sysLogD bbMonTime gwProg rshd tmDg01 lastBootsv vxwSockD

 
dap1 cpu (dds,pncode generators,sband doppler.. 3rd cpu in crate)  (top)
taskName Function
ddsProg Control the dds synthesizers
src: vw/datatk/dds/ddsProg.c
pncProg Control the standard pn code generator
src: vw/datatk/pnc/pncProg.c
pn128Prog Control the 128K pn code generator
src: vw/datatk/pnc/pn128Prog.c
pnclProg Control the long code pn code generator
src: vw/datatk/pncl/pnclProg.c
sbdProg Do the sband doppler computations and millisecond updates to dds.
src: vw/datatk/sb/sbdProg.c
common 
routines
prgMgr synClock   getTmD sysLogD bbMonTime gwProg rshd  vxwSockD

 
dap2 cpu (write gio data across link to pc. 2nd cpu in the crate)  (top)
taskName Function
giorProg input giodata from gioProg on da cpu and output data across link to gio pc server.
src: vw/datatk/gio/giorProg.c
common 
routines
prgMgr sysLogD bbMonTime gwProg rshd  vxwSockD


cor crate:

 
cor cpu (control the 4 correlator boards. 1st cpu in crate)  (top)
taskName Function
mcpProg tcl interpreter to let user control devices
corProg
tdCorProg
Control the 4 correlator boards. Takes input from mcpProg. Talks across the vme bus to the 4 correlator boards. Reads in the data, combines them, and outputs to disc. Split into a comm portion (corProg) and a real time portion (tdCorProg).
src: vw/datatk/corN/corProg.c (lib at vw/datatk/cor/Lib/*.c
swProg switch program. Takes input buffers from corProg and multiplexes them out to dsProg,  or tpProg (although no tape is currently on the cor crate).
src: vw/datatk/sw/swProg.c
dsProg Takes buffers from swProg and writes then to disc (mainly nfs mounted discs). Also receives disc commands from mcpProg.
src: vw/datatk/ds/dsProg.c
tpProg Take data buffers from swProg and outputs them to 1 or more exabyte tape drives. Supports serial (1 tape at a time) or interleaves (multiple tapes at once). Also receives tape commands from the mcpProg. currently there are no tape drives installed on the cor cpu.
src: vw/datatk/tp/tpProg.c
getInfo_svc Lets programs on sunos display the current usage of the message queues and free buffer space.
src: vw/rpc/getInfo/getinfo_1.c
sufile_svc Allows atm programs to send their setups from sun os into the mcp program where the new setup info is stored.
src:  vw/rpc/suFile/sufile_con_1.c
common 
routines
prgMgr synClock  hdrProg getTmD sysLogD bbMonTime gwProg  rshd tmDg01 vxwSockD

 
corp1 cpu (control cor cal pulses. 2nd cpu in crate)  (top)
taskName Function
ccalProg Cal control and blanking for correllator boards. Take requests from corProg. Generates cal pulses to send to port 1 of the cal multiplexor.
src:  vw/datatk/corN/ccalProg.c
common
routines
prgMgr   hdrProg getTmD sysLogD bbMonTime gwProg  rshd tmDg01 vxwSockD

 
corp6-9 (interim correlator cpu boards.  last 4 cpus in crate)  (top)
taskName Function
corLProg Controls individual correlator board. Gets commands from corProg via the vme bus. Gets acf's from correlator board. Sends acf, receives spectra from corLProc, sends spectra back to corProg.
src:  vw/datatk/corN/corLProg.c
corLProc Correlator processing program. Gets acf from corLProg, accumulates acfs', does level correction and then computes spectra. Sends spectra back to corLProg.
src:  vw/datatk/corN/corLProc.c
common 
routines
sysLogD bbMonTime getinfo_svc rshD vxwSockD


rfi crate:

rfi  cpu (hilltop monitoring cpu. 1st cpu in crate)  (top)
taskName Function
intfMon Program that controls the hilltop monitoring cpu. Reads spectrum analyzer, writes to disc.
src:  vw/intfM/Progs/intfMon.c
common
routines
bbMonTime rshD vxwsock_svc vxwSockD

 
rfip1 cpu (dewar monitoring. 2nd cpu in crate)  (top)
taskName Function
rcvMNProg program to control the dewar monitoring. Uses a 34970 multi meter to select the things to read and to read the voltages. Communicates via gpib over gpib to ethernet link.
src:  vw/datatk/rcvMon/rcvMNProg.c

platform ethernet plugs into this cpu. 
common 
routines
getTmD rshD vxwSockD

common routines:

routines common to multiple cpus  (top)
taskName Function
bbMonTime Control the battery backed time in the clock chip
src:  vw/devs/time/Bbram/bbMonTime.c
getTmD Udp server that returns the time to remote requestors.
src:  vw/util/getTmD.c
gwProg Allows communications between cpus. Lets programs on 1 cpu access a message queue on a different cpu. Each crate has a gwProg that talks to the internal programs via a messages queue and gwProgs on other cpus via a socket.
src:  vw/datatk/msg/GW/gwProg.c 
hdrProg Loads info into some scramnet hdrBlocks (misc, doppler..)
src:  vw/datatk/hdrPrg/hdrProg.c
idleLoop Runs at the lowest priority counting how much time it gets.
src:  vw/util/idleLoop.c
lastBootSv Remote users can query when the machine was last rebooted
src:  vw/util/lastBootSv.c
prgMgr Program manager. Keeps track of which programs are running on a cpu. Programs register with the prgMgr. It can then map names into msgQId for local and remote programs. Can also start/stop programs (locally or remotely).
src:  vw/datatk/prgMgr/prgMgr.c    
rshD Emulate an rsh daemon on vxWorks
src:  vw/inet/Rshd/rshd.c
syncClock Syncrhonize the local 1 second tick with the correct second.
src:  vw/devs/irig/syncClock.c
sysLogD Sends log creates to syslogD on observer2
src:  vw/datatk/errRep/sysLogLib.c
tmDg01 Program to print out the current time once a second. Remote users can use this as a clock. It is slaved to the hardware 1 second tick of the cpu.
src:  vw/diag/tmDg01.c
vxwSock Allows external users to start a program on local cpu and connect a socket to it.
src:  vw/rpc/vxwsock/vxwsock_con_1.c

mcpProg: tcl interpreter.

    The mcpProg is a tcl interpreter that runs on vxWorks. Commands have been added to it to help control the telescope and datataking devices.




aosock: socket communications from Tcl in vxWorks.  (top)

    Do socket i/o from a vxWorks tcl interpreter. The cmd has been added to:

    Notes:

    Usage:




home_~phil