FSW B1-0-5 Release Notes

This page summarizes the functionality included in FSW Release B1-0-5.

User procedures for B1-0-5 are described in the LAT Flight Software User Guide (LATDocs login required; use SLAC Oracle password). A cumulative list of procedure changes since B1-0-1 is provided below.

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

I. Functionality of B1-0-5

B1-0-5 supports end-to-end operation of the LAT using the SIU and EPUs. 1-0-5 has the following capabilities:

  • LAT GRB detection algorithm.
  • 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, MIP, and heavy ion 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 cosmic ray calibration data and trigger diagnostic data

II. Changes Affecting LAT Operations and Command Interface

  • B1-0-5. The technique for configuring the LAT Housekeeping (LHK) telemetry schedule and onboard ADC limits was modified. This change necessitated modifications to the LHK (and LIH) telecommand set , including the addition of a small number of commands used only in rare contingency operations scenarios. Changes to the configuration and commanding interface were made carefully to minimize impacts to other teams and ground systems, and to facilitate a gradual transition to the new method of operations. Note: the housekeeping telemetry schedule and limit set loaded with B1-0-5 have not changed from previous releases; only the system for defining configurations and modifying them as part of contigency operations have changed.
  • B1-0-2. The GBM's burst message sequence always includes transmission of a GBM repoint recommendation (G2LREPREC) command to the LAT. The GBM's repoint recommendation may be either positive (requesting that the LAT send a SACSLEWREQUEST repoint request command to the Spacecraft) or negative (a repoint request is not necessary). The LAT Instrument Manager system intercepts this repoint recommendation and decides initially how it should be handled. In previous releases, while a LAT physics run was in progress, LIM forwarded both negative and positive repoint recommendations to the LAT Physics Acquisition (LPA) system, which then in turn (in some cases) initiated a slew request even when the GBM recommendation was negative. With this release, LIM has been modified to not send negative GBM repoint recommendations to LPA in any mode.
  • B1-0-2. A new field, LMCDEST, has been added to each of the telecommands for the LAT Multiplexed Counter (LMC) system, allowing operators to specify whether counter data should be sent over the 1553 interface (LMCDEST = 0x0) as diagostic telemetry packets or over the Science Data Interface to the SSR (LMCDEST = 0x1) as science telemetry packets containing LSFdatagrams.
  • B1-0-2. The startup configuration of the LAT Thermal Control (LTC) system has been modified. The default RIT sensor for heat pipe 10 (+Y number 4) has been changed from the XLHP sensor to the DSHP sensor; the other 11 heat pipes use the XLHP sensor. Also, in preparation for Observatory TVAC, the RIT low and RIT high set points for the thermal control algorithm have been modified. Note that on startup, the LTC system takes parameters from a configuration file stored in EEPROM; if this file is missing or EEPROM cannot be read, startup parameters are accessed from a value table built in to LTC itself. In this release, the parameters contained in the built-in table differ from those in the startup configuration file. The built-in table has the XLHP sensor selected for all 12 heat pipes (including heat pipe 10), and has RIT set points that differ from those in the startup file.
    RIT sensor loc
    Startup file set points
    Built-in set points
    VCHP-XLHP RIT low: -1 °C
    RIT high: 0 °C
    RIT low: -6°C
    RIT high: -5 °C
    VCHP-DSHP RIT low: +1 °C
    RIT high: +2 °C
    RIT low: -6°C
    RIT high: -5 °C
  • B1-0-2. To reduce the time required for ACD and TKR charge injection calibration runs, the CAL readout mode for such calibrations has been changed from four-range to single-range. This has no effect on the resulting calibration datagrams, only on the duration of calibration runs; the CAL data contribution has never been included in the calibration datagrams for ACD and TKR runs, since each flavor of calibration run only generates data for the subsystem being calibrated.
  • B1-0-2. When a FSW task sends a telecommand confirmation telemetry packet (APID 720/0x2D0), it includes a 32 bit MSG system code in the LITCEXESTATUS field reporting whether the command was successfully executed. The most significant bit of any 32 bit MSG code is a special flag value used to record how the MSG was reported, which not all FSW tasks set in a consistent way. This inconsistency caused errors in some PROCs. FSW was modified to mask off this bit for MSGs included in command confirmation packets ONLY.

III. Changes Affecting LAT Telemetry

  • B1-0-5. The packet for LAT alert telemetry transmitted due to onboard limit violations has changed from RedLimAlrt (851/0x353)  to LimitAlert (852/0x354) .
  • B1-0-5. Two new classes of LSFdatagram can be sent in the science telemetry stream.
  • APID
    Telemetry Description
    Datagram Description

    950 (0x3B6)
    951 (0x3B7)
    952 (0x3B8)
    953 (0x3B9)

    Event filter summary statistics from SIU, EPU0, EPU1, EPU2, respectively.

    In this release, only the EPUs are involved in event filtering, and EPU0 and EPU1 are typically the CPUs used in operations, thus APIDs 951 and 952 will be seen in the data stream.

    Datagram TypeID 0xF1100 (pass through filter), 0xF1101 (Gamma filter), 0xF1102 (EMP/ACD software counters), 0xF1103 (MIP filter), 0xF1104 (HIP filter), 0xF1105 (trigger diagnostic filter).

    These datagrams report veto counts for the various onboard filters within a configurable time period, broken down by individual veto condition (e.g., for the Gamma filter, the number of times the ACD splash veto was applied within the sample period). The datagrams report the length of the sample period by recording the starting and ending hardware eventID, GEM clock value, and mission elapsed time. These data can be used to check the rates at which filters are vetoing events and to generally monitor filter performance.

    Filter statistics datagrams are generated continuously during data collection in LIM PHYSICS, TOO, or ARR modes. Datagrams vary in size depending on configuration settings and on the event rate. If the observation mode changes (e.g., PHYSICS to TOO), the current datagram for each filter is closed and a new one is opened. If the LPASTOP telecommand is received, the current datagrams are closed and flushed.

    FSW will release a package of ground software that provides an API to unpack these datagrams.

    929 (0x3A1)

    Low-rate science counters collected by the LAT Multiplexed Counters (LMC) system.

     

    Datagram TypeID 0x0F1001 (CAL counters), 0x0F1002 (TKR counters), 0x0F1003 (ACD tile pair counters), 0x0F1004 (TEM deadtime counters).

    Maximum size of this type of datagram is 65536 bytes.

    FSW will release a package of ground code, QLMC, that provides an API to unpack these datagrams.

  • B1-0-5. The structure of those housekeeping telemetry packets that report power and environmental ADC values (TemEnvPwr0 APID 528/0x210 through AemEnv0 APID 550/0x226, and the corresponding dwell telemetry packets) has changed. Each ADC is now reported in a total of 16 bits: a 3 bit limit evaluation field (encoded according to this enumeration ), a 1 bit readout status field (encoded thusly ), and finally 12 bits for the ADC value.
  • B1-0-2. The QSEP ground software package - provided to allow unpacking and decoding of physics event data - has been expanded to allow more access to the configuration and context information included in event datagrams. The data structures and enumerations that present this information to user code are described in the FSW Doxygen pages for QSEP_ctx.h , including the master data structure QSEP_ctx . The package exposes the hardware and software configuration keys that can be used to look up which parameter files were loaded from EEPROM before the data was collected; the actual in-memory configuration of the event delivery system (EDS) at the time the events in a datagram were collected; and, the event-by-event results summary data (RSD) reporting how each event handler voted on each event and how prescaling may have affected whether a particular event was included in the data stream despite filter settings
  • B1-0-2. Configuration keys stored in physics event datagrams (see the previous entry) are now reported as FMX file keys, allowing the configuration to be unambiguously traced back to a file tracked on the ground using the FMX database.
  • B1-0-2. The layout and contents of the LAT Multiplexed Counter 1553/diagnostic telemetry packets (APID 0x2C1 , 0x2C2 , 0x2C3 , 0x2C4 ) have changed. The technique for timestamping counter data was modified. Each packet now contains a timestamp (32 bit seconds mission elapsed time LMCTSSECS and 32 bit microseconds LMCTSUSECS) representing the time at which the counters were started. Each packet also contains 32 bit microsecond delta time fields representing the length of time each counter (e.g., the CAL LRS counter on TEM 12) was running.
  • B1-0-1. The serial number for each CPU was added to the TopCpu* (APID 563, 564, 565, 566)
    and DiagTopCpu* (APID 650, 651, 652, 653) packets. Each CPU has three copies of an encoded serial number stored in EEPROM. At secondary boot, FSW reads out, decodes, and cross-validates the enoded serial numbers and generates a derived compound serial number. If validation is successful, in the current installed release, the compound serial numbers will be reported as: SIU0: 0x0122000f, SIU1: 0x0123000e, EPU0: 0x01240111, EPU1: 0x01250212, EPU2: 0x0126030d. The compound serial number is byte-encoded: Byte 3 = instrument on which the CPU is installed (0x01 = flight LAT), Byte 2 = LATp/EBM address of the CPU (e.g., SIU0 is at address 0x22), Byte 1 = ITC node id of the CPU (e.g., EPU0 is node 0x01), Byte 0 = BAE production serial number for the RAD750 board.

IV. Changes Affecting LAT Configuration Process

  • B1-0-5. The process for configuring the LAT Housekeeping (LHK) system has undergone a few changes. Previously, the housekeeping telemetry schedule and onboard limit checking configuration were defined in XML files tracked in the LHK software package, meaning that changes to LHK configuration settings could only be made by issuing a new FSW release. The LHK telemetry schedule is now defined in a file in the LHK_DB package. The onboard ADC limits table is defined in a file in the LIH_DB package.
  • B1-0-2. The set of physics event handler configurations has changed. FSW now provides a set of PFC (pass through filter), GAMMA (Gamma filter), EMP (event monitoring processor), MIP (minimum ionizing particle filter), HIP (heavy ion filter), and DGN (trigger diagnostic filter) configurations that permit the styles of data taking described in LAT-TD-08805-02.These configurations differ primarily in their use of prescaling to control the rate at which events are included in the data stream to the SSR. Output prescaling is used to reduce the number of candidate events that are sent to the SSR (e.g., 4:1 GAMMA output prescaling means send only every 4th event that passes the Gamma filter). Overall prescaling is used to sample events that would normally be rejected by a filter for any reason (e.g., 500:1 GAMMA overall prescaling means send the 500th event that would have been rejected by one of the Gamma filter's multiple algorithm cuts). The following table lists handler configurations by their config ID. Config ID is used in the LPACFGID field of the LPAASSOCIATE telecommand.
  • Handler Config ID Configuration Name and Description
    PFC 0x0
    Pass-through filter configuration. No prescaling. This is the only (and hence the default) PFC configuration for all data taking modes (PHYSICS, TOO, GRB0, etc.).
    GAMMA 0x0
    normal. Gamma filter configuration for normal physics acquisitions. No prescaling. See Section 3.1 of TD-08805-02. This is the default GAMMA configuration for all data taking modes.
    GAMMA 0x1
    normal_leak. Gamma filter configuration for normal physics acquisitions. 500:1 overall prescaling to provide ~5 Hz of Gamma events that would normally be rejected. See Section 3.1 of TD-08805-02.
    GAMMA 0x2
    calib. Gamma filter configuration for on-orbit calibration with cosmic rays. 10:1 output prescaling. See Section 3.2 of TD-08805-02.
    GAMMA 0x3
    calib_leak. Gamma filter configuration for on-orbit calibration with cosmic rays. 500:1 overall prescaling. 10:1 output prescaling. Final result with overall and output prescaling, 0.5 Hz. See Section 3.2 of TD-08805-02.
    GAMMA 0x4
    calib_a. Gamma filter configuration for on-orbit calibration with cosmic rays. Similar to configuration 0x2 but with 4:1 output prescaling, higher output data rate. See Section 3.2 of TD-08805-02.
    GAMMA 0x5
    calib_a_leak. Gamma filter configuration for on-orbit calibration with cosmic rays. Similar to configuration 0x3 but with 4:1 output prescaling, higher output data rate. 500:1 overall prescaling. Final result with overall and output prescaling, 1.25 Hz. See Section 3.2 of TD-08805-02.
    GAMMA 0x6
    eff. Gamma filter configuration for simple filter efficiency studies. 4:1 output prescaling. 30:1 overall prescaling applied to sample more events that would normally be rejected. See Section 3.3 of TD-08805-02.
    GAMMA 0x7
    eff_taper. Gamma filter configuration for tapered filter efficiency studies. 4:1 output prescaling applied. Gamma filter algorithm cuts are individually prescaled to yield an event sample is an equal mixture of events rejected at each stage of the algorithm. See Section 3.3 of TD-08805-02.
    EMP 0x0
    Event monitoring processor configuration for collecting (software-derived) ACD counters. This is the only (and hence the default) EMP configuration for all data taking modes.
    MIP 0x0
    off_axis. Minimum ionizing particle filter configuration for collecting off-axis MIPs. No prescaling. This is the default MIP configuration for all data taking modes.
    MIP 0x1
    eff_off_axis. Minimum ionizing particle filter configuration for simple efficiency studies of off-axis MIP filtering. 400:1 overall prescaling.
    MIP 0x2
    eff_taper_off_axis. Minimum ionizing particle filter configuration for (TBD) tapered efficiency studies of off-axis MIP filtering. No MIP filter tapering has been defined, meaning none of the individual MIP filter cuts are prescaled. 10:1 output prescaling.
    MIP 0x3
    all_axis. Minimum ionizing particle filter configuration for collecting all-axis MIPs. No prescaing.
    HIP 0x0
    normal. Heavy ion filter configuration for normal operations. No prescaling. This is the default HIP configuration for all data taking modes.
    HIP 0x1
    leo. Heavy ion filter configuration for L&EO operations. Similar to HFC configuration 0x0, but with larger CAL matching tolerance. This configuration was designed to be more forgiving of initial mis-calibrations of CAL crystals. No prescaling.
    HIP 0x2
    eff. Heavy ion filter configuration for simple efficiency studies of the heavy ion filter. 150:1 overall prescaling.
    HIP 0x3
    eff_taper. Heavy ion filter configuration for (TBD) tapered efficiency studies of the heavy ion filter. Currently identical to configuration 0x2. No HIP filter tapering has been defined, meaning none of the individual HIP filter cuts are prescaled. 150:1 overall prescaling.
    DGN 0x0
    primitive. Default DFC configuration. This is the default DGN configuration for all data taking modes.
    DGN 0x1
    gem. This DFC configuration passes all periodic triggers and “forbidden” trigger conditions, as described in LAT-TD-08805. No prescaling is used. Use of this DFC configuration can result in larger output data volumes (at 2 Hz, ~7% of downlink bandwidth)
    DGN 0x2
    tkr. This DFC configuration passes a prescaled sample of TKR & ROI & don’t’Care triggers.
    DGN 0x3
    ground_hi. DFC configuration that contains the GEM scheduler/engine map defined in Section 3.6.2 of LAT-TD-08805. This DFC configuration was designed for high-rate ground operations, to be used in combination with a trigger configuration that issues periodic triggers at 4kHz (1 range, unsuppressed readout). This DFC configuration is identical to DFC configuration 0x1, except for the use of prescales.
  • B1-0-2. The LAT Thermal Control (LTC) system now takes several startup configuration parameters from an LTC_DB software configuration file. Previously, many of these startup parameters were hard-coded into the LTC binary modules themselves, meaning that changes to LTC startup settings could only be made by issuing a new FSW release. The parameters that are newly-available in LTC_DB are: (a) global parameters like the number of consecutive failed reads of a RIT or RES sensor before that sensor is considered failed, tolerances on estimated temps; (b) heat pipe-specific thermal control algorithm set points (reservoir low allowed temp, reservoir high allowed temp, RIT low allowed temp, RIT high allowed temp, deadband delta); (c) RIT and reservoir sensor selection for each heat pipe (e.g., use the DSHP sensor as RIT sensor on heat pipe 10). With this change, LTC startup proceeds as follows: the system looks for an LTC_DB file in EEPROM and if one is found, it reads these and other startup parameters from it; if an LTC_DB is not found, LTC accesses the equivalent information from a built-in data store. Note that this change applies to parameters available on startup only; operators can still change LTC parameters after startup by specifying a configuration in EEPROM using the LTCRESTART command.
  • B1-0-2, B1-0-3. ARR duration settings were added to the GRBP_DB configuration file. For LAT-detected GRBs, the duration passed in a SACSLEWREQUEST command to the Spacecraft is set to 18,000 seconds. For GBM-detected GRBs (that are not confirmed by the LAT), the duration passed in a SACSLEWREQUEST command is also set to 18,000 seconds.
  • B1-0-2. The LATC_parser has been enhanced to streamline the process of defining default (DFT) configurations for a set of components (e.g., TEMs 0 - 15) and associated exception configurations (e.g., to override the DFT register settings on TEM 2). In this release, an XML input file defining exception settings need only specify only those register values to be overridden.
  • B1-0-0 and B1-0-1. In these 2 releases, a total of 4 additional Diagnostic Filter (DFC) configurations were added to supplement the default DFC configuration. All filter configurations are defined in LAT-TD-08805. To override the default configuration for a run with one of these new configurations, use the LPAASSOCIATE telecommand, per the FSW User Guide, with the LPACFGID values specified below.
    New in Build LPACFGID Description of the Configuration
    pre 1-0-0 0x0
    Default DFC configuration (in place prior to B1-0-0).
    1-0-0 0x1
    This DFC configuration passes all periodic triggers and “forbidden” trigger conditions, as described in LAT-TD-08805. No prescaling is used. Use of this DFC configuration can result in larger output data volumes (at 2 Hz, ~7% of downlink bandwidth)
    1-0-0 0x2
    This DFC configuration passes a prescaled sample of TKR & ROI & don’t’Care triggers.
    1-0-1 0x3
    DFC configuration that contains the GEM scheduler/engine map defined in Section 3.6.2 of LAT-TD-08805. This DFC configuration was designed for high-rate ground operations, to be used in combination with a trigger configuration that issues periodic triggers at 4kHz (1 range, unsuppressed readout). This DFC configuration is identical to DFC configuration 0x1, except for the use of prescales.

V. FSW Packages Changed or Added in B1-0-5

B1-0-5 provides flight code modules, which are loaded and executed on LAT CPUs, and the corresponding source code. In addition, B1-0-5 contains unit tests, test support code, ground support utilities, and qualification test documents and scripts.

  • FSW packages that were changed between B1-0-1 and B1-0-2 are itemized here .
  • FSW packages that were changed between B1-0-2 and B1-0-3 are itemized here .
  • FSW packages that were changed between B1-0-3 and B1-0-5 are itemized here .
  • All FSW packages in B1-0-5 are itemized here .

VI. JIRA Items Resolved in B1-0-2, B1-0-3 and B1-0-5

Bug
  • [FSW-952] - Decompression Failures discovered during Observatory EMI
  • [FSW-955] - Timestamps telemetered as WCT_time instead of seconds/microseconds
  • [FSW-956] - Qsec_print utility crashes when processing data from Dalek test stand
  • [FSW-957] - Inconsistent bitfield definition of LFSDEMPTFILE in dbx output
  • [FSW-960] - B1-0-1lat_tlm_itos.dbx mnemonic issues
  • [FSW-964] - LPA Config packets 0x2e0-0x2e3 contain identical mnemonics
  • [FSW-965] - Misspelled ITOS mnemonics in file-system-status packet.
  • [FSW-966] - GRBP bug fixes and performance improvements
  • [FSW-982] - Discrepancy between LCAT-generated database files
  • [FSW-984] - GRBP package IVV4 code issues
  • [FSW-990] - THS package IVV4 code issues
  • [FSW-992] - LCM package IVV4 code issues
  • [FSW-993] - LPA package IVV4 code issues
  • [FSW-997] - Remove dynamic memory allocation from LIM
  • [FSW-1001] - Add stall after GARC LAM operation
  • [FSW-1002] - Modify LIM behavior to not forward negative repoint recommendations to LPA
  • [FSW-1004] - lsep_write introduces an offset between run-start-time and time-of-first-event
  • [FSW-1009] - Testing has revealed improper handling of mode switch and stop run in the statistics gathering code
Improvement
  • [FSW-305] - Summary/statistics telemetry stream needs to be created for on-board event processors
  • [FSW-414] - Add internal resources to PIG and eliminate the LEM_micr argument present in most function prototypes/
  • [FSW-806] - Revisit rate counter implementation
  • [FSW-934] - UNRESOLVED: Add telemetry to report on LAT power state and state/configuration of physics data acquisition
  • [FSW-941] - Add memory scrub info to housekeeping
  • [FSW-942] - Add simulating/not simulating info for THS time tone and time hack to housekeeping
  • [FSW-943] - Put LRA in charge of tracking GEM sent, prescaled, discarded, livetime, deadzone (track rollover) for housekeeping
  • [FSW-946] - Add LATC info to housekeeping telemetry
  • [FSW-947] - Add LCI program file ID to housekeeping
  • [FSW-951] - Add "dirty" flag in housekeeping to indicate non-nominal configuration change
  • [FSW-953] - UNRESOLVED: Incorrect designation of some GARC registers
  • [FSW-954] - In command confirmations, the "signalled" bit should always be suppressed
  • [FSW-959] - Allow LATC exception specifications to inherit default values
  • [FSW-961] - Do CAL single-range readout when performing ACD and TKR calibrations
  • [FSW-969] - Allow ground utilities to deal with large (>2GB) EBF files
  • [FSW-979] - Change default LTC input for +Y radiator HP#4 from VCHP-XLHP to VCHP-DSHP
  • [FSW-996] - Update Default RIT_LO and RIT_HI
  • [FSW-999] - Replace existing LATC/LPA_DB identifier in datagram with FMX file key
  • [FSW-1003] - Modify lsep_write to accept user-defined hw/sw key values for inclusion in formatted data output
New Feature
  • [FSW-919] - Use LSW/TRC as performance Monitor
Task
  • [FSW-917] - Implement the filter parameters described in TD-08805-01
  • [FSW-938] - LMC Delta timestamp telemetry field description is incorrect
  • [FSW-995] - Remove LIMSAFEMODE command from LIM dbx