EIR-OPS-040: Updating the ADCS Configuration File
Objective
To update the configuration file currently being used by the ADCS.
Introduction
This procedure will instruct the Operators on how to update the ADCS configuration file.
Procedure
This procedure contains the following sub-procedures:
Important
Section A does not require a communication pass and can be carried out prior to the pass. Section B requires a communication pass, and may require multiple passes.
Warning
Operators should not carry out this procedure if the ADCS Engineer is not present and supervising.
A. Pre-Pass Preparation
A.1.
Consult with the ADCS Engineer to determine where the ADCS configuration binary file to be uploaded during Section B is located.
Check with the ADCS Engineer what Raw Access Values should be expected in Steps B.5 and B.15.
Prior to proceeding, the Operators should have access to:
The configuration file to be uplinked (needed for Steps A.2 and B.9),
An MD5 checksum for this configuration file (needed for Step A.2), and
The revision numbers of the current and new configuration files (i.e. the Raw Access Values that are expected in Steps B.5 and B.15.)
Warning
The configuration file to be uploaded must be located on the same computer as MCS (or at least a file system that MCS can access).
A.2.
Run an MD5 checksum to confirm that the correct configuration file is being used.
To perform this check, run
certutil -hashfile <file> MD5in the Windows terminal (or simplymd5 <file>if on a Mac) and check whether the returned checksum matches the checksum from the previous step.
B. Configuration File Update
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 open and set-up the parameters/actions that will be required before the pass starts!
B.1.
Gettheplatform.ADCS.adcsModeStateparameter to assess whether the ADCS is operating in stand-by mode/nadir state (i.e. 0x0000) prior to proceeding.The possible ADCS modes are listed below.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
The current mode (2MSB) and state (2MSB) of the ADCS |
Allowed Value(s) |
See tables below |
The ADCS modes are as follows:
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilized |
5550 |
Test |
|
ADCS Mode |
|---|---|
0000 |
Nadir (Default) |
0001 |
Test |
B.2.
If
platform.ADCS.adcsModeStateis NOT in stand-by mode/nadir state (i.e. 0x0000),Settheplatform.ADCS.adcsModeStateparameter to 0x0000 now.Else, skip to Step B.4.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
4 Hex values = 16 Integer |
Data Info |
ADCS ModeState to be set |
Allowed Value(s) |
See tables above |
Expected Value(s) |
00000000 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.3.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
B.4.
Getthe parameterplatform.ADCS.executioncountmultiple times (i.e. every ~5 seconds) and confirm that the value is increasing.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
Yes ( + ACK ) |
Data Size |
2 bytes |
Data Info |
Count of the number of software step executions |
Allowed Value(s) |
0-65535 (dec) |
Expected Value(s) |
Increasing |
B.5.
Getthe parameterplatform.ADCS.rawAccesswithFirst row= 1005 (dec) andLast row= 1006 (dec).Note the values returned as they are the current ADCS configuration file part number and revision, which will change as a result of this procedure.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes |
Data Info |
|
Allowed Value(s) |
0-1024 (dec), 0-1024 (dec) |
Expected Value(s) |
1005 (dec), 1006 (dec) |
TM Details |
|
Data Expected from TC |
Yes ( + ACK ) |
Data Size |
2 bytes, 2 bytes |
Data Info |
Current ADCS Configuration File Part Number, Current Revision |
Allowed Value(s) |
0-65535 (dec), 0-65535 (dec) |
Expected Value(s) |
Revision number should match expected value from Section A |
B.6.
To arm the ADCS reset,
Invokethe actionplatform.ADCS.armReset.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.7.
Invokethe actionplatform.ADCS.holdResetValuewith the action argument set as 02 (Hex).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
The value sent to the hardware for the reset |
Allowed Value(s) |
00, 01, 02, 04 (hex) |
Expected Value(s) |
02 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
The allowed arguments and their corresponding actions are as follows:
Argument |
Action |
|---|---|
01 |
Reset the ADCS Motherboard |
02 |
Reset the CPU (only) |
04 |
Reset the CPU and RAM |
B.8.
Getthe parameterplatform.ADCS.executioncountmultiple times (i.e. every ~5 seconds) and confirm that the value is now NOT increasing.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
Yes ( + ACK ) |
Data Size |
2 bytes |
Data Info |
Count of the number of software step executions |
Allowed Value(s) |
0-65535 (dec) |
Expected Value(s) |
Not increasing |
B.9.
Uplinkthe ADCS configuration binary file from Section A to the parameterplatform.ADCS.nvmPageDatawithFirst row= 2040 (dec) andLast row= 2047 (dec).Wait until the transfer window on MCS indicates that the uplink completes in full prior to proceeding.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes, 2 bytes, many |
Data Info |
|
Allowed Value(s) |
0-2048 (dec), 0-2048 (dec), many |
Expected Value(s) |
2040 (dec), 2047 (dec), binary file from Section A |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.10.
Invokethe actionplatform.ADCS.holdResetValuewith the action argument set as 00 (Hex).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
1 byte |
Data Info |
The value sent to the ADCS for the reset |
Allowed Value(s) |
00, 01, 02, 04 (hex) |
Expected Value(s) |
00 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
Warning
As seen in the table below, MCS does not list 00 as a “valid” argument for platform.ADCS.holdResetValue however it is a valid argument for this procedure and can be used as an action argument.
The allowed arguments and their corresponding actions are as follows:
Argument |
Action |
|---|---|
01 |
Reset the ADCS Motherboard |
02 |
Reset the CPU (only) |
04 |
Reset the CPU and RAM |
B.11.
Invokethe actionplatform.ADCS.disarmReset.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.12.
Invokethe actionplatform.ADCS.resetADCS.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.13.
Getthe parameterplatform.ADCS.executioncountmultiple times (i.e. every ~ 5 seconds) and confirm that the value is increasing.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
Yes ( + ACK ) |
Data Size |
2 bytes |
Data Info |
Count of the number of software step executions |
Allowed Value(s) |
0-65535 (dec) |
Expected Value(s) |
Increasing |
B.14.
Getthe parameterplatform.ADCS.rawAccesswithFirst Row= 1005 (dec) andLast Row= 1006 (dec)Note the values returned as the current ADCS configuration file part number and revision.
These values should have changed from those previously recorded in Step B.3.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes |
Data Info |
|
Allowed Value(s) |
0-1024 (dec), 0-1024 (dec) |
Expected Value(s) |
1005 (dec), 1006 (dec) |
TM Details |
|
Data Expected from TC |
Yes ( + ACK ) |
Data Size |
2 bytes, 2 bytes |
Data Info |
Current ADCS Configuration File Part Number, Current ADCS Revision |
Allowed Value(s) |
0-65535 (dec), 0-65535 (dec) |
Expected Value(s) |
Revision number should match expected value from Section A |
Tip
The ADCS configuration part number will not change based on the new configuration file but the revision should (i.e. the first 5 digit number should be 10784 (dec), the same value returned in step B.5.)
END OF PROCEDURE