1 |
1 |
'''II. [wiki:Grasp STARGRASP Software Overview]''' |
2 |
2 |
[[TracNav(GraspContents)]] |
3 |
3 |
= STARGRASP Software = |
4 |
4 |
See also [wiki:GraspSwCommandSyntax Command syntax notes] |
5 |
5 |
These are the five layers of interfaces to the STARGRASP controller system. Each is built on only the next lower layer: |
6 |
6 |
A. [wiki:GraspSwDemoScripts Demo Scripts] |
7 |
7 |
Our example/template script commands run on the STARGRASP pixel server. |
8 |
8 |
They are implemented in Bourne Shell and are primarily for |
9 |
9 |
demonstration -- a suggested way to integrate a camera |
10 |
10 |
or set of detectors controlled by STARGRASP into a larger system. |
11 |
11 |
The scripts use toolkit level commands, described below, |
12 |
12 |
to control a group of controller boardsets. |
13 |
13 |
B. [wiki:GraspSwToolkit Toolkit Level] |
14 |
14 |
The STARGRASP toolkit consists of C programs which a user or |
15 |
15 |
script can invoke on the pixel server host. Toolkit programs |
16 |
16 |
can be invoked on any host with the ability to connect to the |
17 |
17 |
controller using IP over Ethernet. The most important tools |
18 |
18 |
in the toolkit are those which receive log messages, boot the |
19 |
19 |
controller, send arbitrary commands, and retrieve FITS images. |
20 |
20 |
Additional engineering tools exist to visualize and optimize |
21 |
21 |
noise performance and generate clocking patterns. |
22 |
22 |
C. [wiki:GraspSwClibraries STARGRASP C Libraries] |
23 |
23 |
Each of the toolkit tools are built on five main C Libraries. |
24 |
24 |
Users wishing to replace the Demo Scripts, or make their own |
25 |
25 |
customized tools that work in a similar fashion to the |
26 |
26 |
toolkit level can build their own programs by using the |
27 |
27 |
APIs at this level and linking with these libraries. Some |
28 |
28 |
of the APIs at this level are still evolving, so we recommend |
29 |
29 |
using the Toolkit tools instead, if possible. |
30 |
30 |
D. [wiki:GraspSwControllerCmd Controller Socket Commands] |
31 |
31 |
The STARGRASP C libraries must accomplish all controller |
32 |
32 |
communication through a TCP socket on the controller's |
33 |
33 |
port 915 (by default.) The majority of these commands are sent |
34 |
34 |
by using grasp_cmd() (the C function, or the toolkit tool.) |
35 |
35 |
grasp_cmd is a pass-through to the extensive list of commands |
36 |
36 |
that the controller supports at the socket level. For diagnostics, |
37 |
37 |
many of these commands can also be typed manually if a serial |
38 |
38 |
console is connected to the controller, and most can be sent |
39 |
39 |
interactively with a tool such as "telnet" or "nc". A command |
40 |
40 |
exists to control each analog and digital function of the controller. |
41 |
41 |
E. [wiki:GraspSwRegisters Registers and Clocking Instructions] |
42 |
42 |
Registers and Clocking Instructions are the lowest level API, |
43 |
43 |
used only by someone adding a new controller socket level command. |
44 |
44 |
All controller socket level commands are implemented in C code |
45 |
45 |
(downloaded as the stage2.srec to the controller) which modifies |
46 |
46 |
registers or address space, and/or writes instructions to the |
47 |
47 |
clocking engine. |
|
48 |
|
|
49 |
== What's New in 3.04 == |
|
50 |
|
|
51 |
The stargrasp-3.04 source tarball has been tested on Ubuntu 14.04LTS (desktop, amd64) and should also build on MacOSX and most 32-bit and 64-bit Linux distributions. Here is a quick summary of what's been done between 3.03 and 3.04: |
|
52 |
|
|
53 |
* Tweak CCID20 "safe" voltages to allow DR of 21V (with a warning.) |
|
54 |
* Fix "successfully powered ON" message when actually powering OFF. |
|
55 |
* In grasp_save_ccid20, add MJD-OBS, and shutter UTC+MJD close/open times. |
|
56 |
* In grasp_save_ccid20, move DARKTIME to the primary header unit. |
|
57 |
* Fix some small compilation problems on Centos 6.4 (-lcrypt, ulong). |
|
58 |
* More updates to daqsim, include command queue code from the real thing. |
|
59 |
* GPC2 otatool updates, CCID71 support, and grasp_save_ota TDI mode fix. |
|
60 |
* Noisetone compiles again, but may only be working on Linux at the moment. |