Home

Documentation

Project Support

Changes in Version 2 of GraspSw

Author:
isani
Timestamp:
Thu Feb 4 08:02:05 2010

Legend:

Unmodified
Added
Removed
Modified
  • GraspSw

    v1 v2
    1 1  '''II. [wiki:Grasp STARGRASP Software Overview]''' 
    2 2  [[TracNav(GraspContents)]] 
      3  See also [wiki:GraspSwCommandSyntax Command syntax notes] 
      4   
    3    There are five layers of interfaces to the STARGRASP controller system.  Each is built on only the next lower layer: 
      5  These are the five layers of interfaces to the STARGRASP controller system.  Each is built on only the next lower layer: 
    4 6  A. [wiki:GraspSwDemoScripts Demo Scripts] 
    5 7    Our example/template script commands run on the STARGRASP pixel server. 
    6 8    They are implemented in Bourne Shell and are primarily for 
    7 9    demonstration -- a suggested way to integrate a camera 
    8 10    or set of detectors controlled by STARGRASP into a larger system. 
    9 11    The scripts use toolkit level commands, described below, 
    10 12    to control a group of controller boardsets. 
    11 13  B. [wiki:GraspSwToolkit Toolkit Level] 
    12 14    The STARGRASP toolkit consists of C programs which a user or 
    13 15    script can invoke on the pixel server host.  Toolkit programs 
    14 16    can be invoked on any host with the ability to connect to the 
    15 17    controller using IP over Ethernet.  The most important tools 
    16 18    in the toolkit are those which receive log messages, boot the 
    17 19    controller, send arbitrary commands, and retrieve FITS images. 
    18 20    Additional engineering tools exist to visualize and optimize 
    19 21    noise performance and generate clocking patterns. 
    20 22  C. [wiki:GraspSwClibraries STARGRASP C Libraries] 
    21 23    Each of the toolkit tools are built on five main C Libraries. 
    22 24    Users wishing to replace the Demo Scripts, or make their own 
    23 25    customized tools that work in a similar fashion to the 
    24 26    toolkit level can build their own programs by using the 
    25 27    APIs at this level and linking with these libraries.  Some 
    26 28    of the APIs at this level are still evolving, so we recommend 
    27 29    using the Toolkit tools instead, if possible. 
    28 30  D. [wiki:GraspSwControllerCmd Controller Socket Commands] 
    29 31    The STARGRASP C libraries must accomplish all controller 
    30 32    communication through a TCP socket on the controller's 
    31 33    port 915 (by default.)  The majority of these commands are sent 
    32 34    by using grasp_cmd() (the C function, or the toolkit tool.) 
    33 35    grasp_cmd is a pass-through to the extensive list of commands 
    34 36    that the controller supports at the socket level.  For diagnostics, 
    35 37    many of these commands can also be typed manually if a serial 
    36 38    console is connected to the controller, and most can be sent 
    37 39    interactively with a tool such as "telnet" or "nc".  A command 
    38 40    exists to control each analog and digital function of the controller. 
    39 41  E. [wiki:GraspSwRegisters Registers and Clocking Instructions] 
    40 42    Registers and Clocking Instructions are the lowest level API, 
    41 43    used only by someone adding a new controller socket level command. 
    42 44    All controller socket level commands are implemented in C code 
    43 45    (downloaded as the stage2.srec to the controller) which modifies 
    44 46    registers or address space, and/or writes instructions to the 
    45 47    clocking engine.