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> MD5 in the Windows terminal (or simply md5 <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.

  • Get the platform.ADCS.adcsModeState parameter 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

Get

Action/Param Name

platform.ADCS.adcsModeState

Data Expected with TC

No

TM Details

Data Expected from TC

adcsModeState ( + ACK )

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:

adcsMode (hex)

ADCS Mode

0000

Standby (Default)

0001

Detumble

0002

Spin Stabilized

5550

Test

adcsState (hex)

ADCS Mode

0000

Nadir (Default)

0001

Test


B.2.

  • If platform.ADCS.adcsModeState is NOT in stand-by mode/nadir state (i.e. 0x0000), Set the platform.ADCS.adcsModeState parameter to 0x0000 now.

  • Else, skip to Step B.4.

TC Details

MCS Operation

Set

Action/Param Name

platform.ADCS.adcsModeState

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 Set in the previous step with a Get (i.e. confirm the value was set successfully).


B.4.

  • Get the parameter platform.ADCS.executioncount multiple times (i.e. every ~5 seconds) and confirm that the value is increasing.

TC Details

MCS Operation

Get

Action/Param Name

platform.ADCS.executioncount

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.

  • Get the parameter platform.ADCS.rawAccess with First row = 1005 (dec) and Last 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

Get

Action/Param Name

platform.ADCS.rawAccess

Data Expected with TC

Yes

Data Size

2 bytes

Data Info

First row, Last row

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, Invoke the action platform.ADCS.armReset .

TC Details

MCS Operation

Invoke

Action/Param Name

platform.ADCS.armReset

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


B.7.

  • Invoke the action platform.ADCS.holdResetValue with the action argument set as 02 (Hex).

TC Details

MCS Operation

Invoke

Action/Param Name

platform.ADCS.holdResetValue

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.

  • Get the parameter platform.ADCS.executioncount multiple times (i.e. every ~5 seconds) and confirm that the value is now NOT increasing.

TC Details

MCS Operation

Get

Action/Param Name

platform.ADCS.executionCount

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.

  • Uplink the ADCS configuration binary file from Section A to the parameter platform.ADCS.nvmPageData with First row = 2040 (dec) and Last row = 2047 (dec).

  • Wait until the transfer window on MCS indicates that the uplink completes in full prior to proceeding.

TC Details

MCS Operation

Uplink

Action/Param Name

platform.ADCS.nvmPageData

Data Expected with TC

Yes

Data Size

2 bytes, 2 bytes, many

Data Info

First row, Last row , binary to uplink

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.

  • Invoke the action platform.ADCS.holdResetValue with the action argument set as 00 (Hex).

TC Details

MCS Operation

Invoke

Action/Param Name

platform.ADCS.holdResetValue

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.

  • Invoke the action platform.ADCS.disarmReset.

TC Details

MCS Operation

Invoke

Action/Param Name

platform.ADCS.disarmReset

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


B.12.

  • Invoke the action platform.ADCS.resetADCS.

TC Details

MCS Operation

Invoke

Action/Param Name

platform.ADCS.resetADCS

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


B.13.

  • Get the parameter platform.ADCS.executioncount multiple times (i.e. every ~ 5 seconds) and confirm that the value is increasing.

TC Details

MCS Operation

Get

Action/Param Name

platform.ADCS.executioncount

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.

  • Get the parameter platform.ADCS.rawAccess with First Row = 1005 (dec) and Last 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

Get

Action/Param Name

platform.ADCS.rawAccess

Data Expected with TC

Yes

Data Size

2 bytes

Data Info

First row,``Last row``

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