The pointing program
apr14
Intro
The pointing program (actually programs) is
run on the pnt vme crate (motorola 167 boards). They are written
in C for the vxWorks operating system.
- pntMProg.c - master pointing program.
- runs on the pnt cpu
- talks to the outside world via messages
- controls the other programs that make up the pointing system
- It is closely coupled with pntXform since they both run on
the same cpu (vxWorks memory can be global on a cpu).
- a semaphore is used to synchronize the communications of
these two through a common memory area.
- pntXform takes care of providing timestamped encoder
values for the various devices (vertex,turret, tiedowns)
- pntMProg does the communications with the outside world.
It also sends the non time critical commands (doit it now
stuff) tothe various devices.
- pntXForm.c - performs the pointing transformations (ra,dec to
az,za) once a second.
- runs on pnt cpu
- talks to pntMProg.c via a common communications area
(vxWorks memory) and a semaphore to synchronize access to area
- runs on a 1 second tick cycle. Every second it wakes up and:
- checks for new points for vertex, turret, tie (in that
order)
- vertex: Transforms ra,dec (or whatever higher level
coordinate system) to az,za once a second
- It does this two seconds in the future.
- offsets, rates are added at this point
- sends time the stamped az,za positions to the
agcProg (on pntp1 cpu) once a second.
- The agcProg sends these to the the vertex control computer
- They are sent 1 to 2seconds in the future
- turret, tiedown can be command to do patterns.. ramps,
sinewaves, etc
- these are computed here and then sent to the devices.
- agcProg.c - controls the vertex devices: az, ch,, dome via the
control computers in the vertex shelter.
- agcOProg.c - real time portion of agcProg.
- loops taking requests off a queue and sending to the
vertex once a second.
- both run on the pntp1 cpu in the pnt crate
- agcProg receives commands from pntMProg to forward to
the vertex system
- receives time stamped az,za positions for tracking from
pntXform once a second
- regular commands are sent to vertex when they are received
- timestamped tracking positions are pushed onto a fifo for
agcOProg
- agcOProg takes data for the fifo and sends to vertex when
ready
- The split in programs is so that agcOProg never waits on
i/o and runs at a higher priority than agcProg
- send commands to vertex system via a dedicated ethernet.
- ttProg.c - controls the turret
- runs on pntp2.
- receives requests from pntMProg and pntXform
- sends info to little star master (below pnt vme crate)
using rs422->rs485 conveter (check this).
- The master sends info to little star in the rotary floor
room to control the floor.
- tieProg.c - controls the tiedowns
- runs on pntp3
- receives requests from pntMProg and pntXform
- sends comands out the rs232/422 port to the little start
master for the tiedowns.
- The little start master forwards the info to the 3 little
stars under the bowl at each tiedown
- lrMon.c - grabs the laser ranging data and computes the
average platform height.
- runs on pntp3
- provides info to pntMProg to decide how to move the tiedowns
to keep the platform at the correct height.
page_up
home_~phil