Table of Contents Previous Chapter
The purpose of the telemetry formatting classes are to format the contents of telemetry packets intended for transfer out of the instrument. This section describes the telemetry format class designs. The details of the telemetry packet formats are shown in Section TBD.
All telemetry format classes are a subclass of Protocols::TlmForm and packet transfers are managed by the Telemetry Manager (see Section 18.0). Given the large number of telemetry format classes, this section is broken into three subsections: non-science telemetry packet formats, parameter dump formats and science telemetry packet formats.
Figure 70 illustrates the overall relationships used by those TlmForm subclasses that do not directly format science telemetry. In the diagram, each format class is shown using a TlmAllocator instance. The label on each association indicates from which TlmAllocator instance a particular format class allocates its telemetry packets (NOTE: Although there are two TlmAllocator's drawn, this is for cosmetic reasons. There is actually only one TlmAllocator class definition).
FIGURE 70. Non-Science Telemetry Format Classes
Protocols::TlmForm - This class is provided by the Protocols class category, and is responsible for providing the common functionality and interface definitions for all telemetry format classes. See Section 18.0 for a detailed description of this class.
Protocols::TlmAllocator - This class is provided by the Protocols class category, and is responsible for allocating and releasing telemetry packet buffers from a telemetry pool. Each pool of telemetry buffers is managed by one allocator instance. After startup, all interactions with instances of this class are made via the TlmForm member functions. The classes described in this section use the global instances of TlmAllocator to inform their respective parent TlmForm which allocator to use to obtain telemetry packets of a particular type. If more than one class uses the same allocator, they compete for buffers from the managed pool. Class instances which use different instances do not compete for buffers (they do, however, compete for telemetry transfer time). See Section 18.0 for more detail.
TfCmdResponse - This abstract class is a subclass of TlmForm, which formats all telemetry packets which are in direct response to a command. This class provides the common functions to write the command identifier of the initiating command packet, setCmdId(), and write the timestamp associated with the response, setTimestamp().
TfSwHouse - This class is a subclass of TlmForm and is responsible for accumulating software housekeeping statistics directly into the telemetry packet's buffer, accumulateStat(), and for requesting and initializing the telemetry packet buffer, setupBuffer(). All instances of this class use the telemetry allocator instance, swHouseAllocator, to obtain telemetry packet buffers.
TfStartup - This class is a subclass of TlmForm and is responsible for formatting the startup telemetry packet message. This class provides functions to store the software version code, setVersion(), (TBD: Patch Version?), the initial ACIS timer tick counter (given an idle telemetry stream, this can be loosely correlated to the telemetry frame number, and subsequently to the spacecraft clock), setTimestamp(), the reason for the instrument reset (including the last sent fatal error message code and value), setBootMode(), and the results of the initial system integrity checks, set(Patch,Blocks,SysConfig)ValidFlag(). All instances of this class obtain their telemetry packet buffers from the startupAllocator instance.
TfDeaHouse - This class is a subclass of TlmForm and is responsible for formatting the contents of a DEA Housekeeping telemetry packet buffer. This class provides functions to inquire as to the maximum number of entries the buffer can hold, getMaxEntryCount(), set the parameter block identifier and timer tick counter into the packet header, setIdInfo(), and add housekeeping entries to the body of the packet, addEntry(). All instances of this class obtain their telemetry packet buffers from the deaHouseAllocator instance.
TfCmdEcho - This class is a subclass of TlmForm and is responsible for forming an echo of a command packet in a telemetry packet buffer. This class provides a function to copy a command packet into a command echo telemetry packet buffer, copyCmd(), and to set the command execution result code, setResult(). All instances of this class obtain their telemetry packet buffers from the cmdLogAllocator instance.
TfReadPram - This class is a subclass of TfCmdResponse, and is responsible for managing the telemetry packet contents of a dump of one of the DEA CCD Controller's Program RAM (PRAM). This class provides a function to obtain the start of the data buffer to use for the copied PRAM words, and the maximum length of this buffer, getReadBuffer(). It also provides functions to store the DEA CCD Controller Board identifier, the starting index of the read, and the number of PRAM words read (setBoardId(), setIndex() and setReadCount() respectively). All instances of this class obtain their telemetry buffers from the memServerAllocator instance. This TlmAllocator instance also supplies the following classes with telemetry buffers: TfReadSram, TfExecBep, TfExecFep, TfReadBep, TfReadFep.
TfReadSram - This class is a subclass of TfCmdResponse, and is responsible for managing the telemetry packet contents of a dump of one of the DEA CCD Controller's Sequencer RAM (SRAM). This class provides identical capabilities to the TfReadPram class, except that its function work using SRAM data units instead of PRAM units. All instances of this class obtain their telemetry buffers from the memServerAllocator instance. This TlmAllocator instance also supplies the following classes with telemetry buffers: TfReadPram, TfExecBep, TfExecFep, TfReadBep, TfReadFep.
TfExecBep - This class is a subclass of TfCmdResponse, and is responsible formatting the telemetry response to an "Execute Back End Memory" command (see Section TBD). This class provides a function, setReturnValue(), to store the return value of the subroutine called by the execute command. All instances of this class obtain their telemetry buffers from the memServerAllocator instance. This TlmAllocator instance also supplies the following classes with telemetry buffers: TfReadSram, TfReadPram, TfExecFep, TfReadBep, TfReadFep.
TfExecFep - This class is a subclass of TfCmdResponse, and is responsible for formatting the telemetry response to an "Execute Front End Memory" command (see Section TBD). In addition to providing the setReturnValue() function (see TfExecBep), this class also provides a function to store the Front End Processor identifier into the telemetry packet buffer, setFepId(). All instances of this class obtain their telemetry buffers from the memServerAllocator instance. This TlmAllocator instance also supplies the following classes with telemetry buffers: TfReadSram, TfReadPram, TfExecBep, TfReadBep, TfReadFep.
TfReadBep -This class is a subclass of TfCmdResponse, and is responsible for managing the telemetry packet contents of a dump of the Back End Processor's memory. This class provides a function to obtain the start of the data buffer to use for the copied words, and the maximum length of this buffer, getReadBuffer(). It also provides functions to store the starting address of the read, and the number of words read (setMemAddr() and setReadCount() respectively). All instances of this class obtain their telemetry buffers from the memServerAllocator instance. This TlmAllocator instance also supplies the following classes with telemetry buffers: TfReadSram, TfReadPram, TfExecBep, TfExecFep, TfReadFep.
TfReadFep -This class is a subclass of TfCmdResponse, and is responsible for managing the telemetry packet contents of a dump of one of the Front End Processors' memory. This class provides the same set of functions as TfReadBep and adds one additional function to store the Front End Processor Identifier, setFepId(). This TlmAllocator instance also supplies the following classes with telemetry buffers: TfReadSram, TfReadPram, TfExecBep, TfExecFep, TfReadBep.
Figure 71 illustrates the relationships between telemetry packet format classes involved in building parameter blocks during the setup phase of a Science or DEA Housekeeping run (see Sections TBD and TBD). All of the science parameter dumps use the scienceAllocator TlmAllocator instance to obtain their respective telemetry packet buffers. The DEA Housekeeping parameter dump counts on the deaHouseAllocator to supply its telemetry packet buffers.
FIGURE 71. Parameter Dump Telemetry Format Classes
TfDump - This class is a subclass of TlmForm and is responsible for storing information in the header area common to all parameter block dump classes. This class provides a function to set the Parameter Block Identifier, setBlockId(). It also provides a protected function, used by its subclasses to perform a word-by-word copy of a parameter block into the body of the telemetry packet buffer, storeBlock().
TfDumpTe - This class is a subclass of TfDump and is responsible for storing a Timed Exposure Parameter block into the body the telemetry packet buffer. This class provides the function copyBlock() to perform the copy. This class uses the TlmAllocator instance scienceAllocator, which is shared will all other science telemetry packet classes except the bias map dump.
TfDumpCc -This class is a subclass of TfDump and is responsible for storing a Continuous Clocking Parameter block into the body the telemetry packet buffer. This class provides the function copyBlock() to perform the copy. This class uses the TlmAllocator instance scienceAllocator, which is shared will all other science telemetry packet classes except the bias map dump.
TfDump2dWin -This class is a subclass of TfDump and is responsible for storing a 2-D Window List Parameter block into the body the telemetry packet buffer. This class provides the function copyBlock() to perform the copy. This class uses the TlmAllocator instance scienceAllocator, which is shared will all other science telemetry packet classes except the bias map dump.
TfDump1dWin -This class is a subclass of TfDump and is responsible for storing a 1-D Window List Parameter block into the body the telemetry packet buffer. This class provides the function copyBlock() to perform the copy. This class uses the TlmAllocator instance scienceAllocator, which is shared will all other science telemetry packet classes except the bias map dump.
TfDumpDeaHouse -This class is a subclass of TfDump and is responsible for storing a DEA Housekeeping Parameter block into the body the telemetry packet buffer. This class provides the function copyBlock() to perform the copy. This class uses the TlmAllocator instance scienceAllocator, which is shared will all other science telemetry packet classes except the bias map dump.
Figure 72 illustrates the relationships between telemetry packet format classes which produce science telemetry. All of these classes, except for the bias map data packets use the scienceAllocator TlmAllocator instance to obtain their respective telemetry packet buffers. The bias map data uses the biasAllocator instance.
Some of the abbreviations used to build the science packet format class names are as follows:
Tf - Telemetry Format (TlmForm) Sci - Science Format Exp - Exposure Er - Exposure Record Da - Data Te - Timed Exposure Cc - Continuous Clocking
FIGURE 72. Science Telemetry Format Classes
TfSciExpRecord - This class is a subclass of TlmForm and is responsible for storing information common to all types of Science Exposure Record telemetry packets. This class provides a function to store the parameter block identifier, the microsecond timestamp, latched at the start of the science run, the identifier of the CCD producing the exposure, and the exposure number into the telemetry packet buffer, setExposureInfo(). All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciData - This class is a subclass of TlmForm and is responsible for storing information common to all types of Science Data telemetry packets. This class provides a function to store the identifier of the CCD producing the data, and the data packet sequence number for the exposure, setDataInfo(). All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciReport - This class is a subclass of TlmForm and is responsible for storing post-science run information, such as a summary of the number of telemetered exposures, the number of bias map parity errors encountered during the run, flags indicating which, if any, of the Front End Processors encountered errors, etc. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciBias - This class is a subclass of TlmForm and is responsible for storing bias map information into a telemetry packet buffer. The detailed capabilities of this class are TBD, but will include the ability to pack bias map pixels into the telemetry packet buffer's data area (packBiasMap()). If a compression table is specified, this class uses the passed instance of the HuffmanTable class to compress the bias map into the buffer. If no compression table is passed, the bias map is not compressed. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, biasAllocator (not shown).
TfSciErTeRaw - This class is a subclass of TfSciExpRecord and is responsible for forming the body of a Timed Exposure Raw Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD, but will include the ability to store the number of pixels telemetered from the exposure (setPixelCount()). If a compression table is specified, this class uses the passed instance of the HuffmanTable class to compress the raw pixels into the buffer. If no compression table is passed, the pixels are not compressed. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErTeHist - This class is a subclass of TfSciExpRecord and is responsible for forming the body of a Timed Exposure Histogram Exposure Record telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErEvent - This class is a subclass of TfSciExpRecord and is responsible for forming the body of all types of event-based Exposure Record telemetry packets. The detailed capabilities of this class are TBD, but will include the ability to store the number of events produced, store the overclock levels used for the exposure, store a count of the number of pixels which exceeded a threshold, store the number of parity errors in the bias map encountered since the start of the run, and store the various event discard counters (see Figure 72). All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErTeEvent - This class is a subclass of TfSciErEvent and is responsible for forming the body of all Timed Exposure event-based Exposure Record telemetry packets. The detailed capabilities of this class are TBD.
TfSciErCcEvent - This class is a subclass of TfSciErEvent and is responsible for forming the body of all Continuous Clocking event-based Exposure Record telemetry packets. The detailed capabilities of this class are TBD.
TfSciErTeFaint - This class is a subclass of TfSciErTeEvent and is responsible for forming the body of a Timed Exposure Faint Mode Exposure Record telemetry packet. The detailed capabilities of this class, beyond those of its parent class, are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErTeFaintBias - This class is a subclass of TfSciErTeEvent and is responsible for forming the body of a Timed Exposure Faint with Bias Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD, but in addition to the functions provided by its parent, will include the ability to write the Bias Offset level used for the science run into the telemetry packet buffer (setBiasOffset()). All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErTeGraded - This class is a subclass of TfSciErTeEvent and is responsible for forming the body of a Timed Exposure Graded Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErCcRaw - This class is a subclass of TfSciExpRecord and is responsible for forming the body of a Continuous Clocking Raw Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErCcFaint - This class is a subclass of TfSciErCcEvent and is responsible for forming the body of a Continuous Clocking Faint Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErCcFaintBias - This class is a subclass of TfSciErCcEvent and is responsible for forming the body of a Continuous Clocking Faint Bias Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciErCcGraded - This class is a subclass of TfSciErCcEvent and is responsible for forming the body of a Continuous Clocking Graded Mode Exposure Record telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaTeRaw - This class is a subclass of TfSciData and is responsible for forming the contents of a Timed Exposure Raw Mode Data telemetry packet. The detailed capabilities of this class are TBD, but will include the ability to pack raw pixel data into the telemetry packet buffer (packData()). All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaTeHist - This class is a subclass of TfSciData and is responsible for forming the contents of a Timed Exposure Histogram Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaTeFaint - This class is a subclass of TfSciData and is responsible for forming the contents of a Timed Exposure Faint Mode Data telemetry packet. The detailed capabilities of this class are TBD, but will include the ability to pack Faint-Mode events and bias map parity error indicators into the telemetry packet buffer (packEvents()). All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaTeFaintBias - This class is a subclass of TfSciData and is responsible for forming the contents of a Timed Exposure Faint with Bias Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaTeGraded - This class is a subclass of TfSciData and is responsible for forming the contents of a Timed Exposure Graded Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaCcRaw - This class is a subclass of TfSciData and is responsible for forming the contents of a Continuous Clocking Raw Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaCcFaint - This class is a subclass of TfSciData and is responsible for forming the contents of a Continuous Clocking Faint Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaCcFaintBias - This class is a subclass of TfSciData and is responsible for forming the contents of a Continuous Clocking Faint with Bias Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
TfSciDaCcGraded - This class is a subclass of TfSciData and is responsible for forming the contents of a Continuous Clocking Graded Mode Data telemetry packet. The detailed capabilities of this class are TBD. All instances of this class obtain their telemetry packet buffers from the TlmAllocator instance, scienceAllocator (not shown).
Figure 73 illustrates the sequence of events involved in forming and sending the startup telemetry packet. This scenario re-iterates some of the behaviors described in Section 18.0.
FIGURE 73. Forming and sending a Startup Message
Figure 74 illustrate the overall sequences used to echo command packets.
FIGURE 74. Command Echo formatting
Figure 75 illustrates the overall scenario for logging statistics into software housekeeping packet buffers, and the steps used to post a housekeeping packet for transfer out of the instrument. This scheme relies on the client, the Software Housekeeper, maintaining two instances of TfSwHouse, referenced via pointers. When a transfer is requested, one form is used to acquire a telemetry buffer, and setup the buffer, while the other form is used to continue to accumulate asynchronous statistics reports. Once the new buffer is setup, the client starts acquiring values into the new buffer, while the second is posted for transfer out of the instrument.
FIGURE 75. Software Housekeeping format and posting
Figure 76 illustrates the use of the memory dump and execution result telemetry formats. The diagram illustrates the use of the TfReadPram and TfExecFep classes. The use of the remaining memory server classes, TfReadBep, TfReadFep, TfReadSram, TfExecBep, are similar and are not explicitly described.
FIGURE 76. Memory Dump and Execution Form Use
The DEA Housekeeper periodically acquires and telemeters a set of DEA housekeeping values. Figure 77 illustrates the use of DEA Housekeeping formats to accumulate and send one set of DEA Housekeeping information.
FIGURE 77. DEA Housekeeping format and posting
Figure 78 illustrates prototype uses of the Science Telemetry forms. The scenario illustrates the use of Timed Exposure Faint Mode exposures and data, concurrently with the sending of the bias map. Steps 1 - 11 illustrate the overall scenario for exposure data from one CCD. Steps 12 - 17 illustrate the steps used by the Bias Thief to form and send Bias Map telemetry packets.
FIGURE 78. Timed Exposure Faint Mode telemetry formats with Bias Map
Hierarchy:
Superclasses:
TlmForm
Public Uses:
CmdPkt
Implementation Uses:
TlmAllocator cmdLogAllocator
Public Interface:
Operations:
copyCmd() setResult()
Arguments:
const CmdPkt* cmdpkt
Documentation:
This function copies the contents of the passed command packet, cmdpkt, into the telemetry buffer.
Arguments:
CmdResult result
Documentation:
This function copies the command execution result code, result, into the telemetry buffer.
Hierarchy:
Superclasses:
TlmForm
Public Interface:
Operations:
TfCmdResponse() setCmdId() setTimestamp()
Protected Interface:
Operations:
getBufferInfo() setLength()
Arguments:
TlmAllocator* allocator
TlmFormatTag format
Documentation:
This constructor initializes its parent, TlmForm, passing up a pointer to packet buffer manager, allocator, and the telemetry format tag to use for this instance, format.
Arguments:
unsigned*& bufaddr
unsigned& bufcnt
Documentation:
This function supplies the buffer address, written into bufaddr, and maximum data length, written to bufcnt, of a telemetry packet, available for use by subclasses of this type of packet. The actual used length is set by setLength().
Arguments:
unsigned cmdid
Documentation:
This function sets the command identifier, cmdid, in the telemetry packet buffer.
Arguments:
unsigned tickcnt
Documentation:
This function stores the BEP timer tick counter, tickcnt, into the telemetry packet buffer.
Arguments:
unsigned wordcnt
Documentation:
This function sets the number of data words, wordcnt, written by the subclass to the telemetry packet buffer. The maximum available is obtained using getBufferInfo().
Hierarchy:
Superclasses:
TlmForm
Implementation Uses:
TlmAllocator deaHouseAllocator
Public Interface:
Operations:
addEntry() getMaxEntryCount() setIdInfo()
Private Interface:
Has-A Relationships:
Arguments:
DeaHouseId entryid
unsigned value
Documentation:
This function appends a DEA Housekeeping Identifier/Value pair, entryid and value respectively, to the end of the telemetry packet. This function returns BoolTrue if the value was added, and BoolFalse if the telemetry packet is full. NOTE: This type of telemetry packet is not bit-packed.
Arguments:
unsigned blockid
unsigned tickcount
Documentation:
This function sets the parameter block id, blockid, used to configure the DEA housekeeping run, and the BEP's tick counter, tickcount, at about the time the acquisition for this packet started.
Hierarchy:
Superclasses:
TlmForm
Public Interface:
Operations:
TfDump() setBlockId()
Protected Interface:
Operations:
storeBlock()
Arguments:
TlmAllocator* allocator
TlmFormatTag format
Documentation:
This constructor associates the parameter dump class with the telemetry buffer manager, allocator, and the telemetry format tag, format.
Arguments:
unsigned blockid
Documentation:
This function stores the parameter block identifier, blockid, in the telemetry buffer header.
Arguments:
const unsigned* srcaddr
unsigned wordcnt
Documentation:
This function provides a common function used by subclasses to copy a parameter block into the body of the telemetry packet buffer. srcaddr is the address of the parameter block, specified in terms of an array of 32-bit words. wordcnt is the number of 32-bit words to copy into the telemetry packet buffer.
Hierarchy:
Superclasses:
TfDump
Implementation Uses:
TlmAllocator scienceAllocator
Public Interface:
Operations:
copyBlock()
Arguments:
const Pb1dWindow& pblock
Documentation:
This function copies the parameter block, referenced by pblock, into the telemetry packet buffer. This function uses TfDump::storeBlock() to perform the actual copy.
Hierarchy:
Superclasses:
TfDump
Implementation Uses:
TlmAllocator scienceAllocator
Public Interface:
Operations:
copyBlock()
Arguments:
const Pb2dWindow& pblock
Documentation:
This function copies the parameter block, referenced by pblock, into the telemetry packet buffer. This function uses TfDump::storeBlock() to perform the actual copy.
Hierarchy:
Superclasses:
TfDump
Implementation Uses:
TlmAllocator scienceAllocator
Public Interface:
Operations:
copyBlock()
Arguments:
const PbContClock& pblock
Documentation:
This function copies the parameter block, referenced by pblock, into the telemetry packet buffer. This function uses TfDump::storeBlock() to perform the actual copy.
Hierarchy:
Superclasses:
TfDump
Implementation Uses:
TlmAllocator deaHouseAllocator
Public Interface:
Operations:
copyBlock()
Arguments:
const PbDeaHouse& pblock
Documentation:
This function copies the parameter block, referenced by pblock, into the telemetry packet buffer. This function uses TfDump::storeBlock() to perform the actual copy.
Hierarchy:
Superclasses:
TfDump
Implementation Uses:
TlmAllocator scienceAllocator
Public Interface:
Operations:
copyBlock()
TfDumpTe
Arguments:
const PbTimedExp& pblock
Documentation:
This function copies the parameter block, referenced by pblock, into the telemetry packet buffer. This function uses TfDump::storeBlock() to perform the actual copy.
Hierarchy:
Superclasses:
TfCmdResponse
Implementation Uses:
TlmAllocator memServerAllocator
Public Interface:
Operations:
setReturnValue()
Arguments:
unsigned value
Documentation:
This function stores the result of the function call, value, into the telemetry packet buffer.
Hierarchy:
Superclasses:
TfCmdResponse
Implementation Uses:
TlmAllocator memServerAllocator
Public Interface:
Operations:
setFepId() setReturnValue()
Arguments:
FepId fepid
Documentation:
This function stores the Front End Processor identifier, specified by fepid, into the telemetry packet buffer.
Arguments:
unsigned value
Documentation:
This function stores the result of the function call, value, into the telemetry packet buffer.
Hierarchy:
Superclasses:
TfCmdResponse
Implementation Uses:
TlmAllocator memServerAllocator
Public Interface:
Operations:
getReadBuffer() setMemAddr() setReadLength()
Arguments:
unsigned*& readbuf
unsigned& readcnt
Documentation:
This function stores the start of the read memory buffer in readbuf, and the maximum number of words that can be stored in readcnt.
Arguments:
const unsigned* srcaddr
Documentation:
This function stores the starting memory location, srcaddr, of the data contained within the packet in the telemetry buffer.
Arguments:
unsigned readcnt
Documentation:
This function sets the packet length based on the number of 32-bit words stored in the packet's read buffer, readcnt.
Hierarchy:
Superclasses:
TfCmdResponse
Implementation Uses:
TlmAllocator memServerAllocator
Public Interface:
Operations:
getReadBuffer() setFepId() setMemAddr() setReadLength()
Arguments:
unsigned*& readbuf
unsigned& readcnt
Documentation:
This function supplies the caller with the address and capacity of the packet's read data buffer. It sets readbuf to the starting address of the buffer to use, and sets readcnt to the maximum number of words that can be stored in that buffer.
Arguments:
FepId fepid
Documentation:
This function stores the Front End Processor identifier, specified by fepid, into the telemetry packet buffer.
Arguments:
const unsigned* srcaddr
Documentation:
This function stores the starting memory location, srcaddr, of the data contained within the packet in the telemetry buffer.
Arguments:
unsigned readcnt
Documentation:
This function sets the packet length based on the number of 32-bit words stored in the packet's read buffer, readcnt.
Hierarchy:
Superclasses:
TfCmdResponse
Implementation Uses:
TlmAllocator memServerAllocator
Public Interface:
Operations:
getReadBuffer() setBoardId() setIndex() setReadCount()
Arguments:
DeaPramWord*& readbuf
unsigned& wordcnt
Documentation:
This function returns the starting address and maximum entry count of the telemetry packet's DEA PRAM word buffer. It writes the starting address to readbuf, and it writes the maximum number of DeaPramWords that can be stored into the buffer to wordcnt.
Arguments:
DeaCcdBdId board
Documentation:
This function sets the DEA CCD Controller Board Identifier, board, whose PRAM contents are being stored in the telemetry packet.
Arguments:
unsigned index
Documentation:
This function sets the PRAM offset, index, of the first PRAM word being stored into this packet.
Arguments:
unsigned wordcnt
Documentation:
This function stores the number of PRAM words, count, written into the packet, into the telemetry packet buffer.
Hierarchy:
Superclasses:
TfCmdResponse
Implementation Uses:
TlmAllocator memServerAllocator
Public Interface:
Operations:
getReadBuffer() setBoardId() setIndex() setReadCount()
Arguments:
DeaSramWord*& readbuf
unsigned wordcnt
Documentation:
This function returns the starting address and maximum entry count of the telemetry packet's DEA SRAM word buffer. It writes the starting address to readbuf, and it writes the maximum number of DeaSramWords that can be stored into the buffer to wordcnt.
Arguments:
DeaCcdBdId board
Documentation:
This function sets the DEA CCD Controller Board Identifier, board, whose SRAM contents are being stored in the telemetry packet.
Arguments:
unsigned index
Documentation:
This function sets the SRAM offset, index, of the first SRAM word being stored into this packet.
Arguments:
unsigned count
Documentation:
This function stores the number of SRAM words, count, written into the packet, into the telemetry packet buffer.
Hierarchy:
Superclasses:
TlmForm
Public Uses:
HuffmanTable
Public Interface:
Operations:
packBiasMap()
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Public Interface:
Operations:
packEvents()
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Hierarchy:
Superclasses:
TfSciData
Public Interface:
Operations:
packData()
Hierarchy:
Superclasses:
TlmForm
Public Interface:
Operations:
TfSciData() setDataInfo()
Arguments:
TlmFormatTag format
Documentation:
This constructor associates the built instance with the telemetry format, specified by format.
Arguments:
CcdId ccdid
unsigned dataseq
Documentation:
This function stores the passed information into the common science data packet header area of the telemetry buffer. ccdid identifies which CCD produced the stored data, and dataseq is the sequence number of the science data packet for the current exposure.
Hierarchy:
Superclasses:
TfSciErEvent
Hierarchy:
Superclasses:
TfSciErCcEvent
Hierarchy:
Superclasses:
TfSciErCcEvent
Hierarchy:
Superclasses:
TfSciErCcEvent
Hierarchy:
Superclasses:
TfSciExpRecord
Hierarchy:
Superclasses:
TfSciExpRecord
Public Interface:
Operations:
setAboveThresholdCnt() setBiasParityErrorCnt() setDiscardGradeCnt() setDiscardPhCnt() setDiscardWinCnt() setEventCnt() setOverclockLevels()
Hierarchy:
Superclasses:
TfSciErEvent
Hierarchy:
Superclasses:
TfSciErTeEvent
Hierarchy:
Superclasses:
TfSciErTeEvent
Public Interface:
Operations:
setBiasOffset()
Hierarchy:
Superclasses:
TfSciErTeEvent
Hierarchy:
Superclasses:
TfSciExpRecord
Hierarchy:
Superclasses:
TfSciExpRecord
Public Interface:
Operations:
setPixelCount()
Arguments:
unsigned pixelcnt
Documentation:
This function stores the number of pixels sent by this exposure's data packet sequence.
Hierarchy:
Superclasses:
TlmForm
Public Interface:
Operations:
TfSciExpRecord() setExposureInfo()
Arguments:
TlmFormatTag format
Documentation:
This constructor associates the format tag, format, with the exposure record instance.
Arguments:
unsigned pblock
unsigned starttime
CcdId ccdid
unsigned expnum
Documentation:
This function stores the passed information into the common exposure header portion of the telemetry packet buffer. ccdid refers to the CCD producing the exposure. expnum is the exposure number. pblock is the parameter block identifier used to configure the run, and starttime is the DEA-latched timestamp at the moment the CCD sequencers were started at the beginning of the run.
Hierarchy:
Superclasses:
TlmForm
Hierarchy:
Superclasses:
TlmForm
Implementation Uses:
TlmAllocator startupAllocator
Public Interface:
Operations:
setBlocksValidFlag() setBootReason() setPatchValidFlag() setSysConfigValidFlag() setTimestamp() setVersion()
Arguments:
Boolean blockValid
Documentation:
This function sets the "parameter blocks valid" flag in the telemetry packet buffer indicating whether or not the Parameter Block CRCs are intact. blockValid is BoolTrue if the none of the parameter blocks have been corrupted, and BoolFalse if one or more of the blocks have been corrupted.
Arguments:
BootMode bootMode
FatalCode lastFatalCode
unsigned lastFatalValue
Documentation:
This function sets the reason for the reboot, and includes the last sent fatal error message code and argument. bootMode indicates the reset mode, and lastFatalCode and lastFatalValue indicate the last fatal error message sent by the instrument since power-up.
Arguments:
Boolean patchValid
Documentation:
This function sets the "patch list valid" flag in the telemetry packet buffer, indicating whether or not the PatchList CRC is intact. patchValid is BoolTrue if the list is not corrupted, and BoolFalse if the list was corrupted.
Arguments:
Boolean sysConfigValid
Documentation:
This function sets the "system configuration valid" flag in the telemetry packet buffer, indicating whether or not the System Configuration Parameter Block CRC is intact. sysConfigValid is BoolTrue if the block is not corrupted, and BoolFalse if the block was corrupted.
Arguments:
unsigned tickcount
Documentation:
This function stores the passed BEP tick counter, tickcount, into the packet buffer.
Arguments:
unsigned version
Documentation:
This function writes the software version code, version, into the telemetry packet and sets the telemetry packet buffer length.
Hierarchy:
Superclasses:
TlmForm
Implementation Uses:
TlmAllocator swHouseAllocator
IntrGuard
Public Interface:
Operations:
accumulateStat() setupBuffer()
Private Interface:
Has-A Relationships:
Arguments:
SwStatistic statid
unsigned value
Documentation:
If the form has a packet, this function increments the statistic value associated with statid and overwrites the statistic's information field with value. If the form does not have a packet, the statistic report is ignored.
Arguments:
unsigned tickcnt
Documentation:
This function attempts to acquire a telemetry packet buffer from its allocator, and if successful, prepares the body of the telemetry buffer to record new software housekeeping information. If a buffer is successfully obtained, it sets the length of the packet, stores tickcnt into the housekeeping header, and returns BoolTrue. Otherwise, it returns BoolFalse.