EIR-OPS-006.11: EMOD Operations
Objective
To perform a first-time test of EMOD experiment operations following launch and on-orbit reprogramming.
Introduction
In this procedure, EMOD experiment operations will be tested for the first time following launch by putting the payload into Experiment Mode and then downlinking and assessing the resulting experiment data.
Procedure
This procedure contains the following sub-procedures:
Note
A communication window is required for each of these sub-procedures.
A. Running the Experiment
Important
You are about to send the first TC of this procedure - Have you completed the EIR-OPS-003: Start a Communication Pass procedure? A Communication Pass must be started prior to carrying out the operations planned for the pass. Don’t forget to set up the parameters/actions that will be used during the pass in MCS before the pass begins!
A.1.
Getthe parameterplatform.EPS.actualSwitchStateswithFirst row=Last row= 9.If 1 is returned (i.e. EMOD in ON), skip ahead to Step A.4.
Else, proceed to the next step.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Info |
|
Allowed Value(s) |
0-9, 0-9 (dec) |
Expected Value(s) |
9, 9 (dec) |
TM Details |
|
Data Expected from TC |
|
Data Size |
Boolean |
Data Info |
SwitchState = 0 (Off), SwitchState=1 (On) |
Allowed Value(s) |
0-1 |
Expected Value(s) |
1 |
A.2.
Invokethe actionplatform.EPS.turnOnEMOD.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.3.
Getthe parameterplatform.EPS.actualSwitchStateswithFirst row=Last row= 9.Ensure PDM 10 is now ON/1.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes, 2 bytes |
Data Info |
|
Allowed Value(s) |
0-9, 0-9 (dec) |
Expected Value(s) |
9, 9 (dec) |
TM Details |
|
Data Expected from TC |
|
Data Size |
Boolean |
Data Info |
SwitchState = 0 (Off), SwitchState=1 (On) |
Allowed Value(s) |
0-1 |
Expected Value(s) |
1 |
A.4.
Getthe parameterpayload.EMOD.FirmwareVersionto further ensure EMOD is now on and that the firmware is responsive.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
3 bytes |
Data Info |
Firmware version of EMOD |
Allowed Value(s) |
000000 - FFFFFF (hex) |
Expected Value(s) |
Firmware version programmed onto MSP in the previous procedures |
A.5.
Getthe parameterpayload.EMOD.deltaTto determine what delta time is currently being used between RTD measurements.If 1 is returned, skip ahead to Step A.8.
Else, proceed to the next step.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes |
Data Info |
Time (in seconds) between RTD measurements |
Allowed Value(s) |
0001 - FFFF (hex) |
Expected Value(s) |
0001 (hex) |
A.6.
Setthe parameterpayload.EMOD.deltaTto 1 to change the delta time between RTD measurements.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes |
Data Info |
Time (in seconds) between RTD measurements |
Allowed Value(s) |
0001 - FFFF (hex) |
Expected Value(s) |
0001 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.7.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.8.
Setthe parameterpayload.EMOD.RTDEnabledMaskto 1111 (bitfield) / 0F (hex) to set-up the EMOD experiment to poll all RTDs.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
Bitmap of which RTDs are (1) and are not (0) being sampled |
Allowed Value(s) |
0000 - 1111 (bitfield) |
Expected Value(s) |
1111 (bitfield) / 0F (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.9.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.9.
Setthepayload.EMOD.EMODModeparameter to 1 (i.e. Experiment Mode).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
The mode to set EMOD to |
Allowed Value(s) |
0-1 |
Expected Value(s) |
1 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
Where…
|
Mode |
|---|---|
0 |
Idle |
1 |
Experiment |
A.11.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.12.
Get, and continue toGetthepayload.EMOD.LastPageAddrparameter.Ensure that
LastPageAddrstarts as 0x3FFFFF and then goes to 0 before increasing by 1 to further confirm that the EMOD experiment is now running.Note the time interval between the parameter incrementing and ensure it is increasing at a rate of ~29 seconds.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
3 bytes |
Data Info |
The memory address of the last page written to EMOD flash |
Allowed Value(s) |
000000-FFFFFF (hex) |
Expected Value(s) |
Increasing at a rate of ~29 seconds |
A.13.
Getthepayload.EMOD.NextPageAddrToPollparameterEnsure it is 0.
Tip
The payload.EMOD.NextPageAddrToPoll parameter is configurable and can be set to any value the Operators wants. However, the parameter is also persisted by the OBC and keeps track of the next memory address that should be polled assuming the operator wants to poll the pages from sequential memory addresses. As a result we usually do not need to set this parameter.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes |
Data Info |
The next flash memory address to poll a page of data from when auto polling of pages is enabled |
Allowed Value(s) |
0-65535 (dec) |
Expected Value(s) |
0 |
A.14.
Setthe parameterpayload.EMOD.AutoPollPagesto 1 to begin OBC polling of EMOD pages.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
Enable (1) or Disable (0) OBC polling of EMOD data |
Allowed Value(s) |
0-1 |
Expected Value(s) |
1 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.15.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.16.
Getthe parameterpayload.EMOD.SyncTimePeriodMultiplier.Ensure it is 0.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes |
Data Info |
Period multiplier used to determine when EMOD’s time is (re-)synced with the OBC. |
Allowed Value(s) |
0 - 65535 (dec) |
Expected Value(s) |
0 (dec) |
A.17.
Setthepayload.EMOD.SyncTimePeriodMultiplierparameter to 30 (dec).This will result in EMOD’s time being synced with the OBC’s time every 30 minutes.
Note
This period multiplier used to determine when EMOD’s time is (re-)synced with the OBC. This occurs as part of the PollPages task, which has a 1 minute task period. On a task period where time syncing occurs, the OBC skips polling new pages from EMOD. If this multiplier is set to 0, time syncing is disabled. A minimum non-zero value of 5 (i.e. time syncing every 5 minutes) is allowed.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes |
Data Info |
Period multiplier used to determine when EMOD’s time is (re-)synced with the OBC. |
Allowed Value(s) |
0 - 65535 (dec) |
Expected Value(s) |
30 (dec) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.18.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
B. Data Downlink
Note
Ensure MCS’s Transfer Window is open and visible to the Operator prior to proceeding.
B.1.
Querythe parametercore.Storage.channelContentwithParameter index in block= 77 (dec).Repeat until at least one row of data is observed in the channel.
Important
This will take up to ~8 minutes (i.e. 16 x 29 seconds) and so will very likely require multiple passes.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes |
Data Info |
|
Allowed Value(s) |
0 - 65535 (dec) |
Expected Value(s) |
77 (dec) |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
Number of rows in the EMOD Channel |
Allowed Value(s) |
0-65535 (dec) |
Expected Value(s) |
Increasing at a rate of 16 x 29 x |
B.2.
Downlinkfrom thecore.storage.channelContentparameter, with the following properties:Parameter index in block= 77 (dec).First row= 0.Last row= the number of available rows in channel 77 (as determined in Step B.1) - 1.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes, 2 bytes, 2 bytes |
Data Info |
|
Allowed Value(s) |
0000 - FFFF, 0000 - FFFF, 0000 - FFFF |
Expected Value(s) |
77, 0, >=0 |
TM Details |
|
Data Expected from TC |
Requested Data ( + ACK ) |
Data Size |
n bytes, where n = size of requested data |
Data Info |
Requested Data for Downlink |
B.3.
Confirm from the Transfer Window on MCS that the LDT is now on-going.
Wait for the transfer to complete.
B.4.
When the downlink is complete, ensure that the content of the downlinked data file corresponds to what is expected for EMOD experiment data.
To do this use the EMOD Parser Python code to ensure that:
The experiment start time matches what we expect given the time at which the mode was set to 1.
The page IDs/memory addresses start at 0 and incrementally increase.
The reading for all 4 RTDs are as expected given which RTDs are being polled.
The delta times between sets of RTD readings match the delta time being used.
C. Turn Off EMOD
Important
The Operator may now choose to 1) turn off EMOD, 2) leave EMOD power on and experiment running as is or 3) eave EMOD powered on but reconfigure the experiment settings via the EIR-OPS-022: EMOD Configuration procedure. If the first option is preferred, the Operator should now proceed with Step C.1. to power off the payload. Else, skip to Step C.7..
C.1.
Setthe parameterpayload.EMOD.AutoPollPagesto 0 to stop the OBC polling pages from EMOD.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
Enable (1) or Disable (0) OBC polling of EMOD data |
Allowed Value(s) |
0-1 |
Expected Value(s) |
0 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
C.2.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
C.3.
Setthe parameterpayload.EMOD.SyncTimePeriodMultiplierto 0 to stop OBC-EMOD time syncing.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes |
Data Info |
Period multiplier to be applied to the Sync Time Task which runs at a period of 115 seconds |
Allowed Value(s) |
0 - 65535 (dec) |
Expected Value(s) |
0 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
C.4.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
C.5.
Invokethe actionplatform.EPS.turnOffEMOD.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
C.6.
Getthe parameterplatform.EPS.actualSwitchStateswithFirst row=Last row= 9 to ensure PDM 10 is now OFF/0.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes, 2 bytes |
Data Info |
|
Allowed Value(s) |
0-9, 0-9 (dec) |
Expected Value(s) |
9, 9 (dec) |
TM Details |
|
Data Expected from TC |
|
Data Size |
Boolean |
Data Info |
SwitchState = 0 (Off), SwitchState=1 (On) |
Allowed Value(s) |
0-1 |
Expected Value(s) |
0 |
C.7.
The EMOD operational test has been completed. The Operator should now proceed with one of the sub-procedures listed in EIR-OPS-006: Commissioning that is yet to be completed.
Note
The sub-procedures listed in EIR-OPS-006: Commissioning do not necessarily need to be carried out in the order given. However, procedures ending in ‘Operation’ should only be completed after the relevant ‘Health Check’ procedure for that subsystem has been performed. The ‘EMOD Reprogramming’ procedure must also be performed prior to any EMOD activities. Lastly, ideally, payload operations should be the last item to consider in the commissioning of the spacecraft.
Alternatively, if all commissioning sub-procedures have been successfully completed, the Operator may now proceed to the EIR-OPS-012: Set Up Nominal Operations procedure.
END OF PROCEDURE