FSW B1-0-0 Release Notes

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

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

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

I. Functionality of B1-0-0

B1-0-0 supports end-to-end operation of the LAT using the SIU and EPUs. It is a candidate for selling off the entire set of formal FSW requirements. 1-0-0 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 CR calibration data and trigger diagnostic data

II. Changes Affecting LAT Operations and Command Interface

  • B1-0-0. This is the first release to include the onboard GRB detection algorithm.
    • The GRB alert, update, and repoint request messaging interface between the LAT and the Spacecraft and GBM remain unchanged from previous releases.
    • The LAT Instrument Mode (LIM) mode control behavior related to ARRs remains unchanged from previous releases.
    • The LPASETGRB telecommand has been updated to support the new GRB implementation, and now includes two new fields, LPAGRBID and the 3-bit collection LPAGRBIDVALID, LPAGRBGBMVALID, and LPAGRBEPUVALID. In this release, set LPAGRBID=0 to use the GRB detection algorithm; set LPAGRBID=1 to use the built-in GRB simulation code from previous releases (and set the other GRB simulation parameters in the telecommand, as in previous releases). The LPAGRBIDVALID, LPAGRBGBMVALID, and LPAGRBEPUVALID bits are used to indicate whether the corresponding fields in the telecommand are valid or invalid, allowing operators to change some settings while leaving others unaltered.
  • B0-10-0. Substantial changes to were made to the LAT Instrument Manager (LIM) application and to the instrument mode control sequence. An overview of the new implementation is provided in this presentation from a March 23, 2007 LAT mode control workshop. More detail is provided in the updated LIM Package Design document. In previous Releases, LIM could defer/queue LPASTART and LPASTOP telecommands to the LAT Physics Acquisition (LPA) application depending on the current operating mode or SAA transit status, and forward those message at a later time; this queuing functionality was removed in B0-10-0, meaning all LPASTART and LPASTOP telecommands are immediately forwarded to LPA if the current mode is correct. The changes to LIM will require the following adjustments to I&T tests and scripts:
    • The TOO and ARR instrument modes are decoupled from LPA status (IDLE, STOPPING, RUNNING). TOO observations are affected most by this change: to execute a TOO observation and switch to a new LPA_DB or LATC configuration when the LAT is currently taking data in PHYSICS mode, 3 commands must be sent - TOO-START, LPASTOP, LPASTART. In this scenario, the TOO-START command sets the observation mode to TOO and identifies the LPA_DB or LATC configuration to use for the duration of the TOO; however, the new configuration is not applied until LPASTOP then LPASTART are sent. Thereafter, LPA can be stopped and restarted any number of times while the TOO is in progress with the same result - the configuration settings in the TOO-START command "trump" any configuration parameters in the LPASTART command, until the TOO ends. The attached chart documents the effects of the GBM interrupt and the LPASTART, LPASTOP, TOO-START, GRB-SUSPECTED, and GRB-CONFIRMED commands in different LIM modes and LPA states.
    • The SAA interrupts and terminates any observation run. LIM no longer queues an LPASTART command for execution once SAA is past. Physics runs must be re-started by sending an LPASTART command after SAA transit.
    • The LIMBIASACD, LIMBIASCAL, and LIMBIASTKR telecommands are only valid when (a) LIM is operating in QUIESCENT, TOO, or ARR mode and (b) an LPASTOP command has been issued to idle the LPA application.
  • B0-10-0. The LPA telecommand set was expanded to allow operators to set a default data taking configuration and select that default when starting a run.
    • The new LPASETDEFAULT  command takes an LPA_DB instance ID (from 0 to 31; only 0 is valid in this Release), a fileID for a LATC configuration file, and a fileID for LATC ignore map file to set as defaults for subsequent data collection runs.
    • The LPALATCFGID, LPALATCIGNID, and LPADBID fields in the LPASTART command now accept the value 0xffffffff, meaning use the default configuration settings.
  • B0-10-0. The LIMLATCCONFIGURE   and LIMLATCVERIFY  telecommands were added to LIM. LIMLATCCONFIGURE applies the instrument configuration in the specified LATC configuration files. LIMLATCVERIFY reads back the LAT configuration, compares it to the latest requested configuration, and - if there is a mismatch - dumps the configuration data to the SSR in LATCDATA science telemetry packets (APID 0x3FD). LIMLATCVERIFY is valid when LPA is idle and LIM is in QUIESCENT, TOO, ARR, or HOLD mode.
  • B0-10-0. Added support for new GRB detection simulation in LPASETGRB command.
    • LPAGRBSIMMODE field - GRB simulation mode. 3 modes are currently planned:
      Mode 0 is disabled.
      Mode 1 will execute all available detection states: suspect->(update*10)->confirm->closeout.
      Mode 2 will execute only suspect->closeout.
    • LPAGRBSIMINTV field - time interval in seconds between the GRB detection states for the simulation mode
    • LPAGRBSIMRPTSEC field - GRB repoint request in seconds for the simulation mode
    • If the simulation mode is enabled, a LAT detected GRB will be initiated 60 seconds after the LPASTART successfully completes. Each LPASETGRB command will activate a single LAT detected GRB simulation ONLY for the subsequent physics run. All remaining physics runs will have the simulation disabled. While in simulation mode, all GBM telecommands will be ignored by the GRB software. Note that LIM will still issue acknowledgement of receipt of any such commands. In addition, all EPU GRB summary packets will be discarded.
    • Issuing the LPASTOP command will immediately end the active LAT detected GRB simulation by executing GRB closeout.
  • B0-10-0. LPA (via LATC) now uses a solicited trigger to inject a start and stop marker event into the data stream, and arranges for the EPUs to include the marker events into the event datagrams; this is done to allow precise demarcation of the beginning and end of data collection runs. Also, as part of processing the LPASTART and LPASTOP commands, the LPA master task on the SIU confirms that the LPA slave tasks on the EPUs are ready to start or stop the observation and ready to funnel the marker event into the data stream. If the EPUs do not confirm they are ready to begin or end the run within a short timeout period, triggers are disabled and the run is aborted. Notification of failure to start the run is recorded as LIM_ACTION_PHYSICS_COMPLETE in the LIMTACTION field and LPA_ERROR in the LIMTSTATUS field of the Lrs0 housekeeping packet (APID 0x227).
  • B0-10-0. Certain LAT Computer Manager telecommands take as a parameter a numerical FSW taskID. TaskIDs are also reported in telemetry. The taskID enumeration was updated:
    LCM_LCMTASKID_LCM_M = 1, /*!< LAT computer manager, master */
    LCM_LCMTASKID_LFS_M = 2, /*!< LAT file system, master */
    LCM_LCMTASKID_LHK_M = 4, /*!< LAT housekeeping system, master */
    LCM_LCMTASKID_LHK_S = 5, /*!< LAT housekeeping, slave */
    LCM_LCMTASKID_LIM_M = 6, /*!< LAT instrument manager, master */
    LCM_LCMTASKID_LSM_M = 8, /*!< LAT spacecraft messages, master */
    LCM_LCMTASKID_LSM_S = 9, /*!< LAT spacecraft messages, slave */
    LCM_LCMTASKID_LSW_M = 10, /*!< LAT software watchdog, master */
    LCM_LCMTASKID_LCI_M = 12, /*!< LAT calibration, master */
    LCM_LCMTASKID_STX_U = 30, /*!< SDI (transmit), utility */
    LCM_LCMTASKID_LMC_M = 14, /*!< LAT mux rate counters, master */
    LCM_LCMTASKID_LPA_M = 15, /*!< LAT physics aquisition, master */
    LCM_LCMTASKID_LRA_M = 17, /*!< LAT register access, master */
    LCM_LCMTASKID_LTC_M = 18, /*!< LAT thermal control, master */
    LCM_LCMTASKID_GRB_S = 19, /*!< LAT GRB analysis, slave */
    LCM_LCMTASKID_CRXC_U = 22, /*!< CTDB command receive, utility */
    LCM_LCMTASKID_LTX0_U = 25, /*!< LCB transmit, utility */
    LCM_LCMTASKID_LRXR_U = 26, /*!< LCB receive result, utility */
    LCM_LCMTASKID_LRXE_U = 27, /*!< LCB receive event, utility */
    LCM_LCMTASKID_CTX_U = 29, /*!< CTDB transmit, utility */
    LCM_LCMTASKID_LPA_S = 16, /*!< LAT physics acquisition, slave */

III. Changes Affecting LAT Telemetry

  • B1-0-0: The TemEnvPwr5 (APID 533) housekeeping telemetry packet now reports the LAT Physics Acquisition 32 bit run identifier for data collection runs (LHKLPARUNID), run start time (LHKLPASTARTTIME), LPA mode ID (e.g., NORMAL, TOO, GRB0, etc) (LHKLPAMODEID), LAT Charge Injection run identifier (LHKLCIRUNID), and LCI run start time (LHKLCISTARTTIME).
  • B1-0-0. The SIUCFG , EPU0CFG , EPU1CFG , and EPU2CFG  LPA diagnostic telemetry packets introduced in B0-10-0 are now emitted whenever LPA's data taking mode (NORMAL, TOO, GRB0, etc) changes.
  • B1-0-0. Application mode housekeeping (LHK) telemetry contains 4 new packets, TrcSiu (APID 0x233), TrcEpu0 (0x234), TrcEpu1 (0x235), TrcEpu2 (0x236) (and corresponding "demand" telemetry packets, APID 0x293, 0x294, x295, x296). These packets contain trace buffer information for each FSW task on the CPU (data analagous to that shown on a Unix system in response to the "top" command). These data could conceivably be valuable in troubleshooting.
  • B0-10-0. Error and status register datagrams in LRASSRDATA science telemetry packets (APID 0x3A0) now contain only the contents of error and status registers of the TKR, CAL, and ACD readout controller (RC) and front-end (FE) ASICs. ESR dumps are sent to the SSR in response to the LRAESRSEND command (APID 0x680, function code 11).
  • B0-10-0. Error and status register data has been removed from LATC dump datagrams in LATCDATA science telemetry packets (APID 0x3FD).
  • B0-10-0. Each CPU transmits an LPA diagnostic telemetry packet whenever an LPA configuration change occurs. For example, when LPACONFIGURE, LPAASSOCIATE, LPASTART, and LPASETDEFAULT commands are sent, diagnostic packets are transmitted which can be used to confirm the configuration settings that were chosen. Details are provided on the C&T Web pages for the SIUCFG , EPU0CFG , EPU1CFG , and EPU2CFG  packets.

IV. Changes Affecting LAT Configuration Process

  • B1-0-0. Until now, the Gamma filter has applied only veto conditions, eliminating events which do not have Gamma characteristics. In B1-0-0, a new pass condition has been added to the filter: any event with energy greater than 20,000 MeV is now accepted. This energy threshold (and all other Gamma filter parameters) is set in C header files from the GFC_DB FSW package.
  • B1-0-0. Charge injection (LCI) runs have been made more configurable. New parameters are available for each calibration flavor. The attached excerpt from the latest LCI Software User Guide describes the following new XML configuration file elements:
  • Calorimeter





















  • B0-10-0. All periodic trigger configuration settings are now defined in LATC configuration files. Within a <GEM> configuration block, the newly-available <periodic_mode> </periodic_mode> tag can be used to set whether "free-run" (0x1) or "limited" (0x0) periodic triggers are delivered by the GEM.
  • B0-10-0. In a related change, the number of LPA configurations (LPA_DB instances) loaded into RAM on startup has been reduced from 3 to 1. Previously, the choice of LPA_DB instance determined the periodic trigger setting. Now, the only valid values for the LPADBID telecommand field are 0x0 or 0xffffffff (default).
  • B0-10-0. Duplicate tag names have been eliminated from the LATC configuration file schema. Previously, GEM configuration files used separate <external></external> tags to set (a) whether an external trigger was enabled as a trigger input and (b) whether the external trigger condition was allowed as an input to logic for opening a trigger window. The new tag used to set (a) is <external_trg></external_trg>. In addition, TEM and AEM configuration files each used a <data_mask></data_mask> tag. The new tag for AEM files is <freeboard_mask></freeboard_mask>.

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

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

  • FSW packages that were changed or added since B0-10-1 are itemized here .
  • All FSW packages in B0-10-1 are itemized here .

VI. JIRA Items Resolved in B1-0-0


  • [FSW-879] - Define the ACD hit map delay as an iterable in LCI
  • [FSW-880] - Add some configuration registers as parameters to LCI
  • [FSW-916] - Clock detection race condition in LCB driver
  • [FSW-920] - LHK package IVV3 code issues
  • [FSW-927] - THS package IVV3 code issues
  • [FSW-928] - LPA package IVV3 code issues
  • [FSW-932] - In LTC_tlm_pkt.cath, LTC11SELRITHPN has incorrect description field
  • [FSW-933] - LCMSCRUBCFG : LCMSCRUBPER telecommand parameter documentation incorrect


  • [FSW-271] - Logical/physical descriptions
  • [FSW-693] - Command confirmation configuration report
  • [FSW-732] - Task messaging configuration report
  • [FSW-911] - report file ID of corrupted file
  • [FSW-918] - Include Run ID in housekeeping
  • [FSW-936] - Provide attitude history list parameter in ATT_DB
  • [FSW-937] - Make ATT math functions public
  • [FSW-940] - Add LPA mode to housekeeping telemetry

New Feature

  • [FSW-292] - Implement GRB detection algorithm
  • [FSW-919] - Use LSW/TRC as performance Monitor
  • [FSW-930] - LAT FSW must accomodate a potential misalignment between spacecraft coordinates and LAT instrument coordinates


  • [FSW-917] - Implement the filter parameters described in TD-08805-01
  • [FSW-938] - LMC Delta timestamp telemetry field description is incorrect