00001 ################################################################################ 00002 # README for the CurrValTable subpackage of the LICOS project 00003 # Author: Jim Panetta 00004 # 00005 # This file is intended to be processed by doxygen. 00006 # 00007 # $Id: $ 00008 # 00009 ################################################################################ 00010 00011 00012 00013 /*! \page current_value_table GLAST LICOS Current Value Table subpackage 00014 00015 00016 \section introduction Introduction 00017 00018 This sub package contains a set of python classes for support of and access to the 00019 LICOS Current Value Table (CVT) 00020 00021 \section definitions Definitions and Acronyms 00022 \li \c CV Current Value (object) 00023 \li \c CVT current value table (object) 00024 \li \c CCSDS A NASA data transfer protocol 00025 \li \c VSC The Virtual SpaceCraft interface 00026 \li \c observer A client that "observes" a CV. 00027 When a CV is updated, each \c observer is notified of the update asynchronously. 00028 \li \c requestor A client that "requests" a CV. This request is synchronous. 00029 00030 00031 \section protocol TCP protocol 00032 00033 All messages are based on a simple TCP protocol. 00034 \li Messages are INT16-strings: strings preceded with a 16 bit ushort length \n 00035 \b Note: This gives an inherent limit to the length of a message of 64k. 00036 \li Messages to the server are in plain text and are of the format <keyword> [<arguments>] 00037 \li Messages from the server are typically binary strings with a 3 character keyword 00038 prepending. Ex; "up ........." indicates an update of a CV of some sort. 00039 00040 \section files Files and Applications 00041 00042 \li \c CurrValServer.py 00043 Implements the base current value table service and protocol as well as a server for testing\n 00044 (Classes \ref CurrentValueFactory, \ref CurrentValueProtocol)\n 00045 \n 00046 Usage: python CurrValServer.py --pktFile packet.out --cvtPort 39800 00047 00048 \li \c CurrValClient.py 00049 Implements the base current value table client (\e observer protocol) as well as a base client for testing\n 00050 (Classes \ref CurrValClientFactory, \ref CurrValClient)\n 00051 \n 00052 Usage: python CurrValClient.py --cvtHost localhost --cvtPort 39800 00053 00054 \li \c CvtTesterImpl.py 00055 Implements a test CVT client (\e observer protocol) to display individual telemetry 00056 values with engineering unit conversions.\n 00057 \n 00058 Usage: python CvtTesterImpl.py --cvtHost localhost --cvtPort 39800 --pktList "LHKADAB33V,LHKADABTEMP" 00059 00060 00061 \li \c ScriptClient.py 00062 Implements the base current value table client (\e requestor protocol) 00063 as well as a base client for testing\n 00064 (Classes \ref ScriptClient)\n 00065 \n 00066 Usage: python ScriptClient.py --cvtHost localhost --cvtPort 39800 00067 00068 \li \c VscCvt.py 00069 Implements the connection of the CVT to the VSC/spacecraft\n 00070 The file vsc.cfg is in LICOS_ETC and is a template 00071 \n 00072 Usage: python VscCvt.py --vscHost lat-elf2 --config vsc.cfg 00073 00074 00075 00076 00077 00078 00079 00080 \section classdiag Classes 00081 00082 \subsection CurrentValueFactory CurrentValueFactory 00083 \subsection CurrentValueProtocol CurrentValueProtocol 00084 \subsection CurrValClientFactory CurrValClientFactory 00085 \subsection CurrValClient CurrValClient 00086 \subsection ScriptClient ScriptClient 00087 00088 00089 00090 00091 00092 00093 00094 00095 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 */