GLAST/LAT > DAQ and FSW > FSW

FSW B0-6-12 Release Notes


This page summarizes the functionality included in FSW Release B0-6-12 and lists the JIRA issues resolved in the Release.

User procedures for B0-6-6 are described in the LAT Flight Software User Guide. A cumulative list of procedure changes since that Release is provided below. Users of B0-6-12 should also review the entries for the JIRA items resolved in B0-6-12.

Additional files, materials, and release documentation for B0-6-12 (including complete 0-6-12 command and telemetry interface reference documentation) are available on the B0-6-12 Release Page.

I. Functionality of B0-6-12

B0-6-12 supports end-to-end operation of the LAT using the SIU and EPUs. 0-6-12 has the following capabilities:

  • Full support for LAT internal hardware interfaces and the LAT external interfaces with the Spacecraft.
  • Full boot capabilities on the SIU and EPUs
  • CPU watchdog management
  • Command and telemetry processing and a complete set of commands and telemetry to support end-to-end operations, as well as handle Spacecraft ancillary messages
  • Processing of all time signals and messages from the Spacecraft, and drift-corrected timekeeping
  • CPU memory and EEPROM file system management
  • Delivery of event data from the hardware to the Spacecraft Solid State Recorder
  • Configurable Gamma filtering of event data
  • Collection of charge injection calibration data
  • Operational mode control to manage pointed observations, sky survey observations, and target of opportunity observations
  • Load shed management and operations during SAA transit
  • Thermal control system
  • Instrument configuration by file and readback of instrument configuration
  • Compression of event data
  • Special event filters for use in collecting CR calibration data and trigger diagnostic data

B0-6-12 does not implement the LAT GRB detection algorithm.

II. Changes Affecting Procedures Since Release 0-6-6

  • B0-6-7: At the end of a physics data taking run using LPA, on receipt of the LPASTOP command, FSW checks whether the detector configuration changed during the run. If the configuration did change, the detector register configuration data is dumped to the SSR in telemetry with APID 1021.
  • B0-6-7: The contents of various hardware error and status (ESR) registers are now sent with other LAT detector configuration dump telemetry to the Solid State Recorder. If the LPALATCCNSFLG of the LPASTART command is set to instruct FSW to dump the LAT configuration to the SSR at the start of  the data collection run, a separate telemetry packet of  ESR data is sent along with the configuration register dump data. The ESR packet is sent any time the detector configuration is dumped - in response to an LPASTOP command (see the previous note) or in response to the LIMLATCRECORD command. The ESR data packet has the same APID (1021) as the other configuration data telemetry; within the telemetry packet, the ESR data is organized as a single LSFdatagram with TypeID = 0x900 wrapping a single LSFcontribution with TypeID = -1. The ESR data packet is always the last telemetry packet in any sequence of packets with APID 1021 dumped in response to LPASTART, LPASTOP, or LIMLATCRECORD. See FSW-594 for the list of ESR registers dumped.
  • B0-6-8: New status information was added to thermal control telemetry, both in the LTC diagnostic telemetry packet (DiagLTC, APID 730) and in the housekeeping LtcData0 packet (APID 558). Both packets contain a new field, LTCHTRREG, recording the current state of the LTC system (running or stopped, active or passive) and the current state of the SIB heater control register for each heat pipe reservoir heater, 0-11. See the 0-6-8 command and telemetry handbooks (Cmd_Tlm_*.pdf)  on the B0-6-8 Release Page for the layout and encodings of the new field.
  • B0-6-8: The ITOS definition for the Slew-Request command (APID 1536) sent by FSW to the spacecraft as part of the ARR response sequence was added to the ITOS database. The command definition had previously been hard-coded into the LAT Instrument Manager application code, but not "published" as part of FSW's ITOS products (database and command and telemetry handbook) .
  • B0-6-8: When performing "fast boot", the boot code now takes secondary boot flags from the Boot Diagnostics Area in RAM instead of using hard-coded defaults. Operators wishing to use fast boot can issue the LBTRTOSEXEC telecommand (APID 1600), setting the secondary boot flags as desired; later reboots with the LBTRESET telecommand (using the fast boot option settings) will then use the pre-set secondary boot flags. Alternatively, operators may set the secondary boot flags directly in RAM using the LMEMLOADMEM command. The secondary boot flags start at address 0000FF84 and occupy 4 bytes. The encoding of the secondary boot flags is documented in the Primary Boot Code Design Document on the FSW Traveler Documents page, and various CPU boot use cases are described in the FSW User Guide .
  • B0-6-10: In anticipation of closing GRB-related requirements, the behavior of the LPA system during ARR mode has been enhanced. In ARR mode, LPA can adopt different filter/event handler configurations and perform different message exchange sequences with the spacecraft and GBM during different phases of GRB detection. The LPA application has 3 new operating states - GRB0, GRB1, and GRB2. In GRB0, a potential GRB has been detected, but the spacecraft has not been repointed; In this state, "looser" LPA filter and LAT trigger settings can be configured to optimize GRB science data collection. GRB1 is nearly identical to GRB0, with the exception that messages have been exchanged leading to a repoint of the spacecraft . In GRB2, the spacecraft is still repointing, but the LPA filter and trigger settings can be set such that they are no longer designed for GRB science data collection. As before, the LAT Instrument Manager handles transitions from PHYSICS/NORMAL or TOO mode observations to ARR and back. The LPACONFIGURE and LPACHANGE commands allow different event processing configuration to be set up for each of these 3 new states.
  • B0-6-10: The LCILATCIGN field of the LCICALIBRATE telecommand (APID 1660, fc 1) is no longer used.
  • B0-6-10: Three new event filters were added to FSW. These filters can be selected and tuned for data taking activities using the LPACONFIGURE, LPACHANGE, and TOOSTART telecommands. The minimum ionizing particle filter can configured with a set of parameters appropriate to do intra or inter-tower track alignment or ACD MIP calibration. The heavy ion filter can be configured to select a sample of CNOs or (heavier) particles. The diagnostic filter is provided for testing environments where one wishes to externally trigger the LAT with a high rate of random triggers super-imposed on the normal flux of muons. A set of software configuration files for the LPA application are provided that provide access to all 6 FSW filters and also allow the LAT to be run using external triggers.
  • B0-6-11: Event datagrams now contain the file identifier of the secondary boot script used to put the LAT CPUs in Application Mode to allow offline systems to determine the complete configuration of FSW during data taking.
  • B0-6-11: The number of allowed LAT Physics Acquisition configuration instances was increased from 8 to 32 to allow for greater configurability in the future. Currently, 3 instances are provided with the FSW installation.
  • B0-6-11: A new utility application, the LAT Software Watchdog (LSW), has been introduced. FSW manages the CPU watchdog timer on each RAD750 CPU by defining a routine that is executed each time the RTOS switches tasks; this service routine resets the CPU watchdog. As long as the CPU is in a state in which the RTOS can perform task switching at a rate high enough to lead to a watchdog reset before the watchdog timer has run down, a CPU reboot is avoided. There are no configuration files or operational interface to the LSW sub-system, and no telecommanding involved in controlling it or modifying its watchdog control behavior. However, LSW, in addition to managing the watchdog timer, also maintains a diagnostic memory buffer which contains a record of task switching activity (CPU timestamp for each task switch, the identity of the task going to sleep, the identity of the task waking up). The address and size of this buffer are recorded in the Boot Diagnostics Area of RAM. Should an unexpected reboot occur, once the CPU returns to the boot shell, operators should dump the BDA and deliver the data to the FSW Development Team for analysis (see Section 6.7 of the FSW User Guide).
  • B0-6-11: The LPAASSOCIATE command (APID 1653, fc 0) replaces the LPACHANGE command. With a single operation, this new command sets the configuration for multiple event handlers (Gamma filter, heavy ion filter, etc) in all 5 available observation modes. Use this command if the default configuration for a handler is not appropriate for the current observation. For each of the 5 modes, an individual handler can take data using one of its 32 available internal configurations. This command associates one of these 32 configuration IDs with a specific mode. Each of the 5 available handler masks maps to a mode. A set bit in any of these 5 masks will take the handler corresponding to that bit position and create an association between the specified configuration ID and the mode. Essentially, this command allows operators to specify, for instance, “use configuration 9 for these 3 handlers in NORMAL mode, these 4 handlers in TOO mode, and this handler in GRB0 mode.”
  • B0-6-11: Two new LPA telecommands, LPASETOUTPUT (APID 1653, fc 2) and LPASETGRB (APID 1653, fc 3), affect the way in which observation runs are conducted. These two commands allow operators to control whether event data is sent by the EPUs to the SIU or SSR (LPASETOUTPUT), and whether the LPA application on the SIU will process any GRB summary packets from the EPUs or commands from the GBM (LPASETGRB). By default, SIU processing of GBM commands is disabled. Use the LPASETGRB command to enable. By default, SIU processing of EPU GRB summary packets is disabled. Use the LPASETGRB command to enable. By default, EPU posting of GRB summary packets to SIU is disabled. Use the LPASETOUTPUT command to enable.
  • B0-6-12: The RAD750 active memory scrubber on each CPU has been configured to run by default every five minutes following successful secondary boot. This default memory scrubber configuration can be overridden using the  LCMSCRUBCFG command (APID 1684, fc 1).
  • B0-6-12: LATp command/response traffic counters recorded in the Event Builder Module for each LATp node (SIU, EPUs, CRU, etc) are now streamed in the Application Mode Lrs0 housekeeping packet (APID 551)
  • B0-6-12: The FileStats, MemStats, and CpuMetr packets in Application Mode housekeeping telemetry have been replaced with separate, CPU-specific housekeeping packets: SiuStats, Epu0Stats, Epu1Stats, Epu2Stats (APID 554, 555, 556, 557). Appearance of the Epu*Stats packets in the telemetry stream can be used as an indication that a particular EPU has successfully completed secondary boot and is now operating in Application Mode.
  • B0-6-12: The LCMMSGOCFG has been replaced by the LCMMSGOUT command. The new command allows operators to set FSW, on a per CPU basis, to output a more verbose MSG system stream to the SSR over the science data interface, but only send MSGs of a certain severity level (e.g., ERROR) out over the 1553 interface. This can be used to conserve 1553 bandwidth. On startup, the LCM application is configured to send MSG system messages of Information level or greater out over the 1553 interface; the SDI interface is disabled. The three fields of the LCMMSGOUT command allow this default behavior to be modified: (a) LCMNODEID: ITC node ID. ITC_NID_SIU = 0, ITC_NID_EPU0 = 1, ITC_NID_EPU1 = 2, ITC_NID_EPU2 = 3; (b) LCMMSGINTER: MSG Output Interface to Configure. 1553/CTDB = 1, SDI/SSR = 2; (c) LCMMSGLEVEL: MSG system severity level. LCM will output MSG system messages with a severity level greater than or equal to the level set in this field. INFORMATION = 1, WARNING = 2, ERROR = 3, DISABLE = 4.
  • B0-6-12: If operators attempt to dump an empty directory using LFSDIRDUMP, FSW returns a new telemetry packet, LFSDIREMPTY (APID 796).
  • B0-6-12: Telecommand field and parameter consistency were improved in accordance with JIRA items FSW-692, FSW-691, and FSW-690.
  • B0-6-12: No-op telecommands were added for several FSW applications. These no-op commands allow operators to send a consequence-free command to a FSW task solely for determining whether that task is able to transmit command confirmation telemetry packets. If the task cannot return such packets, it may be "hung."
  • B0-6-12: The Lrs0 Application Mode housekeeping telemetry packet now contains several new LAT Instrument Manager counters and flags that can be used as a constant report of the LAT's current operations mode.

III. FSW Packages Changed or Added in B0-6-12

B0-6-12 provides “flight” code modules, which are loaded and executed on LAT CPUs, and the corresponding source code. In addition, B0-6-12 contains unit tests, test support code, ground support utilities, and qualification test documents and scripts.

  • FSW packages that were changed or added since B0-6-11 are itemized here.
  • All FSW packages in B0-6-12 are itemized here.

IV. JIRA Items Resolved in B0-6-12

Bug

  • [FSW-341] - LPA Mode Change/Flush Behavior is Incorrect
  • [FSW-369] - MSG needs to disable reports from within the MSG task
  • [FSW-628] - LATC dump errors
  • [FSW-667] - LCAT-generated CCSDS Header Mnemonics named incorrectly
  • [FSW-668] - LCAT includes onboard limit definitions in DBX output
  • [FSW-680] - Swap LHKPnxHP3DSIT and LHKPnxHP5DSIT to address miswiring of thermal sensor
  • [FSW-706] - CSIUENUM enumeration not associated with an LIM command
  • [FSW-710] - LIM Should Disable GBM Interrupt Processing in TOO Mode
  • [FSW-719] - FILE package initialization fails on MV2304 targets
  • [FSW-720] - Fix GRB Simulation State Variable
  • [FSW-731] - Invalid LHK EBM Response List
  • [FSW-733] - EDS has a couple of obscure errors, mainly dealing with multi-packet events that needed fixing
  • [FSW-736] - LHK Diagnostic APID Mapping Table Is Incorrect
  • [FSW-737] - Fix Linux Byte Swap in LHK Limit Configuration File Builder
  • [FSW-741] - Bug in LHK PID Stats Packet Addressing

Improvement

  • [FSW-167] - LTC telemetry packets contain one 16-bit word that contains both the status and the raw value instead of two words
  • [FSW-180] - ISOC request for additional status info in housekeeping
  • [FSW-270] - mnemonics in telemetry packet 720/0x2D0 do not begin with ?L?
  • [FSW-490] - EPU State Monitoring Required by LHK and THS
  • [FSW-567] - Add DEAD_ZONED counter to HSK
  • [FSW-654] - ITC enums for task ID are out of date
  • [FSW-682] - LTC estimation filter timescale is too short
  • [FSW-685] - Expand LHKDIAGAPID argument range for LHKREQDIAGPKT
  • [FSW-686] - Mnemonic LHKSMEM0MPTID should be LHKSMEMDMPTID
  • [FSW-687] - LHKT0TEM28V0ST and LHKT0TEM28V1ST et al are missing conversion
  • [FSW-688] - LMEMPAD re-use
  • [FSW-690] - Standardize on LATUNIT to identify SIU and EPU
  • [FSW-691] - Standardize transaction ID command parameter
  • [FSW-692] - Split LCMUNIT parameter
  • [FSW-694] - LLFSSYSMOUNT (Command 1609 FC1) should be "LFSSYSMOUNT" (delete extra L)
  • [FSW-698] - Separate LTC master config files into fof, data
  • [FSW-700] - Add positive feedback in telemetry for dumps of empty directories.
  • [FSW-701] - Add flexibility to MSG level output based on destination
  • [FSW-702] - EPU secondary boot indication
  • [FSW-707] - Modify LTC built-in RES filter to moving average
  • [FSW-715] - QLATC_report and QLATC_print should display register names
  • [FSW-717] - Expose LAT reset command to Telecommand
  • [FSW-718] - Expose LookAtMe in telecommands
  • [FSW-722] - CLONE -EPU State Monitoring Required by LHK and THS
  • [FSW-727] - Identify memory scrubbing strategy and update default setting accordingly
  • [FSW-728] - Update memory detection action configuration setting

New Feature

  • [FSW-168] - Add LIM mode status to regular housekeeping packet
  • [FSW-684] - There need to be general no-op commands for each task.
  • [FSW-721] - Add EBM Statistics To LHK
  • [FSW-734] - Enhancements to LDT to support data compression
  • [FSW-735] - Expose a piece of the LSE datagram context for semi-public consumption
  • [FSW-738] - QSE additions to support data compress
  • [FSW-740] - In preparation for data compression, the various calibration database files needed some extra information

Task

  • [FSW-726] - Add identifier for LRA datagrams