EIR-OPS-019: Reset/Power-cycle a Payload
Objective
To reset and/or power-cycle a payload.
Introduction
Using this procedure, the Operator will be instructed on how to:
Reset GMOD/EMOD (i.e. a software reset of the MSP), and/or
Power-cycle GMOD/EMOD.
Note
This procedure is largely written using GMOD as the example. For all steps where GMOD is mentioned, identical steps can be carried out for the EMOD MSP (e.g. for the SCDB Action/Param path payload.GMOD.FirmwareVersion, simply use payload.EMOD.FirmwareVersion to access the EMOD MSP firmware version.
Procedure
This procedure has the following subsections:
Note
Communication with the spacecraft will be required throughout this procedure.
A. Initial Checks
A.1.
Gettheplatform.EPS.actualSwitchStatesparameter, withFirst row= 0 andLast row= 9.If interested in GMOD, assess the status of rows 2, 5 and 8 of this parameter (i.e. PDMs 3, 6 and 9). If interested in EMOD, assess row 9 (i.e. PDM 10).
If 1 is returned for these rows/PDMs, the MSP is on.
Warning
PDM 8 (i.e. row 7 of this parameter) is drawing parasitic power. Therefore, when you Get the platform.EPS.actualSwitchStates parameter it will always read as on/1 even when it is powered off.
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 |
Expected Value(s) |
0, 9 |
TM Details |
|
Data Expected from TC |
|
Data Size |
List[0:9] of Booleans |
Data Info |
SwitchState = 0 (Off), SwitchState = 1 (On) |
Allowed Value(s) |
0 or 1 for each switch |
A.2.
If the above step shows that the MSP is on, proceed to Step A.4.
Else, if one or more of the MSP’s PDMs are powered off,
Invoketheplatform.EPS.TurnOnGMODaction. If interested in EMOD, instead use theplatform.EPS.TurnOnEMODaction.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.3.
To confirm that the MSP is now powered on,
Gettheplatform.EPS.actualSwitchStatesparameter, withFirst row= 0 andLast row= 9.If interested in GMOD, ensure that rows 2, 5 and 8 of this parameter (i.e. PDMs 3, 6 and 9) now equal 1. If interested in EMOD, instead confirm row 9 (i.e. PDM 10) equals 1.
Warning
PDM 8 (i.e. row 7 of this parameter) is drawing parasitic power. Therefore, when you Get the platform.EPS.actualSwitchStates parameter it will always read as on/1 even when it is powered off.
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 |
Expected Value(s) |
0, 9 |
TM Details |
|
Data Expected from TC |
|
Data Size |
List[0:9] of Booleans |
Data Info |
SwitchState = 0 (Off), SwitchState = 1 (On) |
Allowed Value(s) |
0 or 1 for each switch |
Expected Value(s) |
GMOD on: XX1XX1XX1X, EMOD on: XXXXXXXX1 |
A.4.
If the firmware currently running on the MSP is known to be non-responsive, skip ahead to Section B (reset) or C (power-cycle).
Else,
Getthepayload.GMOD.FirmwareVersionparameter.Ensure the firmware version returned matches what was expected given the last firmware programmed onto the MSP.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes (3 bytes for |
Data Info |
The version of the firmware currently on the MSP |
Allowed Value(s) |
0000 - FFFF (000000 - FFFFFF for |
Expected Value(s) |
Firmware version last programmed onto the MSP |
A.5.
Getthepayload.GMOD.GMODModeparameter to assess which mode the firmware currently running on the MSP is operating in.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Payload operational mode |
Allowed Value(s) |
See table below |
Where…
Firmware |
|
Mode |
|---|---|---|
GMOD |
1 |
Idle |
GMOD |
2 |
Experiment |
GMOD |
3 |
CPLD |
GMOD |
4 |
Safe |
EMOD |
0 |
Idle |
EMOD |
1 |
Experiment |
. |
A.6.
If the
payload.GMOD.GMODModeparameter indicates that Idle Mode is on-going, skip ahead to Step A.8.Else, now
SettheGMODModeparameter to Idle Mode (i.e. ‘1’ for GMOD. ‘0’ for EMOD)
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 (0 for |
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.
Before resetting/power-cycling the payload in Section B/C,
Getthe parameterpayload.GMOD.ResetCounterto determine the number of times the payload has reset since the MSP was last programmed.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Number of resets since the firmware was last programmed |
Allowed Value(s) |
0 - 127 |
A.9.
Getthe parameterpayload.GMOD.LastResetTypeto determine the most recent type(s) of GMOD reset(s) that have occurred.Continue to get this parameter until 0 is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Last GMOD reset type(s) |
Allowed Value(s) |
00 - 2E |
Where…
|
Reset Type |
|---|---|
02 |
Brownout |
04 |
Unknown |
06 |
SW reboot |
14 |
SW reboot |
16 |
Watchdog reset |
A.10.
If a payload reset is desired, proceed now to Section B.
Alternatively, if a payload power-cycle is desired, skip to Section C.
B. Payload Reset
B.1.
Invokethe actionpayload.GMOD.MSPResetto reset the MSP (via the bootstrap loader)
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.2.
If a payload power-cycle is also desired, proceed now to Section C.
Else, skip to Section D.
C. Payload Power-Cycle
C.1.
Invokethe actionplatform.EPS.TurnOffGMODto turn on GMOD. If interested in EMOD, instead use theplatform.EPS.TurnOffEMODaction.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
C.2.
To confirm that the MSP is now powered off,
Gettheplatform.EPS.actualSwitchStatesparameter, withFirst row= 0 andLast row= 9.If interested in GMOD, ensure that rows 2, 5 and 8 of this parameter (i.e. PDMs 3, 6 and 9) now equal 0. If interested in EMOD, instead confirm row 9 (i.e. PDM 10) equals 0.
Warning
It will likely take ~40 seconds for GMOD’s PDM 3 to read as off/0.
Warning
PDM 8 (i.e. row 7 of this parameter) is drawing parasitic power. Therefore, when you Get the platform.EPS.actualSwitchStates parameter it will always read as on/1 even when it is powered off.
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 |
Expected Value(s) |
0, 9 |
TM Details |
|
Data Expected from TC |
|
Data Size |
List[0:9] of Booleans |
Data Info |
SwitchState = 0 (Off), SwitchState = 1 (On) |
Allowed Value(s) |
0 or 1 for each switch |
Expected Value(s) |
GMOD off: XX0XX0XX0X, EMOD off: XXXXXXXX0 |
C.3.
Invokethe actionplatform.EPS.TurnOnGMODto turn on GMOD. If interested in EMOD, instead use theplatform.EPS.TurnOnEMODaction.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
C.4.
To confirm that the MSP is now powered on,
Gettheplatform.EPS.actualSwitchStatesparameter, withFirst row= 0 andLast row= 9.If interested in GMOD, ensure that rows 2, 5 and 8 of this parameter (i.e. PDMs 3, 6 and 9) now equal 1. If interested in EMOD, instead confirm row 9 (i.e. PDM 10) equals 1.
Warning
PDM 8 (i.e. row 7 of this parameter) is drawing parasitic power. Therefore, when you Get the platform.EPS.actualSwitchStates parameter it will always read as on/1 even when it is powered off.
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 |
Expected Value(s) |
0, 9 |
TM Details |
|
Data Expected from TC |
|
Data Size |
List[0:9] of Booleans |
Data Info |
SwitchState = 0 (Off), SwitchState = 1 (On) |
Allowed Value(s) |
0 or 1 for each switch |
Expected Value(s) |
GMOD on: XX1XX1XX1X, EMOD on: XXXXXXXX1 |
D. Verification
D.1.
Getthepayload.GMOD.FirmwareVersionparameter.Ensure the firmware version returned matches what was expected given the last firmware programmed onto the MSP.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes (3 bytes for |
Data Info |
The version of the firmware currently on the MSP |
Allowed Value(s) |
0000 - FFFF (000000 - FFFFFF for |
Expected Value(s) |
Firmware version last programmed onto the MSP |
D.2.
Getthepayload.GMOD.GMODModeparameter.Ensure the TM returned indicates that Idle Mode is the payload’s current operational mode.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Payload operational mode |
Allowed Value(s) |
See table below |
Expected Value(s) |
1 (0 for |
Where…
Firmware |
|
Mode |
|---|---|---|
GMOD |
1 |
Idle |
GMOD |
2 |
Experiment |
GMOD |
3 |
CPLD |
GMOD |
4 |
Safe |
EMOD |
0 |
Idle |
EMOD |
1 |
Experiment |
D.3.
Getthe parameterpayload.GMOD.ResetCounterto determine the number of times the payload has reset since the MSP was last programmed.Ensure this parameter has increased by 1 since Step A.8 (only if Step A.8 was carried out).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Number of resets since the firmware was last programmed |
Allowed Value(s) |
0 - 127 |
Expected Value(s) |
Increased by 1 since Step A.8 |
D.4.
Getthe parameterpayload.GMOD.LastResetTypeto determine the most recent type(s) of GMOD reset(s) that have occurred.Continue to get this parameter until 0 is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Last GMOD reset type(s) |
Allowed Value(s) |
00 - 2E |
Where…
|
Reset Type |
|---|---|
02 |
Brownout |
04 |
Unknown |
06 |
SW reboot |
14 |
SW reboot |
16 |
Watchdog reset |
Note
If a health check is required after power-cycling the payload, proceed to EIR-OPS-006.6: GMOD Health Check or EIR-OPS-006.8: EMOD Health Check, depending on the payload just reset/power-cycled.
END OF PROCEDURE