II. STARGRASP Software Overview
Contents
- STARGRASP Info-Sheet
- STARGRASP Quick Start
- STARGRASP Core System
- I. Core System Operation
- A. Quick Start
- B. Performance
- II. Core Software Overview
- Command Syntax Notes
- Application Notes
- A. Demo Scripts
- config
- functions
- stage2
- pon
- cal
- setup
- clean
- expose
- readout
- save
- video
- B. Toolkit Level
- grasp_receiver
- grasp_boot
- grasp_cmd
- grasp_save
- grasp_save_ota
- grasp_pon_ota
- C. STARGRASP C Libraries
- libcli.a
- libsockio.a
- libfh.a
- libcatp.a
- libstargrasp.a
- D. Controller Socket Commands
- adc
- celldes
- cellsel
- clean
- clk
- clvset
- console
- dac
- detsize
- dev
- etime
- etype
- expose
- exposing
- ifconfig
- leds
- ntp
- ot
- otacal
- pixtype
- reset
- readcal
- readout
- settrig
- shutter
- E. Registers and Clocking Instructions
- III. Core Hardware Overview
- A. Cryogenic Assemblies
- Rigidflex
- B. Cryostat Mounted Assemblies
- Chassis
- PREAMP
- DAQ3U
- FPGA
- PowerDist pcb
- Mounting plate
- Minipwrshutter
- C. Power Supplies
- IV. Computers and Switches
- V. Test Procedures
- Extra Software Provided (Unsupported)
- Status Server
- Log System
- FITS Data Store
- otatool
- fitspipe
- noisetone
- controller NTP client
- controller event timestamping
STARGRASP Software
See also Command syntax notes
These are the five layers of interfaces to the STARGRASP controller system. Each is built on only the next lower layer:
A. Demo Scripts
Our example/template script commands run on the STARGRASP pixel server. They are implemented in Bourne Shell and are primarily for demonstration -- a suggested way to integrate a camera or set of detectors controlled by STARGRASP into a larger system. The scripts use toolkit level commands, described below, to control a group of controller boardsets.
The STARGRASP toolkit consists of C programs which a user or script can invoke on the pixel server host. Toolkit programs can be invoked on any host with the ability to connect to the controller using IP over Ethernet. The most important tools in the toolkit are those which receive log messages, boot the controller, send arbitrary commands, and retrieve FITS images. Additional engineering tools exist to visualize and optimize noise performance and generate clocking patterns.
Each of the toolkit tools are built on five main C Libraries. Users wishing to replace the Demo Scripts, or make their own customized tools that work in a similar fashion to the toolkit level can build their own programs by using the APIs at this level and linking with these libraries. Some of the APIs at this level are still evolving, so we recommend using the Toolkit tools instead, if possible.
The STARGRASP C libraries must accomplish all controller communication through a TCP socket on the controller's port 915 (by default.) The majority of these commands are sent by using grasp_cmd() (the C function, or the toolkit tool.) grasp_cmd is a pass-through to the extensive list of commands that the controller supports at the socket level. For diagnostics, many of these commands can also be typed manually if a serial console is connected to the controller, and most can be sent interactively with a tool such as "telnet" or "nc". A command exists to control each analog and digital function of the controller.
E. Registers and Clocking Instructions
Registers and Clocking Instructions are the lowest level API, used only by someone adding a new controller socket level command. All controller socket level commands are implemented in C code (downloaded as the stage2.srec to the controller) which modifies registers or address space, and/or writes instructions to the clocking engine.
What's New in 4.00
The stargrasp-4.00 source tarball has been tested on Ubuntu 22.04 LTS, and should be usable both on earlier versions (down to 18.04, possibly earlier) and also the imminent 24.04 release. It should also build on MacOSX and most 32-bit and 64-bit Linux distributions, including Microsoft's WSL.
The 4.00 release mainly includes fixes to work with modern compiler suites, especially where fortran is concerned.
Many Linux distributions unfortunately do not come by default with development files necessary to build traditional Unix applications such as those based on libX11 and ncurses. You may also need to install compilers for C++ and FORTRAN to build the STARGRASP source code. Under CentOS, this is achieved by doing the initial install as a "development workstation." For ubuntu 22.04, the following were needed on a default "server" install:
sudo apt install autoconf g++ gfortran libasound2-dev libncurses5-dev librrd-dev libssl-dev libtool libx11-dev make pkgconf
Past releases were tested against Centos. However, since the decision to largely abandon the old model of following RHEL in favour of "Stream" (which tracks ahead of RHEL), there's been little to no interest in using this any more.
In the past, for RedHat-based Linux distributions not initially installed for software development, the following may have worked:
yum -y groupinstall 'Development Tools' yum -y install gcc-gfortran # gfortran not necessarily included in dev tools package. yum -y install libX11-devel yum -y install rrdtool-devel yum -y install glibc-static yum -y install openssl-devel
Attachments
- stargrasp-src-2.00.tgz (9 MB) - Initial public release of software, including many extras., added by isani on Thu Jun 25 21:58:57 2009.
- stargrasp-src-2.02.tgz (10 MB) - Updated STARGRASP software from July 2011. Includes better 64-bit support., added by crae on Tue Jul 26 17:50:25 2011.
- stargrasp-src-3.00.tar.gz (9 MB) - Includes libjpeg (for otatool), Jumbo packet support, 64-bit fixes, and an ncurses fix for Director invisible prompt bug., added by isani on Fri Mar 16 13:10:11 2012.
- stargrasp-src-3.02.tar.gz (12 MB) - Various bug fixes, and adds noisetone and zimfits (in extras.), added by isani on Fri Sep 7 13:06:21 2012.
- stargrasp-src-3.03.tar.gz (13 MB) - New utilities ("make ccid20"), cestlavie history feature, updates to ircclient, director, and daqsim controller simulator., added by isani on Wed Sep 25 07:39:25 2013.
- stargrasp-src-3.04.tar.gz (13 MB) - (See details above). New MJD timestamps, CentOS, Ubuntu 14.04, 64-bit, and gcc-4.8 tested., added by isani on Sat Apr 26 14:01:37 2014.
- stargrasp-src-3.05.tar.gz (13 MB) - Updated fitspipe tools, tested on Ubuntu 18.04 (gcc 7.4) and Centos 7, added by crae on Mon Aug 19 16:42:49 2019.
- stargrasp-src-3.06.tar.gz (14 MB) - Latest versions of everything, and fix compilation with old Sun compiler for SkyMapper., added by isani on Fri Oct 23 17:40:30 2020.
- stargrasp-src-3.08.tar.gz (14 MB) - Same as 3.06, but we added "agilent" (in the extras directory.), added by isani on Sat Oct 31 21:03:40 2020.
- stargrasp-src-3.10.tar.gz (14 MB) - Mainly adds new 'fitspipe-ls' tool to extras., added by crae on Wed Oct 20 15:45:02 2021.
- stargrasp-src-4.00.tar.gz (14 MB) - Fixes for building on current Ubuntu LTS (22.04). Should work on 18.04, 20.04 and most likely on the new 24.04 release coming later this week. md5sum bd49a7279a8dfc6ac688a36cdb588ff8, added by crae on Tue Apr 23 16:49:14 2024.
- stargrasp-src-4.00.tar.xz (9 MB) - Fixes for building on current Ubuntu LTS (22.04). Should work on 18.04, 20.04 and most likely on the new 24.04 release coming later this week. md5sum 156b3c619fdd36fc4ba82d1f8a2e8a9b, added by crae on Wed Apr 24 12:03:59 2024.