Back in November, I posted about the ESCAPADE Mars twin orbiter mission. I made a recording of the X-band telemetry with the Allen Telescope Array the day after launch, and I decoded the telemetry with GNU Radio. I made a preliminary analysis of the telemetry, showing that it contained a large number of log messages in ASCII. Shortly after writing this post, PistonMiner provided a deeper analysis of the telemetry, including a Github repository with some code and extracted data. She noticed that the CCSDS Space Packets, all of which belonged to the same APID 51, contained MAX simple telemetry frames in their payloads. Since MAX telemetry frames contain their own APIDs, this allowed separating the different types of telemetry data. Since seeing this, I wanted to go back and analyse again the telemetry to see what else I could find. Now I’ve finally had some time to do this. In this post I describe my new findings, as well as what PistonMiner originally discovered.
MAX telemetry frames
Recall that ESCAPADE transmits CCSDS TM Space Data Link frames carrying Space Packets in virtual channel 2. All the Space Packets use APID 51. PistonMiner realized that the payload of the Space Packets is formatted as MAX simple telemetry frames. MAX is the flight software of ASI, which was bought by Rocket Lab, which manufactured the ESCAPADE spacecraft buses, so this makes a lot of sense.
The structure of a MAX simple telemetry frame is as follows:
- Frame length (4 bytes). Since this frame format was originally designed to be carried inside a TCP stream, the frame length serves as frame delimitation. It contains the length of the MAX simple telemetry frame, excluding this frame length field. This is somewhat redundant when the frames are encapsulated in CCSDS Space Packets, since the Space Packets also have a length field.
- APID (2 bytes).
- Timestamp (6 bytes). This is divided into 4 bytes of integer seconds and 2 bytes of fractional seconds. According to the documentation, the fractional seconds count ticks of 1/40000 of a second rather than 1/65536 of a second, which would be more natural. The epoch for the timestamp is the UNIX epoch.
- Payload (N bytes).
The numeric fields use little endian ordering.
The following plot shows the values of the timestamps in the MAX frames that I have decoded, showing that the timestamps are correctly interpreted. Gaps in the data correspond either to missing data because the signal was too weak to be decoded or to a gap of almost 2 hours around 16:00 UTC produced by a technical issue with the recording. In this plot and others, the blue trace corresponds to ESCAPADE-Blue and the orange trace corresponds to ESCAPADE-Gold.

There are many MAX APIDs active. The following shows a timeline of the APIDs transmitted by each of the two spacecraft.

We can see a few interesting things in this plot. APID 520, which corresponds to log messages, is only transmitted sporadically, when a log message is generated. ESCAPADE-Gold is transmitting low rate telemetry after 16:00 UTC. We can see that the number of active APIDs is greatly reduced to accommodate the lower data rate. APID 740 is used to downlink files. This starts being used by ESCAPADE-Blue slightly before 19:00 UTC.
All the APIDs except 520 (log messaages) and 740 (file downlink) use packets of constant size. This makes it possible to plot a raster map of the APID data to identify telemetry fields. Here are a couple examples of these raster maps. The Jupyter notebook contains maps for both spacecraft and all their fixed-length APIDs.


APID 520: log messages
APID 520 contains asynchronous log messages. The payload of the MAX frames is the log message in ASCII. The following shows all the log messages for ESCAPADE-Blue, together with the timestamp in the corresponding MAX frame.
14:45:47 E_CMD_HIST: [ OK ] CDH_NOOP
14:47:21 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(620, 0.05);
14:47:56 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(621, 0.05);
14:48:39 E_CMD_HIST: [ OK ] FJ_ABORT, Proc: CommsFallback
14:52:49 E_CMD_HIST: [ OK ] FJ_START_ABS, Time: 1763146080.000000, File: CommsFallback, Args:
15:01:57 E_CMD_HIST: [ OK ] CDH_NOOP
15:03:11 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(2220, 0.1);
15:03:12 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6074, 0.1);
15:03:12 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6075, 0.1);
15:03:12 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6084, 0.1);
15:03:13 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6085, 0.1);
15:03:13 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6363, 0.1);
15:03:13 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6423, 0.1);
15:03:14 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(7612, 0.1);
15:04:54 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5121, 0.1);
16:54:50 E_CMD_HIST: [ OK ] CDH_NOOP
17:02:44 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 3600.000000, File: DisableComponents, Args: STA
17:03:47 E_INFO: EnableComponents: Begin sequence
17:03:47 E_INFO: EnableComponents: Enabling STA
17:03:47 E_INFO: set_st_power_state: Begin sequence
17:03:47 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: EnableComponents, Args: STA
17:03:47 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
17:03:47 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
17:03:48 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
17:03:48 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
17:03:48 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
17:03:48 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
17:03:49 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
17:03:49 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
17:03:49 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
17:03:49 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
17:03:50 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
17:03:50 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
17:03:50 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
17:03:50 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
17:03:52 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
17:03:52 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
17:03:52 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
17:03:52 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
17:03:53 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
17:03:53 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
17:03:53 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
17:03:53 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
17:03:54 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[1, On]
17:03:54 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[1, E_High]
17:03:54 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[1, On]
17:03:54 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[1, E_High]
17:03:55 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[1, On]
17:03:55 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[1, E_High]
17:03:55 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[1, On]
17:03:55 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[1, E_High]
17:03:57 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
17:03:57 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
17:03:57 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
17:03:57 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
17:03:58 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
17:03:58 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
17:03:58 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
17:03:58 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
17:03:59 E_INFO: set_st_power_state: End sequence
17:04:01 E_INFO: EnableComponents: End sequence
17:04:01 E_INFO: EnableComponents: ENDPROC
17:04:01 E_CMD_HIST: [ OK ] AOCS_ST_A_POWER Value=[True]
17:16:02 E_CMD_HIST: [ OK ] CDH_NOOP
17:20:55 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5141, 0.1);
18:02:44 E_INFO: DisableComponents: Begin sequence
18:02:44 E_INFO: DisableComponents: Disabling STA
18:02:44 E_CMD_HIST: [ OK ] AOCS_ST_A_POWER Value=[False]
18:02:45 E_INFO: set_st_power_state: Begin sequence
18:02:45 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[0, Off]
18:02:45 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[0, E_Low]
18:02:46 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[0, Off]
18:02:46 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[0, E_Low]
18:02:46 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[0, Off]
18:02:46 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[0, E_Low]
18:02:47 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
18:02:47 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
18:02:47 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
18:02:47 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
18:02:48 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
18:02:48 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
18:02:48 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
18:02:48 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
18:02:50 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
18:02:50 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
18:02:50 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
18:02:50 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
18:02:52 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
18:02:52 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
18:02:52 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
18:02:52 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
18:02:53 E_INFO: set_st_power_state: End sequence
18:02:53 E_INFO: DisableComponents: End sequence
18:02:53 E_INFO: DisableComponents: ENDPROC
18:08:43 E_CMD_HIST: [ OK ] CDH_NOOP
18:14:08 E_CMD_HIST: [ OK ] FJ_ABORT, Proc: CommsFallback
18:15:35 E_CMD_HIST: [ OK ] FJ_START_ABS, Time: 1763151225.000000, File: CommsFallback, Args:
18:46:36 E_CMD_HIST: [ OK ] CDH_NOOP
18:51:19 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(1020, 0.1);
18:52:09 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(730, 0.1);
18:52:56 E_INFO: BackorbInit: Begin sequence
18:52:56 E_INFO: BackorbInit: create /tmp/BackorbDownload.fj
18:52:56 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: BackorbInit, Args:
18:52:56 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo PROC BackorbDownload > /tmp/BackorbDownload.fj
18:52:56 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo BEGIN >> /tmp/BackorbDownload.fj
18:52:56 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo 'CMD "CDH_FDM_FILE_DOWNLOAD_CANCEL"' >> /tmp/BackorbDownload.fj
18:52:56 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo 'WAIT(2)' >> /tmp/BackorbDownload.fj
18:52:56 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo 'CMD "MISC_SYSTEM" ("gzip -c -f -k /tmp/BackorbDownload.fj > /tmp/BackorbDownload.gz")' >> /tmp/BackorbDownload.fj
18:52:57 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo 'WAIT(2)' >> /tmp/BackorbDownload.fj
18:52:57 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo 'CALL FileDownload ("/tmp/BackorbDownload.gz")' >> /tmp/BackorbDownload.fj
18:52:57 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo ENDPROC >> /tmp/BackorbDownload.fj
18:52:58 E_INFO: BackorbInit: End sequence
18:54:46 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: BackorbList, Args: 1762740000,1763150400,INV_EPS
18:54:46 E_INFO: BackorbList: Begin sequence
18:54:46 E_INFO: BackorbList: archive now and list mtc files for logger: INV_EPS
18:54:46 E_CMD_HIST: [ OK ] CDH_LOG_INV_EPS_ARCHIVE_NOW
18:54:56 E_INFO: PrepareDownloadUtcRange (File: MtcFileRecorder.cpp Line: 1855): PREP_FILES will prep 8 files from 1762740000 to 1763150400 TotalBytes: 248280
18:54:56 E_CMD_HIST: [ OK ] CDH_LOG_INV_EPS_DL_FILES_UTC_RANGE I_UtcStart=[1762740000] I_UtcEnd=[1763150400] E_Mode=[2, E_FileList] S_DestFile=[/tmp/INV_EPS_files_list.txt]
18:55:26 E_INFO: BackorbList: complete /tmp/BackorbDownload.fj for logger: INV_EPS
18:55:26 E_INFO: BackorbGen: Begin sequence
18:55:26 E_INFO: BackorbGen: Complete /tmp/BackorbDownload.fj for logger: INV_EPS
18:55:26 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: sed -i '$d' /tmp/BackorbDownload.fj
18:55:27 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: find /tmp -name INV_EPS_files_list.txt -type f -exec grep -i num_bytes {} + | sed 's:^:// :' >> /tmp/BackorbDownload.fj
18:55:28 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: find /tmp -name INV_EPS_files_list.txt -type f -exec grep -i /mnt/mmc0 {} + | sed 's:^:CALL FileDownload(":' | sed 's:$:"):' >> /tmp/BackorbDownload.fj
18:55:33 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo ENDPROC >> /tmp/BackorbDownload.fj
18:55:34 E_INFO: BackorbGen: End sequence
18:55:34 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: rm /tmp/*_files_list.txt
18:55:35 E_INFO: BackorbList: End sequence
18:56:54 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: BackorbList, Args: 1762740000,1763150400,INV_CDH_SPOC_MISC
18:56:55 E_INFO: BackorbList: Begin sequence
18:56:55 E_INFO: BackorbList: archive now and list mtc files for logger: INV_CDH_SPOC_MISC
18:56:55 E_CMD_HIST: [ OK ] CDH_LOG_INV_CDH_SPOC_MISC_ARCHIVE_NOW
18:57:05 E_INFO: PrepareDownloadUtcRange (File: MtcFileRecorder.cpp Line: 1855): PREP_FILES will prep 28 files from 1762740000 to 1763150400 TotalBytes: 639495
18:57:05 E_CMD_HIST: [ OK ] CDH_LOG_INV_CDH_SPOC_MISC_DL_FILES_UTC_RANGE I_UtcStart=[1762740000] I_UtcEnd=[1763150400] E_Mode=[2, E_FileList] S_DestFile=[/tmp/INV_CDH_SPOC_MISC_files_list.txt]
18:57:35 E_INFO: BackorbList: complete /tmp/BackorbDownload.fj for logger: INV_CDH_SPOC_MISC
18:57:35 E_INFO: BackorbGen: Begin sequence
18:57:35 E_INFO: BackorbGen: Complete /tmp/BackorbDownload.fj for logger: INV_CDH_SPOC_MISC
18:57:35 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: sed -i '$d' /tmp/BackorbDownload.fj
18:57:36 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: find /tmp -name INV_CDH_SPOC_MISC_files_list.txt -type f -exec grep -i num_bytes {} + | sed 's:^:// :' >> /tmp/BackorbDownload.fj
18:57:37 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: find /tmp -name INV_CDH_SPOC_MISC_files_list.txt -type f -exec grep -i /mnt/mmc0 {} + | sed 's:^:CALL FileDownload(":' | sed 's:$:"):' >> /tmp/BackorbDownload.fj
18:57:42 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: echo ENDPROC >> /tmp/BackorbDownload.fj
18:57:43 E_INFO: BackorbGen: End sequence
18:57:43 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: rm /tmp/*_files_list.txt
18:57:44 E_INFO: BackorbList: End sequence
18:59:43 E_WARNING: LoadProc (File: FJExecute.cpp Line: 1205): Procedure found in working directory, executing: /tmp/BackorbDownload.fj
18:59:43 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: /tmp/BackorbDownload.fj, Args:
18:59:43 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD_CANCEL
18:59:45 E_CMD_HIST: [ OK ] MISC_SYSTEM, STRING: gzip -c -f -k /tmp/BackorbDownload.fj > /tmp/BackorbDownload.gz
18:59:47 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /tmp/BackorbDownload.gz
18:59:48 E_INFO: FileDownload: download of: BackorbDownload completed
18:59:48 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1762741927.mtc.gz
19:00:37 E_INFO: FileDownload: download of: inv_eps-1762741927 completed
19:00:38 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1762752532.mtc.gz
19:01:30 E_INFO: FileDownload: download of: inv_eps-1762752532 completed
19:01:30 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1762763341.mtc.gz
19:02:22 E_INFO: FileDownload: download of: inv_eps-1762763341 completed
19:02:22 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1762774147.mtc.gz
19:02:41 E_INFO: FileDownload: download of: inv_eps-1762774147 completed
19:02:42 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1763105330.mtc.gz
19:03:31 E_INFO: FileDownload: download of: inv_eps-1763105330 completed
19:03:31 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1763115989.mtc.gz
19:04:20 E_INFO: FileDownload: download of: inv_eps-1763115989 completed
19:04:20 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1763126789.mtc.gz
19:05:09 E_INFO: FileDownload: download of: inv_eps-1763126789 completed
19:05:09 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_eps/inv_eps-1763137596.mtc.gz
19:05:50 E_INFO: FileDownload: download of: inv_eps-1763137596 completed
19:05:50 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762741927.mtc.gz
19:06:21 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(2220, 0.0);
19:06:21 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6074, 0.0);
19:06:22 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6075, 0.0);
19:06:22 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6084, 0.0);
19:06:23 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6085, 0.0);
19:06:23 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6363, 0.0);
19:06:23 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(6423, 0.0);
19:06:24 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(7612, 0.0);
19:06:24 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762741927 completed
19:06:24 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762744915.mtc.gz
19:07:01 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762744915 completed
19:07:01 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762747715.mtc.gz
19:07:24 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5121, 0.0);
19:07:38 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762747715 completed
19:07:39 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762750515.mtc.gz
19:08:04 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(4000, 0.0);
19:08:05 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(4002, 0.0);
19:08:16 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762750515 completed
19:08:16 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762753315.mtc.gz
19:08:50 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762753315 completed
19:08:50 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762756315.mtc.gz
19:09:24 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762756315 completed
19:09:25 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762759115.mtc.gz
19:09:59 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762759115 completed
19:09:59 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762761916.mtc.gz
19:10:33 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762761916 completed
19:10:33 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762764716.mtc.gz
19:11:07 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762764716 completed
19:11:07 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762767516.mtc.gz
19:11:45 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762767516 completed
19:11:45 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762770516.mtc.gz
19:12:22 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762770516 completed
19:12:22 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762773316.mtc.gz
19:12:56 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762773316 completed
19:12:56 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762776116.mtc.gz
19:13:30 E_INFO: FileDownload: download of: inv_cdh_spoc_misc-1762776116 completed
19:13:31 E_CMD_HIST: [ OK ] CDH_FDM_FILE_DOWNLOAD, FileName: /mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763106530.mtc.gz
The following is the corresponding log for ESCAPADE-Gold.
12:56:32 E_INFO: DisableComponents: Begin sequence
12:56:32 E_INFO: DisableComponents: Disabling STA
12:56:32 E_CMD_HIST: [ OK ] AOCS_ST_A_POWER Value=[False]
12:56:33 E_INFO: set_st_power_state: Begin sequence
12:56:33 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[0, Off]
12:56:33 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[0, E_Low]
12:56:33 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[0, Off]
12:56:33 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[0, E_Low]
12:56:34 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[0, Off]
12:56:34 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[0, E_Low]
12:56:34 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
12:56:34 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
12:56:35 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
12:56:35 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
12:56:35 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
12:56:35 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
12:56:36 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
12:56:36 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
12:56:37 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
12:56:37 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
12:56:38 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
12:56:38 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
12:56:39 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
12:56:39 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
12:56:40 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
12:56:40 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
12:56:40 E_INFO: set_st_power_state: End sequence
12:56:40 E_INFO: DisableComponents: End sequence
12:56:40 E_INFO: DisableComponents: ENDPROC
14:20:57 E_INFO: CommsFallback: Begin sequence
14:20:57 E_WARNING: CommsFallback: aborting other FJs
14:20:58 E_INFO: CommsFallback: Executing Launch Sequence
14:20:58 E_INFO: CommsFallback: End sequence
14:20:58 E_INFO: LaunchSequence: Begin sequence.
14:20:58 E_INFO: ConfigLoadSegmentLogging: Begin sequence
14:20:58 E_INFO: ConfigLoadSegmentLogging: Starting POST_SEP logger segment
14:20:58 E_INFO: ConfigLoadSegmentLogging: End sequence
14:20:58 E_INFO: DisableComponents: Begin sequence
14:20:58 E_INFO: DisableComponents: Disabling TVCS
14:20:58 E_CMD_HIST: [ OK ] MISC_CONFIG_LOAD, File: logging/START_SEG_POST_SEP.cfg
14:21:00 E_INFO: DisableComponents: End sequence
14:21:00 E_INFO: DisableComponents: ENDPROC
14:21:00 E_INFO: DisableComponents: Begin sequence
14:21:00 E_INFO: DisableComponents: Disabling PIU
14:21:00 E_INFO: ConfigLoadSegmentLogging: Begin sequence
14:21:00 E_INFO: ConfigLoadSegmentLogging: Stopping PIU_ON logger segment
14:21:00 E_INFO: ConfigLoadSegmentLogging: End sequence
14:21:00 E_INFO: DisableComponents: End sequence
14:21:00 E_INFO: DisableComponents: ENDPROC
14:21:00 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_PIU_SS_PWR_EN ENABLE_STATE=[0, Off]
14:21:00 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[128] STATE=[0, E_Low]
14:21:00 E_CMD_HIST: [ OK ] MISC_CONFIG_LOAD, File: logging/STOP_SEG_PIU_ON.cfg
14:21:00 E_INFO: SetSurvivalSetpoints: Begin sequence
14:21:00 E_INFO: SetThermostatSetpointsClosedLoop: Begin sequence
14:21:00 E_INFO: SetThermostatSetpointsClosedLoop: Changing setpoints for EESA
14:21:00 E_INFO: SetThermostatMode: Begin sequence
14:21:00 E_INFO: SetThermostatMode: Setting CLOSED_LOOP
14:21:00 E_INFO: SetThermostatMode: Setting thermostat 'EESA' to mode ClosedLoop
14:21:01 E_INFO: SetThermostatMode: End sequence
14:21:01 E_INFO: SetThermostatSetpointsClosedLoop: new setpoints for ON -35.000000 deg C. OFF -30.000000 deg C.
14:21:01 E_INFO: SetThermostatSetpointsClosedLoop: End sequence
14:21:01 E_INFO: SetSurvivalSetpoints: Survival setpoints configured for EESA
14:21:01 E_INFO: SetSurvivalSetpoints: End sequence
14:21:01 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_EESA_SET_THRESHOLD, HTR_CONFIG_ON_THD_T=[-35.000000], HTR_CONFIG_OFF_THD_T=[-30.000000]
14:21:02 E_INFO: SetSurvivalSetpoints: Begin sequence
14:21:02 E_INFO: SetThermostatSetpointsClosedLoop: Begin sequence
14:21:02 E_INFO: SetThermostatSetpointsClosedLoop: Changing setpoints for EIDPU
14:21:02 E_INFO: SetThermostatMode: Begin sequence
14:21:02 E_INFO: SetThermostatMode: Setting CLOSED_LOOP
14:21:02 E_INFO: SetThermostatMode: Setting thermostat 'EIDPU' to mode ClosedLoop
14:21:03 E_INFO: SetThermostatMode: End sequence
14:21:03 E_INFO: SetThermostatSetpointsClosedLoop: new setpoints for ON -35.000000 deg C. OFF -30.000000 deg C.
14:21:03 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_EIDPU_SET_THRESHOLD, HTR_CONFIG_ON_THD_T=[-35.000000], HTR_CONFIG_OFF_THD_T=[-30.000000]
14:21:03 E_INFO: SetThermostatSetpointsClosedLoop: End sequence
14:21:03 E_INFO: SetSurvivalSetpoints: Survival setpoints configured for EIDPU
14:21:03 E_INFO: SetSurvivalSetpoints: End sequence
14:21:03 E_INFO: DisableComponents: Begin sequence
14:21:03 E_INFO: DisableComponents: Disabling EIDPU
14:21:03 E_CMD_HIST: [ OK ] CDH_PLIM_EIDPU_PASSTHROUGH_STATUS_FLAG_SET STATUS_FLAGS=[4660, E_ShutdownImminent]
14:21:13 E_CMD_HIST: [ OK ] EPS_PLIM_DIO_M_PL_PRI_PWR_EN ENABLE_STATE=[0, Off]
14:21:13 E_CMD_HIST: [ OK ] CDH_PLIM_IO_GPIO_STATE_SET, IDX=[15], STATE=[0]
14:21:14 E_CMD_HIST: [ OK ] EPS_PLIM_DIO_M_PL_SEC_PWR_EN ENABLE_STATE=[0, Off]
14:21:14 E_CMD_HIST: [ OK ] CDH_PLIM_IO_GPIO_STATE_SET, IDX=[12], STATE=[0]
14:21:15 E_CMD_HIST: [ OK ] EPS_PLIM_DIO_ISO_REG_EN ENABLE_STATE=[0, Off]
14:21:15 E_CMD_HIST: [ OK ] CDH_PLIM_IO_GPIO_STATE_SET, IDX=[95], STATE=[0]
14:21:16 E_CMD_HIST: [ OK ] EPS_PLIM_DIO_M_ISO_XCVR_EN ENABLE_STATE=[0, Off]
14:21:16 E_CMD_HIST: [ OK ] CDH_PLIM_IO_GPIO_STATE_SET, IDX=[11], STATE=[0]
14:21:17 E_INFO: DisableComponents: End sequence
14:21:17 E_INFO: DisableComponents: ENDPROC
14:21:17 E_INFO: DisableComponents: Begin sequence
14:21:17 E_CMD_HIST: [ OK ] CDH_PLIM_EIDPU_PASSTHROUGH_STATUS_FLAG_SET STATUS_FLAGS=[0, E_Nominal]
14:21:17 E_INFO: ConfigLoadSegmentLogging: Begin sequence
14:21:17 E_INFO: ConfigLoadSegmentLogging: Stopping EIDPU_ON logger segment
14:21:17 E_INFO: ConfigLoadSegmentLogging: End sequence
14:21:17 E_INFO: DisableComponents: Disabling CAM
14:21:17 E_INFO: DisableComponents: End sequence
14:21:17 E_INFO: DisableComponents: ENDPROC
14:21:17 E_INFO: DisableComponents: Begin sequence
14:21:17 E_CMD_HIST: [ OK ] MISC_CONFIG_LOAD, File: logging/STOP_SEG_EIDPU_ON.cfg
14:21:17 E_CMD_HIST: [ OK ] EPS_SUPERVISOR_DIO_CAM_PWR_EN ENABLE_STATE=[0, Off]
14:21:17 E_CMD_HIST: [ OK ] CDH_SUPERVISOR_IO_GPIO_STATE_SET IDX=[38] STATE=[0, E_Low]
14:21:17 E_INFO: DisableComponents: Disabling PLIM
14:21:17 E_CMD_HIST: [ OK ] CDH_PLIM_EIDPU_PASSTHROUGH_STATUS_FLAG_SET STATUS_FLAGS=[4660, E_ShutdownImminent]
14:21:27 E_INFO: DisableComponents: End sequence
14:21:27 E_INFO: DisableComponents: ENDPROC
14:21:27 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_PLIM_MAIN_PWR_EN ENABLE_STATE=[0, Off]
14:21:27 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[127] STATE=[0, E_Low]
14:21:27 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: GNC_StarTracker_A.StaleDeadline = 0.0001;
14:21:27 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: GNC_StarTracker_B.StaleDeadline = 0.0001;
14:21:27 E_INFO: _initGNC (File: RL_SenProc_StarTracker.cpp Line: 373): Object 'GNC_StarTracker_A(GNC_RL_SenProc_StarTracker)': MAX Component initialized
14:21:27 E_INFO: _initGNC (File: RL_SenProc_StarTracker.cpp Line: 373): Object 'GNC_StarTracker_B(GNC_RL_SenProc_StarTracker)': MAX Component initialized
14:21:27 E_INFO: ConfigLoadSegmentLogging: Begin sequence
14:21:27 E_INFO: ConfigLoadSegmentLogging: Stopping PLIM_ON logger segment
14:21:27 E_INFO: ConfigLoadSegmentLogging: End sequence
14:21:27 E_INFO: EnableComponents: Begin sequence
14:21:27 E_INFO: EnableComponents: Enabling IMUS
14:21:27 E_CMD_HIST: [ OK ] MISC_CONFIG_LOAD, File: logging/STOP_SEG_PLIM_ON.cfg
14:21:28 E_INFO: EnableComponents: End sequence
14:21:28 E_INFO: EnableComponents: ENDPROC
14:21:28 E_INFO: EnableComponents: Begin sequence
14:21:28 E_INFO: EnableComponents: Enabling STS
14:21:28 E_INFO: set_st_power_state: Begin sequence
14:21:28 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
14:21:28 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
14:21:28 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[0, Off]
14:21:28 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[0, E_Low]
14:21:29 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
14:21:29 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
14:21:29 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
14:21:29 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
14:21:30 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
14:21:30 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
14:21:30 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[0, Off]
14:21:30 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[0, E_Low]
14:21:32 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[1, On]
14:21:32 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[1, E_High]
14:21:32 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_A_PWR_EN ENABLE_STATE=[1, On]
14:21:32 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[110] STATE=[1, E_High]
14:21:33 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
14:21:33 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
14:21:33 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_B_PWR_EN ENABLE_STATE=[1, On]
14:21:33 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[111] STATE=[1, E_High]
14:21:35 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
14:21:35 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
14:21:35 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
14:21:35 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
14:21:36 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
14:21:36 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
14:21:36 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_ST_OCP_EN ENABLE_STATE=[1, On]
14:21:36 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[109] STATE=[1, E_High]
14:21:37 E_INFO: set_st_power_state: End sequence
14:21:41 E_CMD_HIST: [ OK ] AOCS_ST_A_POWER Value=[True]
14:21:42 E_INFO: EnableComponents: End sequence
14:21:42 E_INFO: EnableComponents: ENDPROC
14:21:42 E_INFO: EnableComponents: Begin sequence
14:21:42 E_INFO: EnableComponents: Enabling FSS
14:21:42 E_INFO: EnableComponents: End sequence
14:21:42 E_INFO: EnableComponents: ENDPROC
14:21:42 E_CMD_HIST: [ OK ] AOCS_ST_B_POWER Value=[True]
14:21:42 E_INFO: EnableComponents: Begin sequence
14:21:42 E_INFO: EnableComponents: Enabling RWS
14:21:44 E_CMD_HIST: [ OK ] AOCS_RW_B_SET_POWER State=[True]
14:21:45 E_CMD_HIST: [ OK ] AOCS_RW_A_SET_POWER State=[True]
14:21:46 E_CMD_HIST: [ OK ] AOCS_RW_C_SET_POWER State=[True]
14:21:46 E_ERROR: Condition Detected: ID=0: FDIR_GNC_RW_B_SOH: FDIR_GNC_RW_B_SOH(1)=((RW B Powered On=1 == 1)=1 and (Reaction Wheel 1 Healthy=0 == 0)=1)
14:21:47 E_CMD_HIST: [ OK ] AOCS_RW_D_SET_POWER State=[True]
14:21:47 E_ERROR: Condition Detected: ID=0: FDIR_GNC_RW_A_SOH: FDIR_GNC_RW_A_SOH(1)=((RW A Powered On=1 == 1)=1 and (Reaction Wheel 0 Healthy=0 == 0)=1)
14:21:48 E_ERROR: Condition Detected: ID=0: FDIR_GNC_RW_C_SOH: FDIR_GNC_RW_C_SOH(1)=((RW C Powered On=1 == 1)=1 and (Reaction Wheel 2 Healthy=0 == 0)=1)
14:21:48 E_ERROR: Condition Detected: ID=0: FDIR_GNC_RW_D_SOH: FDIR_GNC_RW_D_SOH(1)=((RW D Powered On=1 == 1)=1 and (Reaction Wheel 3 Healthy=0 == 0)=1)
14:21:57 E_CMD_HIST: [ OK ] CDH_NOOP
14:22:08 E_CMD_HIST: [ OK ] AOCS_RW_A_SET_NORMALPROC
14:22:09 E_CMD_HIST: [ OK ] AOCS_RW_B_SET_NORMALPROC
14:22:10 E_CMD_HIST: [ OK ] AOCS_RW_C_SET_NORMALPROC
14:22:11 E_INFO: EnableComponents: End sequence
14:22:11 E_INFO: EnableComponents: ENDPROC
14:22:11 E_CMD_HIST: [ OK ] AOCS_RW_D_SET_NORMALPROC
14:22:11 E_INFO: SetSafeModeSetpoints: Begin sequence
14:22:11 E_INFO: SetThermostatSetpointsClosedLoop: Begin sequence
14:22:11 E_INFO: SetThermostatSetpointsClosedLoop: Changing setpoints for PROP_DECK_1
14:22:11 E_INFO: SetThermostatMode: Begin sequence
14:22:11 E_INFO: SetThermostatMode: Setting CLOSED_LOOP
14:22:11 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_1' to mode ClosedLoop
14:22:13 E_INFO: SetThermostatMode: End sequence
14:22:13 E_INFO: SetThermostatSetpointsClosedLoop: new setpoints for ON 5.000000 deg C. OFF 5.500000 deg C.
14:22:13 E_INFO: SetThermostatSetpointsClosedLoop: End sequence
14:22:13 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_PROP_DECK_1_SET_THRESHOLD, HTR_CONFIG_ON_THD_T=[5.000000], HTR_CONFIG_OFF_THD_T=[5.500000]
14:22:13 E_INFO: SetThermostatSetpointsClosedLoop: Begin sequence
14:22:13 E_INFO: SetThermostatSetpointsClosedLoop: Changing setpoints for PROP_DECK_2
14:22:13 E_INFO: SetThermostatMode: Begin sequence
14:22:13 E_INFO: SetThermostatMode: Setting CLOSED_LOOP
14:22:13 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_2' to mode ClosedLoop
14:22:14 E_INFO: SetThermostatMode: End sequence
14:22:14 E_INFO: SetThermostatSetpointsClosedLoop: new setpoints for ON 5.000000 deg C. OFF 5.500000 deg C.
14:22:14 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_PROP_DECK_2_SET_THRESHOLD, HTR_CONFIG_ON_THD_T=[5.000000], HTR_CONFIG_OFF_THD_T=[5.500000]
14:22:14 E_INFO: SetThermostatSetpointsClosedLoop: End sequence
14:22:14 E_INFO: SetThermostatSetpointsClosedLoop: Begin sequence
14:22:14 E_INFO: SetThermostatSetpointsClosedLoop: Changing setpoints for PROP_DECK_3
14:22:14 E_INFO: SetThermostatMode: Begin sequence
14:22:14 E_INFO: SetThermostatMode: Setting CLOSED_LOOP
14:22:14 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_3' to mode ClosedLoop
14:22:15 E_INFO: SetThermostatMode: End sequence
14:22:15 E_INFO: SetThermostatSetpointsClosedLoop: new setpoints for ON 7.500000 deg C. OFF 8.000000 deg C.
14:22:15 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_PROP_DECK_3_SET_THRESHOLD, HTR_CONFIG_ON_THD_T=[7.500000], HTR_CONFIG_OFF_THD_T=[8.000000]
14:22:15 E_INFO: SetThermostatSetpointsClosedLoop: End sequence
14:22:15 E_INFO: SetThermostatSetpointsClosedLoop: Begin sequence
14:22:15 E_INFO: SetThermostatSetpointsClosedLoop: Changing setpoints for PROP_DECK_4
14:22:15 E_INFO: SetThermostatMode: Begin sequence
14:22:16 E_INFO: SetThermostatMode: Setting CLOSED_LOOP
14:22:16 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_4' to mode ClosedLoop
14:22:17 E_INFO: SetThermostatMode: End sequence
14:22:17 E_INFO: SetThermostatSetpointsClosedLoop: new setpoints for ON 7.500000 deg C. OFF 8.000000 deg C.
14:22:17 E_INFO: SetThermostatSetpointsClosedLoop: End sequence
14:22:17 E_INFO: SetSafeModeSetpoints: End sequence
14:22:17 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_PROP_DECK_4_SET_THRESHOLD, HTR_CONFIG_ON_THD_T=[7.500000], HTR_CONFIG_OFF_THD_T=[8.000000]
14:22:17 E_INFO: SetAllHeaters: Begin sequence
14:22:17 E_INFO: SetAllHeaters: Setting ALL heaters to mode ClosedLoop
14:22:17 E_INFO: SetThermostatMode: Begin sequence
14:22:17 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:17 E_INFO: SetThermostatMode: Setting thermostat 'EESA' to mode ClosedLoop
14:22:18 E_INFO: SetThermostatMode: End sequence
14:22:18 E_INFO: SetThermostatMode: Begin sequence
14:22:18 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:18 E_INFO: SetThermostatMode: Setting thermostat 'EIDPU' to mode ClosedLoop
14:22:19 E_INFO: SetThermostatMode: End sequence
14:22:19 E_INFO: SetThermostatMode: Begin sequence
14:22:19 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:20 E_INFO: SetThermostatMode: Setting thermostat 'HE_BOTTLE_1' to mode ClosedLoop
14:22:21 E_INFO: SetThermostatMode: End sequence
14:22:21 E_INFO: SetThermostatMode: Begin sequence
14:22:21 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:21 E_INFO: SetThermostatMode: Setting thermostat 'HE_BOTTLE_2' to mode ClosedLoop
14:22:22 E_INFO: SetThermostatMode: End sequence
14:22:22 E_INFO: SetThermostatMode: Begin sequence
14:22:22 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:22 E_INFO: SetThermostatMode: Setting thermostat 'AVIONICS_DECK_1' to mode ClosedLoop
14:22:23 E_INFO: SetThermostatMode: End sequence
14:22:23 E_INFO: SetThermostatMode: Begin sequence
14:22:23 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:23 E_INFO: SetThermostatMode: Setting thermostat 'AVIONICS_DECK_2' to mode ClosedLoop
14:22:24 E_INFO: SetThermostatMode: End sequence
14:22:24 E_INFO: SetThermostatMode: Begin sequence
14:22:24 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:24 E_INFO: SetThermostatMode: Setting thermostat 'RADIATOR_RADIO' to mode ClosedLoop
14:22:25 E_INFO: SetThermostatMode: End sequence
14:22:25 E_INFO: SetThermostatMode: Begin sequence
14:22:25 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:26 E_INFO: SetThermostatMode: Setting thermostat 'AVIONICS_DECK_4' to mode ClosedLoop
14:22:27 E_INFO: SetThermostatMode: End sequence
14:22:27 E_INFO: SetThermostatMode: Begin sequence
14:22:27 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:27 E_INFO: SetThermostatMode: Setting thermostat 'AVIONICS_DECK_3' to mode ClosedLoop
14:22:28 E_INFO: SetThermostatMode: End sequence
14:22:28 E_INFO: SetThermostatMode: Begin sequence
14:22:28 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:28 E_INFO: SetThermostatMode: Setting thermostat 'RADIATOR_SPOC' to mode ClosedLoop
14:22:29 E_INFO: SetThermostatMode: End sequence
14:22:29 E_INFO: SetThermostatMode: Begin sequence
14:22:29 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:29 E_INFO: SetThermostatMode: Setting thermostat 'HPA' to mode ClosedLoop
14:22:30 E_INFO: SetThermostatMode: End sequence
14:22:30 E_INFO: SetThermostatMode: Begin sequence
14:22:30 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:30 E_INFO: SetThermostatMode: Setting thermostat 'OX_TANK_N_2' to mode ClosedLoop
14:22:31 E_INFO: SetThermostatMode: End sequence
14:22:31 E_INFO: SetThermostatMode: Begin sequence
14:22:31 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:32 E_INFO: SetThermostatMode: Setting thermostat 'FU_TANK_N_2' to mode ClosedLoop
14:22:33 E_INFO: SetThermostatMode: End sequence
14:22:33 E_INFO: SetThermostatMode: Begin sequence
14:22:33 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:33 E_INFO: SetThermostatMode: Setting thermostat 'OX_TANK_N_1' to mode ClosedLoop
14:22:34 E_INFO: SetThermostatMode: End sequence
14:22:34 E_INFO: SetThermostatMode: Begin sequence
14:22:34 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:34 E_INFO: SetThermostatMode: Setting thermostat 'FU_TANK_N_1' to mode ClosedLoop
14:22:35 E_INFO: SetThermostatMode: End sequence
14:22:35 E_INFO: SetThermostatMode: Begin sequence
14:22:35 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:35 E_INFO: SetThermostatMode: Setting thermostat 'OX_TANK_S_1' to mode ClosedLoop
14:22:36 E_INFO: SetThermostatMode: End sequence
14:22:36 E_INFO: SetThermostatMode: Begin sequence
14:22:36 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:36 E_INFO: SetThermostatMode: Setting thermostat 'FU_TANK_S_1' to mode ClosedLoop
14:22:37 E_INFO: SetThermostatMode: End sequence
14:22:37 E_INFO: SetThermostatMode: Begin sequence
14:22:37 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:38 E_INFO: SetThermostatMode: Setting thermostat 'OX_TANK_S_2' to mode ClosedLoop
14:22:39 E_INFO: SetThermostatMode: End sequence
14:22:39 E_INFO: SetThermostatMode: Begin sequence
14:22:39 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:39 E_INFO: SetThermostatMode: Setting thermostat 'FU_TANK_S_2' to mode ClosedLoop
14:22:40 E_INFO: SetThermostatMode: End sequence
14:22:40 E_INFO: SetThermostatMode: Begin sequence
14:22:40 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:40 E_INFO: SetThermostatMode: Setting thermostat 'FH_1_OX' to mode ClosedLoop
14:22:41 E_INFO: SetThermostatMode: End sequence
14:22:41 E_INFO: SetThermostatMode: Begin sequence
14:22:41 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:41 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_1' to mode ClosedLoop
14:22:42 E_INFO: SetThermostatMode: End sequence
14:22:42 E_INFO: SetThermostatMode: Begin sequence
14:22:42 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:42 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_2' to mode ClosedLoop
14:22:43 E_INFO: SetThermostatMode: End sequence
14:22:43 E_INFO: SetThermostatMode: Begin sequence
14:22:43 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:44 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_3' to mode ClosedLoop
14:22:45 E_INFO: SetThermostatMode: End sequence
14:22:45 E_INFO: SetThermostatMode: Begin sequence
14:22:45 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:45 E_INFO: SetThermostatMode: Setting thermostat 'PROP_DECK_4' to mode ClosedLoop
14:22:46 E_INFO: SetThermostatMode: End sequence
14:22:46 E_INFO: SetThermostatMode: Begin sequence
14:22:46 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:46 E_INFO: SetThermostatMode: Setting thermostat 'HINGE_OUTBOARD' to mode ClosedLoop
14:22:46 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_HINGE_OUTBOARD_SET_CONTROL_MODE, CONTROL_MODE=[3]
14:22:46 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_HINGE_OUTBOARD_SET_CONTROL_MODE, CONTROL_MODE=[3]
14:22:48 E_INFO: SetThermostatMode: End sequence
14:22:48 E_INFO: SetThermostatMode: Begin sequence
14:22:48 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:48 E_INFO: SetThermostatMode: Setting thermostat 'HINGE_ROOT' to mode ClosedLoop
14:22:48 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_HINGE_ROOT_SET_CONTROL_MODE, CONTROL_MODE=[3]
14:22:49 E_CMD_HIST: [ OK ] TCS_THERMOSTATS_HINGE_ROOT_SET_CONTROL_MODE, CONTROL_MODE=[3]
14:22:50 E_INFO: SetThermostatMode: End sequence
14:22:50 E_INFO: SetThermostatMode: Begin sequence
14:22:50 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:50 E_INFO: SetThermostatMode: Setting thermostat 'FH_2_FU' to mode ClosedLoop
14:22:51 E_INFO: SetThermostatMode: End sequence
14:22:51 E_INFO: SetThermostatMode: Begin sequence
14:22:51 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:52 E_INFO: SetThermostatMode: Setting thermostat 'RCS_B' to mode ClosedLoop
14:22:53 E_INFO: SetThermostatMode: End sequence
14:22:53 E_INFO: SetThermostatMode: Begin sequence
14:22:53 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:53 E_INFO: SetThermostatMode: Setting thermostat 'RCS_A' to mode ClosedLoop
14:22:54 E_INFO: SetThermostatMode: End sequence
14:22:54 E_INFO: SetThermostatMode: Begin sequence
14:22:54 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:54 E_INFO: SetThermostatMode: Setting thermostat 'N2_BOTTLES' to mode ClosedLoop
14:22:55 E_INFO: SetThermostatMode: End sequence
14:22:55 E_INFO: SetThermostatMode: Begin sequence
14:22:55 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:55 E_INFO: SetThermostatMode: Setting thermostat 'TVC' to mode ClosedLoop
14:22:56 E_INFO: SetThermostatMode: End sequence
14:22:56 E_INFO: SetThermostatMode: Begin sequence
14:22:56 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:56 E_INFO: SetThermostatMode: Setting thermostat 'ENG_OX' to mode ClosedLoop
14:22:57 E_INFO: SetThermostatMode: End sequence
14:22:57 E_INFO: SetThermostatMode: Begin sequence
14:22:57 E_INFO: SetThermostatMode: Setting CLOSEDLOOP
14:22:58 E_INFO: SetThermostatMode: Setting thermostat 'ENG_FU' to mode ClosedLoop
14:22:59 E_INFO: SetThermostatMode: End sequence
14:22:59 E_INFO: SetAllHeaters: End sequence
14:22:59 E_INFO: EnableComponents: Begin sequence
14:22:59 E_CMD_HIST: [ OK ] EPS_SPOC_DIO_CL_PT_GN2_REGOUT_EN ENABLE_STATE=[1, On]
14:22:59 E_CMD_HIST: [ OK ] CDH_SPOC_IO_GPIO_STATE_SET IDX=[120] STATE=[1, E_High]
14:22:59 E_INFO: EnableComponents: Enabling REG_OUT
14:22:59 E_INFO: EnableComponents: End sequence
14:22:59 E_INFO: EnableComponents: ENDPROC
14:22:59 E_INFO: LoadTankMassesFromPersistentStorage: Begin sequence
14:22:59 E_CMD_HIST: [ OK ] STATE_MMC0_LOAD
14:22:59 E_CMD_HIST: [ OK ] STATE_MMC1_LOAD
14:22:59 E_CMD_HIST: [ OK ] STATE_SPINAND0_LOAD
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Persistent states oxidizer mass: 193190.000000g
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Supervisor oxidizer mass: 193190.000000g
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Using persistent states oxidizer mass
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Persistent states fuel mass: 117560.000000g
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Supervisor fuel mass: 117560.000000g
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Using persistent states fuel mass
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: Restoring prop masses:
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: 193.190000kg oxidizer
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: 117.560000kg fuel
14:23:00 E_INFO: LoadTankMassesFromPersistentStorage: End sequence
14:23:00 E_INFO: ConfigFDIR: Begin sequence
14:23:00 E_CMD_HIST: [ OK ] GNC_TANK_MAN_OVERRIDE_TOTAL_OXIDIZER_MASS override_total_oxidizer_mass[193.190000]
14:23:00 E_CMD_HIST: [ OK ] GNC_TANK_MAN_OVERRIDE_TOTAL_FUEL_MASS override_total_fuel_mass[117.560000]
14:23:00 E_CMD_HIST: [ OK ] MISC_CONFIG_LOAD, File: fdir/fdir_launch_seq.cfg
14:23:03 E_INFO: ConfigFDIR: End sequence
14:23:03 E_INFO: SetPersistentStateManagerValue: Begin sequence
14:23:04 E_INFO: SetPersistentStateManagerValue: Checking status of last persistent LOAD
14:23:04 E_INFO: SetPersistentStateManagerValue: Setting Persistent State Manager LAST_CMD_VEHICLE_MODE to SEPARATION_MODE
14:23:04 E_CMD_HIST: [ OK ] STATE_MMC0_LAST_CMD_VEHICLE_MODE, VALUE=7
14:23:05 E_CMD_HIST: [ OK ] STATE_MMC1_LAST_CMD_VEHICLE_MODE, VALUE=7
14:23:05 E_CMD_HIST: [ OK ] STATE_SPINAND0_LAST_CMD_VEHICLE_MODE, VALUE=7
14:23:06 E_INFO: SetPersistentStateManagerValue: Set STATE_MMC0_/MMC1_/SPINAND0_LAST_CMD_VEHICLE_MODE to SEPARATION_MODE
14:23:06 E_INFO: SetPersistentStateManagerValue: End sequence
14:23:06 E_WARNING: LaunchSequence: TTC001 (Rx-ONLY) enabled for 15 minutes
14:23:06 E_INFO: ConfigureRadio: Begin sequence
14:23:06 E_WARNING: AcceptCmd (File: FJExecute.cpp Line: 564): Issue aborting sequence. Check to make sure the procedure does not contain an extension (i.e. ".fj"). Else, the sequence in question was not running and this warning can be ignored
14:23:06 E_WARNING: AcceptCmd (File: FJExecute.cpp Line: 564): Issue aborting sequence. Check to make sure the procedure does not contain an extension (i.e. ".fj"). Else, the sequence in question was not running and this warning can be ignored
14:23:06 E_WARNING: AcceptCmd (File: FJExecute.cpp Line: 564): Issue aborting sequence. Check to make sure the procedure does not contain an extension (i.e. ".fj"). Else, the sequence in question was not running and this warning can be ignored
14:23:06 E_ERROR: LoadProc (File: FJExecute.cpp Line: 1241 errno: 2): Unable to load file: /mnt/spinand0/MidSepModeDelta.fj
14:23:06 E_ERROR: StartAbsAux (File: FJExecute.cpp Line: 1446 errno: 2): Failed to start command sequence. Unable to load file: /mnt/spinand0/MidSepModeDelta.fj
14:23:06 E_CMD_HIST: [ OK ] FJ_ABORT, Proc: ConfigureRadioInternal
14:23:06 E_CMD_HIST: [ OK ] FJ_ABORT, Proc: DelayTXWatchdog
14:23:06 E_CMD_HIST: [ OK ] FJ_ABORT, Proc: FWReset
14:23:06 E_CMD_HIST: [ERROR] FJ_START_REL, Seconds: 0.000000, File: /mnt/spinand0/MidSepModeDelta.fj, Args:
16:54:50 E_CMD_HIST: [ OK ] CDH_NOOP
16:55:33 E_CMD_HIST: [ OK ] CDH_NOOP
16:55:59 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5121, 0.1);
16:56:08 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(4000, 0.025);
16:56:08 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(4002, 0.025);
17:02:09 E_INFO: ConfigLoadSegmentLogging: Begin sequence
17:02:09 E_INFO: ConfigLoadSegmentLogging: Stopping POST_SEP logger segment
17:02:09 E_INFO: ConfigLoadSegmentLogging: End sequence
17:02:09 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: ConfigLoadSegmentLogging, Args: STOP_POST_SEP
17:02:09 E_CMD_HIST: [ OK ] MISC_CONFIG_LOAD, File: logging/STOP_SEG_POST_SEP.cfg
17:06:56 E_CMD_HIST: [ OK ] CDH_NOOP
17:09:09 E_INFO: CommissioningTxDutyCycle: Receive for 1800 sec
17:17:03 E_INFO: EnableExciter: Begin sequence
17:17:03 E_INFO: DelayTXWatchdog: Begin sequence
17:17:03 E_INFO: DelayTXWatchdog: Delaying TX Watchdog to end of contact
17:17:03 E_INFO: TimeoutCommandIntRadio: Begin sequence
17:17:03 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: EnableExciter, Args: 1800
17:17:05 E_INFO: DelayTXWatchdog: End sequence
17:17:06 E_INFO: TimeoutCommandIntRadio: Sucessfully set opcode 13 to 1
17:17:06 E_INFO: TimeoutCommandIntRadio: End sequence
17:17:06 E_INFO: EnableExciter: End sequence
17:20:13 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5121, 0.05);
18:39:56 E_INFO: TimeoutCommandEnumContain: End sequence
18:46:31 E_CMD_HIST: [ OK ] CDH_NOOP
18:58:07 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5121, 0.05);
18:58:08 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(5141, 0.05);
18:58:56 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(1020, 0.05);
19:05:07 E_CMD_HIST: [ OK ] MISC_CONFIG_PARSE, String: tlm_master.set_apid_freq(2000, 0.05);
19:09:44 E_INFO: CommissioningTxDutyCycle: Receive for 1800 sec
19:10:23 E_CMD_HIST: [ OK ] CDH_NOOP
19:10:56 E_INFO: EnableExciter: Begin sequence
19:10:56 E_INFO: DelayTXWatchdog: Begin sequence
19:10:56 E_INFO: DelayTXWatchdog: Delaying TX Watchdog to end of contact
19:10:56 E_CMD_HIST: [ OK ] FJ_START_REL, Seconds: 0.000000, File: EnableExciter, Args: 1800
19:10:56 E_INFO: TimeoutCommandIntRadio: Begin sequence
19:10:58 E_INFO: DelayTXWatchdog: End sequence
19:10:59 E_INFO: TimeoutCommandIntRadio: Sucessfully set opcode 13 to 1
19:10:59 E_INFO: TimeoutCommandIntRadio: End sequence
19:10:59 E_INFO: EnableExciter: End sequence
Other ASCII messages
APIDs 620, 621, 622 and 623 contain some ASCII strings. The raster maps of these APIDs look like the following. The blue sections are ASCII strings (in this case, ConfigureRadioInternal, ConfigureRadioInternal, and WAIT_UNTIL).

APID 620 contains the strings CommsFallback, CommsFallback, EXPR.
APID 621 contains the strings DisableComponents, DisableComponents, EXPR initially, and later on first BackorbList, BackorbList, and WAIT and then BackorbDownload, BackorbDownload, and WAIT in ESCAPADE-Blue and LaunchSequence, one of DisableComponents, EnableComponents and SetThermostatMode, and WAIT in ESCAPADE-Gold.
APID 623 contains the strings FWReset, FWReset, WAIT, and is only active in ESCAPADE-Gold.
My guess is that these APIDs indicate the status of some tasks that are currently running, and they have string fields to list the name and state of task.
APID 730, which is only active in ESCAPADE-Blue, contains a file path in ASCII, followed by some numeric data. The raster map is shown here.

The file paths are the same files that are being downlinked in APID 740, so I guess that this APID indicates the file that is currently being handled by the file transfer service, or something similar.
APID 740: file downlink
APID 740 is used to downlink files. PistonMiner indicated some similarities to the CFileDownloadMgr data structures in MAX, and reverse engineered the format of these packets. I have also reverse engineered this independently.
There are two packet types: file declaration and file chunk. A file declaration packet has the following little endian fields:
- Packet type (4 bytes). A value of 0 indicates file declaration packet type.
- Identifier (4 bytes). The value of this field serves as an identifier for the file being transmitted.
- File size (4 bytes). Total file size in bytes.
- Number of chunks (4 bytes). Number of chunks in which the file will be transmitted.
- CRC (4 bytes). CRC-32 of the file.
- File path. A string that indicates that path of the file. It is zero padded at the end.
A file chunk packet has the following little endian fields.
- Packet type (4 bytes). A value of 1 indicates file chunk packet type.
- Identifier (4 bytes). The value of this field serves as an identifier for the file being transmitted.
- Chunk sequence number (4 bytes). The sequence number of this file chunk.
- Chunk offset (4 bytes). This field indicates the offset in bytes within the file corresponding to this chunk.
- Chunk length (4 bytes). This indicates the length of the chunk. It seems that all chunks are 1062 bytes long except the last one.
- File chunk data (N bytes).
I have implemented some code to reassemble the files transmitted in this APID and check their CRC against the corresponding file declaration. This is the beginning of the log that my code produces.
[c9f119d2] file declaration: size = 407, chunks = 1, crc = 0xf00a0b61, path = /tmp/BackorbDownload.gz
[c9f119d2] file chunk: seq = 0, offset = 0, payload size = 407
[12fd1a5b] file declaration: size = 34850, chunks = 33, crc = 0x257d2907, path = /mnt/mmc0/logs/compton/inv_eps/inv_eps-1762741927.mtc.gz
[12fd1a5b] file chunk: seq = 0, offset = 0, payload size = 1062
[12fd1a5b] file chunk: seq = 1, offset = 1062, payload size = 1062
[12fd1a5b] file chunk: seq = 2, offset = 2124, payload size = 1062
[12fd1a5b] file chunk: seq = 3, offset = 3186, payload size = 1062
[12fd1a5b] file chunk: seq = 4, offset = 4248, payload size = 1062
[12fd1a5b] file chunk: seq = 5, offset = 5310, payload size = 1062
[12fd1a5b] file chunk: seq = 6, offset = 6372, payload size = 1062
[12fd1a5b] file chunk: seq = 7, offset = 7434, payload size = 1062
[12fd1a5b] file chunk: seq = 8, offset = 8496, payload size = 1062
[12fd1a5b] file chunk: seq = 9, offset = 9558, payload size = 1062
[12fd1a5b] file chunk: seq = 10, offset = 10620, payload size = 1062
[12fd1a5b] file chunk: seq = 11, offset = 11682, payload size = 1062
[12fd1a5b] file chunk: seq = 12, offset = 12744, payload size = 1062
[12fd1a5b] file chunk: seq = 13, offset = 13806, payload size = 1062
[12fd1a5b] file chunk: seq = 14, offset = 14868, payload size = 1062
[12fd1a5b] file chunk: seq = 15, offset = 15930, payload size = 1062
[12fd1a5b] file chunk: seq = 16, offset = 16992, payload size = 1062
[12fd1a5b] file chunk: seq = 17, offset = 18054, payload size = 1062
[12fd1a5b] file chunk: seq = 18, offset = 19116, payload size = 1062
[12fd1a5b] file chunk: seq = 19, offset = 20178, payload size = 1062
[12fd1a5b] file chunk: seq = 20, offset = 21240, payload size = 1062
[12fd1a5b] file chunk: seq = 21, offset = 22302, payload size = 1062
[12fd1a5b] file chunk: seq = 22, offset = 23364, payload size = 1062
[12fd1a5b] file chunk: seq = 23, offset = 24426, payload size = 1062
[12fd1a5b] file chunk: seq = 24, offset = 25488, payload size = 1062
[12fd1a5b] file chunk: seq = 25, offset = 26550, payload size = 1062
[12fd1a5b] file chunk: seq = 26, offset = 27612, payload size = 1062
[12fd1a5b] file chunk: seq = 27, offset = 28674, payload size = 1062
[12fd1a5b] file chunk: seq = 28, offset = 29736, payload size = 1062
[12fd1a5b] file chunk: seq = 29, offset = 30798, payload size = 1062
[12fd1a5b] file chunk: seq = 30, offset = 31860, payload size = 1062
[12fd1a5b] file chunk: seq = 31, offset = 32922, payload size = 1062
[12fd1a5b] file chunk: seq = 32, offset = 33984, payload size = 866
[551dca9c] file declaration: size = 35138, chunks = 34, crc = 0x544cc45c, path = /mnt/mmc0/logs/compton/inv_eps/inv_eps-1762752532.mtc.gz
Since all the files are compressed with gzip, my code also decompresses these files. To preserve the original path of the file in the filename, I replace the / characters in the path by + characters. These are the files that I have successfully received and their sizes in bytes as reported by du -b.
131081 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762741927.mtc
131200 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762744915.mtc
131178 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762747715.mtc
131134 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762750515.mtc
131075 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762753315.mtc
131076 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762756315.mtc
131128 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762759115.mtc
131178 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762761916.mtc
131118 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762764716.mtc
131107 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762767516.mtc
131166 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762770516.mtc
131178 mnt+mmc0+logs+compton+inv_cdh_spoc_misc+inv_cdh_spoc_misc-1762773316.mtc
131076 mnt+mmc0+logs+compton+inv_eps+inv_eps-1762741927.mtc
131098 mnt+mmc0+logs+compton+inv_eps+inv_eps-1762752532.mtc
131110 mnt+mmc0+logs+compton+inv_eps+inv_eps-1762763341.mtc
42436 mnt+mmc0+logs+compton+inv_eps+inv_eps-1762774147.mtc
131110 mnt+mmc0+logs+compton+inv_eps+inv_eps-1763105330.mtc
131114 mnt+mmc0+logs+compton+inv_eps+inv_eps-1763115989.mtc
131120 mnt+mmc0+logs+compton+inv_eps+inv_eps-1763126789.mtc
108096 mnt+mmc0+logs+compton+inv_eps+inv_eps-1763137596.mtc
3630 tmp+BackorbDownload
PistonMiner indicates that “The .mtc files themselves look like they’re stored telemetry in the same format as the downlink but without the space packet framing.”. I haven’t looked into the contents of these files yet.
The BackorbDownload file is interestingly a FlightJAS script that commands the download of all these files (plus others that were downlinked after I stopped the recording). This is the script in question.
PROC BackorbDownload
BEGIN
CMD "CDH_FDM_FILE_DOWNLOAD_CANCEL"
WAIT(2)
CMD "MISC_SYSTEM" ("gzip -c -f -k /tmp/BackorbDownload.fj > /tmp/BackorbDownload.gz")
WAIT(2)
CALL FileDownload ("/tmp/BackorbDownload.gz")
// num_bytes = 248280
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1762741927.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1762752532.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1762763341.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1762774147.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1763105330.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1763115989.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1763126789.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_eps/inv_eps-1763137596.mtc.gz")
// num_bytes = 639495
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762741927.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762744915.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762747715.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762750515.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762753315.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762756315.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762759115.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762761916.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762764716.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762767516.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762770516.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762773316.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1762776116.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763106530.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763109417.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763112329.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763115129.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763117929.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763120729.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763123729.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763126530.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763129330.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763132130.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763134930.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763137930.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763140730.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763143530.mtc.gz")
CALL FileDownload("/mnt/mmc0/logs/compton/inv_cdh_spoc_misc/inv_cdh_spoc_misc-1763146330.mtc.gz")
ENDPROC
In the logs in APID 520 we can see how this script is generated on the fly by running commands on board to process a file listing produced by flight software. For instance, this is what generates the section for inv_cdh_spoc_misc files.
CDH_LOG_INV_CDH_SPOC_MISC_DL_FILES_UTC_RANGE I_UtcStart=[1762740000] I_UtcEnd=[1763150400] E_Mode=[2, E_FileList] S_DestFile=[/tmp/INV_CDH_SPOC_MISC_files_list.txt]
MISC_SYSTEM, STRING: find /tmp -name INV_CDH_SPOC_MISC_files_list.txt -type f -exec grep -i num_bytes {} + | sed 's:^:// :' >> /tmp/BackorbDownload.fj
MISC_SYSTEM, STRING: find /tmp -name INV_CDH_SPOC_MISC_files_list.txt -type f -exec grep -i /mnt/mmc0 {} + | sed 's:^:CALL FileDownload(":' | sed 's:$:"):' >> /tmp/BackorbDownload.fj
It makes sense that the FlightJAS script is downloaded as part of the file download sequence just in case it is needed for debugging (plus it also provides a list of all the files that are expected, since it is downloaded first).
APIDs 6084 and 6423: quaternion data
There are two APIDs in which I have been able to find unit quaternions in float32 format. The first of them is APID 6084. The raster map of this APID for ESCAPADE-Blue is shown here. It is apparent that the beginning of these packets is formed by 3 float64’s followed by 4 float32’s.

The first float64 corresponds to an absolute timestamp with respect to the UNIX epoch. The values are close to the timestamps in the MAX simple telemetry packet headers. In ESCAPADE-Gold, this APID has all zeros before around 13:00 UTC, so the timestamps and the rest of the data are invalid during this time.

The following shows the timestamp difference between the MAX packet timestamps and the timestamps in the payload for ESCAPADE-Blue. We can see that there are two events when the difference grows to up to 140 seconds. This happens because the data in this APID is frozen and doesn’t update during these events, while the MAX timestamps continue updating.

A different scale in this plot shows us that the timestamp difference is generally around 0.5 seconds, but there is a jitter of around 1 second. This basically corresponds to the latency from the moment the data on this APID is generated to the moment when it is encapsulated into a telemetry packet.

The next two float64 fields contain relative timestamps. They probably count time since the spacecraft was booted after separation. On 2025-11-14 15:00:00 UTC, the time since launch was 65099 seconds, while these timestamps show a value around 63000 seconds.

The plot of the difference between these two timestamps and the absolute timestamps is interesting. We see that there is a drift, and one of the timestamps has much less jitter than the other one. Also, the timestamps have a difference of around 0.8 seconds.

The four float32 fields are unit quaternions. The following plot shows the data for ESCAPADE-Blue in the first panel and for ESCAPADE-Gold in the second panel. Note that the ESCAPADE-Gold data is all zero initially.

There are several different conventions and formats in which quaternions can be used to represent spacecraft attitude. I have found that the most common convention is that the four-element vector uses scalar-last representation, and that the quaternion \(q(t)\) indicates the rotation from the spacecraft body frame to the ICRF frame at time \(t\). When reverse-engineering quaternions in telemetry, this assumption needs to be checked by making sure that when interpreting the quaternions in this way, they make sense.
The first thing I do is to compute \(h(t) = q(t)^{-1} q(t_0)\), which under this assumption corresponds to the relative rotation from the spacecraft body frame at time \(t_0\) to the spacecraft body frame at time \(t\). Usually a spacecraft rotates about a constant body axis at a constant angular rate, and we can see that in \(h(t)\). The following plot shows the axis of rotation of \(h(t)\) for ESCAPADE-Blue and ESCAPADE-Gold. We see that the axis is constant, and the two spacecraft have very similar axes, but with opposite sign.

The following plot shows the rotation angle of \(h(t)\). We see that the angular rate is constant, and ESCAPADE-Gold has a higher rate.

This is confirmed by the following plot of angular rate.

APID 6423 also contains quaternion data. Here is the raster map of this APID for ESCAPADE-Blue. The first 3 fields are float32 that contain gyroscope data, as we will see. We can also see the four float32 corresponding to quaternions in bytes 32-48.

The following plot shows the raw value of the float32 gyroscope fields. We will interpret this in the context of quaternions below.

The next plot shows the quaternions. The first thing we notice is that they are completely different from those in APID 6084. We will study them in the same way.

The next plot shows the rotation axis of \(h(t)\). We see that the axis is constant over time, and it is very similar for both spacecraft.

In the rotation angle of \(h(t)\) we can see that the angular rate is constant. However we already can see that the angular rate is different from the one we saw in APID 6084. This strongly suggests that the quaternions in the two APIDs are representing different things. The difference in angular rate cannot be attributed to a different representation only.

The plot of the angular rate confirms this difference. While for ESCAPADE-Gold the angular rate is around 60 deg/hour in both APIDs (but still noticeably different), for ESCAPADE-Blue the rate is around 45 deg/hour in this APID and around 20 deg/hour in APID 6084.

To compare the quaternions with the gyroscope data, I scale the axis of rotation in body coordinates vector with the total rotation rate to get the rotation rate in each body axis. This is shown in the left column of the plot below. I compare this to the gyroscope data, which is in the right column. For some reason I need to multiply the gyroscope raw values by \(-1/2\) to get a match. It is quite reasonably that we need to have a minus sign here, because I haven’t been keeping track of the sign of rotations very well. However I don’t know the justification for the factor \(1/2\). The gyroscope data is noisier and has a slight bias, but we get a good match.

This comparison is strong evidence that the quaternions in APID 6423 give the rotation from body axis to ICRF (or other inertial frame) in scalar last format. I have no idea what the quaternions in APID 6084 represent, given that their rotation rate is completely different for ESCAPADE-Blue. Perhaps they indicate some kind of target or predicted attitude that the spacecraft were not tracking at that time.
Something else I typically do when I find spacecraft attitude quaternions is to compute the line-of-sight unit vector between the spacecraft and the receiver in body coordinates. This can be cross-referenced with the received signal power to check where the transmit antenna is located in the body frame. For spacecraft that have SPICE kernels publicly available, the attitude kernels usually have a description of how the body frame is defined and where the antennas are placed.
In the case of ESCAPADE, the best I have found is this diagram. The high gain antenna is in the +Z face, and the two medium gain antennas are both in the +Z face, slightly tilted towards +Y. There are four low gain atennas according to the diagram. Two of them are in the +Z face, just below the medium gain antennas. The other two are not visible in the diagram. It would make sense to place them in the -Z face to have full coverage regardless of the attitude.

In the following plot, the X, Y, Z axes are shown in blue, orange and green respectively. In the waterfalls from the previous post we see that ESCAPADE-Blue’s signal is very weak until 15:00, when an antenna change happens. Then it is very strong at 15:00, and it is somewhat weaker and relatively constant at 17:00 and later. Part of the decrease in received power is caused by the increase in distance.

Assuming that the quaternions body frame is the same as the the frame in the diagram above, we see that at 15:00 the -Z axis is almost pointing towards Earth. Therefore, it sounds reasonable that the antenna change was from the +Z axis to the -Z axis. After this, the -Z axis antenna continues being used, and we get reasonable signal strength throughout the rest of the recording, even though the off-boresight angle is around 90 degrees between 18:00 and 19:00. This is somewhat surprising. I would expect poorer signal at 90 degree off-boresight angle.

In the case of ESCAPADE-Gold, the signal is quite weak around 13:00, then it fades in smoothly, increasing to a maximum. Then there is an antenna change and the signal becomes very weak. After 17:00, ESCAPADE-Gold is transmitting low rate telemetry, so we don’t get any attitude data.

Assuming that the transmit antenna is aligned with one of the spacecraft faces, the only reasonable choice is that the antenna used between 13:00 and 14:30 is in the +Z axis. This explains why the signal power grows over time. It does not explain why the signal is rather weak around 13:00, since the off-boresight angle is not that bad (it is around 80 deg). Maybe the antenna that was used was the medium gain antenna. At 14:30, it looks like a swicth to the -Z axis antenna happens, explaining why the signal becomes very weak.
So it looks like we can make sense of the attitude quaternions in combination with the received signal power and the spacecraft diagram. I am not fully confident about the correctness of this, since we don’t have enough data (it is easier to do this check when the spacecraft rotates faster and we can observe the effects of at least one full revolution) and because we have somewhat inconsistent results between the two spacecraft for off-boresight angles around 80 to 90 deg (although this could be explained by the difference between the LGA and the MGA).
Code and data
I have updated the Jupyter notebook to include all the calculations and plots used in this post. I have also added the downlinked files to the repository.