EIR-OPS-008: ADCS Mode Change


Objective

To set-up logging of ADCS data, change the ADCS Mode and apply an ADCS Mode timeout.


Introduction

Using this procedure, the Operator can change the operational mode of the ADCS. The procedure also contains details on how to set up an ADCS Mode timeout (which will revert the ADCS Mode to Stand-by after an operator-defined period of time has elapsed) and details how to enable/disable logging of ADCS data.


Procedure

This procedure contains the following three sections/sub-procedures which all must take place during a communication pass:


A. Enable/Disable the ADCS Logger

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 used during the pass in MCS before the pass begins!

ADCS HK Data

A.1.

  • To enable/disable the logging of ADCS HK data first, Get the cdh.logging.ADCSHKLogger_Flash.enabled parameter.

Note

A version of this logger, at the SCDB path cdh.logging.ADCSHKLogger_MRAM, also exists for logging identical data to MRAM. The same steps in this section can be followed to enable/disable this logger.

TC Details

MCS Operation

Get

Action/Param Name

cdh.logging.ADCSHKLogger_Flash.enabled

Data Expected with TC

No

TM Details

Data Expected from TC

ADCSHKLogger_Flash.enabled ( + ACK )

Data Size

Boolean

Data Info

Enabled state of ADCS HK Logger

Allowed Value(s)

00 or 01 (Hex)

Where…

enabled

ADCS HK Logger

00

Disabled

01

Enabled


A.2.

  • If the parameter is not as desired, Set the cdh.logging.ADCSHKLogger_Flash.enabled parameter to 00 (i.e. disabled) or 01 (i.e.enabled), as required.

TC Details

MCS Operation

Set

Action/Param Name

cdh.logging.ADCSHKLogger_Flash.enabled

Data Expected with TC

Yes

Data Size

Boolean

Data Info

Enable (01) or disable (00) logging

Allowed Value(s)

00 or 01 (Hex)

TM Details

Data Expected from TC

No ( + ACK )

Important

The Logger component only enables/disables at the end of the periodic task associated with their ‘poll-and-log’ cycle. This is to prevent data getting lost due to a Logger getting disabled mid-cycle. Therefore, you may have to wait ~minute to see the impact of this TC.


A.3.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).


ADCS Debug Data

A.4.

  • Get the cdh.logging.ADCSDebugLogger.enabled parameter

  • Confirm it is 0 (i.e. disabled).

TC Details

MCS Operation

Get

Action/Param Name

cdh.logging.ADCSDebugLogger.enabled

Data Expected with TC

No

TM Details

Data Expected from TC

enabled ( + ACK )

Data Size

Boolean

Data Info

Enabled state of ADCS Debug Logger

Allowed Value(s)

0 - 1

Expected Value(s)

0 (i.e. disabled)


A.5.

  • Prior to enabling the Logger, we must first enable the ADCS High Resolution Sampler, which ensures the Logger has access to the most up-to-date ADCS data.

  • To do this, Set the cdh.telemetry.ADCSHighResSampler.enabled parameter to 1 (i.e. enabled).

TC Details

MCS Operation

Set

Action/Param Name

cdh.telemetry.ADCSHighResSampler.enabled

Data Expected with TC

enabled

Data Size

Boolean

Data Info

Enable (1) or disable (0) parameter sampling

Allowed Value(s)

0 - 1

Expected Value(s)

1 (i. e. enable)

TM Details

Data Expected from TC

No ( + ACK )


A.6.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).


A.7.

  • To now enable the Logger, Set the cdh.logging.ADCSDebugLogger.enabled parameter to 1 (i.e. enable).

TC Details

MCS Operation

Set

Action/Param Name

cdh.logging.ADCSDebugLogger.enabled

Data Expected with TC

enabled

Data Size

Boolean

Data Info

Enable (1) or disable (0) logging

Allowed Value(s)

0 - 1

Expected Value(s)

1 (i.e. enable)

TM Details

Data Expected from TC

No ( + ACK )


A.8.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).



B. Set-Up an ADCS Mode Timeout

Note

The TimeAction component is used to automatically trigger an on-board action (i.e. to Invoke an action or Set a parameter) after a user-defined period of time. In this procedure, the TimeAction component will be used to set the ADCS mode to stand-by after the user-defined time period has elapsed. This is a safety procedure to limit the amount of time the ADCS can activate the magnetorquers and to save on power consumption.

B.1.

Warning

If failsafe is the current boot image when following this procedure, the action argument should instead = 0 in this step.

  • To first ensure the TimeAction is ready for use, Invoke the cdh.scheduling.TimeAction.restartRelativeEntries action with the action argument = 1.

TC Details

MCS Operation

Invoke

Action/Param Name

cdh.scheduling.TimeAction.restartRelativeEntries

Data Expected with TC

rows

Data Size

1 byte

Data Info

The index of the relative entry to restart

Allowed Value(s)

0 - 255 (dec)

Expected Value(s)

1

TM Details

Data Expected from TC

No ( + ACK )

Note

The second entry of the cdh.scheduling.TimeAction component contains the ADCS Mode Timeout by default. This is the reason for setting the action argument, and later First row and Last row , = 1. However, this is only the case while a primary image is booted! 0 should instead be used if failsafe is booted.


B.2.

Warning

If failsafe is the current boot image when following this procedure, First row = Last row = 0 should instead be used in this step.

  • Get the cdh.scheduling.TimeAction.entryListPacked parameter with First row = Last row = 1.

  • Take note of the last 4 bytes (i.e. the last 8 hex characters) of this parameter, which follow ‘04’ when viewed in hex format, for use in the next step.

TC Details

MCS Operation

Get

Action/Param Name

cdh.scheduling.TimeAction.entryListPacked

Data Expected with TC

First Row, Last Row

Data Size

2 bytes, 2 bytes

Data Info

The first and last rows/indexes of the parameter to get

Allowed Value(s)

0 - 511, 0 - 511 (dec)

Expected Value(s)

1, 1

TM Details

Data Expected from TC

cdh.scheduling.TimeAction.entryListPacked ( + ACK )

Data Size

19 bytes

Data Info

The schedule entry list as packed records


B.3.

Warning

If failsafe is the current boot image when following this procedure, First row = Last row = 0 should instead be used in this step.

  • If the 4 bytes noted in the previous step do not match the desired mode/state to be implement by the TimeAction (i.e. when the TimeAction times-out/triggers), edit these bytes in the data field of the cdh.scheduling.TimeAction.entryListPacked parameter window and Set the parameter with First row = Last row = 1.

  • Else, skip ahead to Step B.5.

TC Details

MCS Operation

Set

Action/Param Name

cdh.scheduling.TimeAction.entryListPacked

Data Expected with TC

First Row, Last Row, entryListPacked

Data Size

2 bytes, 2 bytes, 19 bytes

Data Info

The first and last rows/indexes of the parameter to set + the desired entryListPacked to set

Allowed Value(s)

0 - 511, 0 - 511 (dec), many variation allowed (hex)

Expected Value(s)

1, 1, last 4 bytes = desired adcsModeState following TimeAction trigger (hex)

TM Details

Data Expected from TC

No ( + ACK )


B.4.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).


B.5.

Warning

If failsafe is the current boot image when following this procedure, First row = Last row = 0 should instead be used in this step.

Warning

The specific timeout duration should account for the power levels on the spacecraft, and should not exceed 900 seconds (15 minutes). If in doubt, the ADCS or Power Engineers should be contacted.

  • Set the cdh.scheduling.TimeAction.entryTime parameter, with First row = Last row = 1, to the desired TimeAction time-out (in seconds).

TC Details

MCS Operation

Set

Action/Param Name

cdh.scheduling.TimeAction.entryTime

Data Expected with TC

First Row, Last Row, entryTime

Data Size

2 bytes, 2 bytes, 4 bytes

Data Info

The first and last rows/indexes of the parameter to set + the desired entryTime to set. entryTime must not exceed 900s.

Allowed Value(s)

0 - 511, 0 - 511 (dec), 00000000 - FFFFFFFF (hex)

Expected Value(s)

1, 1, the desired TimeAction time-out (in seconds) (< 900)

TM Details

Data Expected from TC

No ( + ACK )


B.6.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).


B.7.

Warning

If failsafe is the current boot image when following this procedure, First row = Last row = 0 should instead be used in this step.

  • Prior to enabling this TimeAction, Get the cdh.scheduling.TimeAction.entryEnabled parameter, with First row = Last row = 1.

  • Ensure that it is 0 (disabled).

TC Details

MCS Operation

Get

Action/Param Name

cdh.scheduling.TimeAction.entryEnabled

Data Expected with TC

First Row, Last Row

Data Size

2 bytes, 2 bytes

Data Info

The first and last rows/indexes of the parameter to get

Allowed Value(s)

0 - 511, 0 - 511 (dec)

Expected Value(s)

1, 1

TM Details

Data Expected from TC

cdh.scheduling.TimeAction.entryEnabled ( + ACK )

Data Size

boolean

Data Info

Whether the TimeAction entry is enabled (1) or disabled (0)

Allowed Value(s)

0 - 1

Expected Value(s)

0


B.8.

Warning

If failsafe is the current boot image when following this procedure, First row = Last row = 0 should instead be used in this step.

  • Set the cdh.scheduling.TimeAction.entryEnabled parameter, with First row = Last row = 1, to 1 (i.e. enabled).

TC Details

MCS Operation

Set

Action/Param Name

cdh.scheduling.TimeAction.entryEnabled

Data Expected with TC

First Row, Last Row, entryEnabled

Data Size

2 bytes, 2 bytes, boolean

Data Info

The first and last rows/indexes of the parameter to set + the desired entryEnabled to set

Allowed Value(s)

0 - 511, 0 - 511, 0 - 1 (dec)

Expected Value(s)

1, 1, 1

TM Details

Data Expected from TC

No ( + ACK )


B.9.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).



C. Change the ADCS Mode

C.1.

  • Get the parameter platform.ADCS.adcsModeState to determine the current ADCS mode and state.

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 (2 MSB) and state (2 LSB) of the ADCS

Allowed Value(s)

See tables below

Where…

adcsMode (hex)

ADCS Mode

0000

Standby (Default)

0001

Detumble

0002

Spin Stabilised

5550

Test

adcsState (hex)

ADCS State

0000

Nadir (Default)

AAA8

Test


C.2.

  • Set the parameter platform.ADCS.adcsModeState to the desired mode/state (see mode/state options in the tables above).

TC Details

MCS Operation

Set

Action/Param Name

platform.ADCS.adcsModeState

Data Expected with TC

adcsModeState

Data Size

4 bytes

Data Info

ADCS Mode and State to set

Allowed Value(s)

See tables in Step C.1.

TM Details

Data Expected from TC

No ( + ACK )


C.3.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).



D. Power ON the FSS

D.1.

  • To power ON the FSS PDM, Set the parameter platform.EPS.expectedSwitchStates with First row = Last row = 7 to 1.

TC Details

MCS Operation

Set

Action/Param Name

platform.EPS.expectedSwitchStates

Data Expected with TC

Yes

Data Size

4 bytes, 4 bytes, boolean

Data Info

First row , Last row , expectedSwitchStates

Allowed Value(s)

0-9, 0-9, 0-1

Expected Value(s)

7, 7, 1

TM Details

Data Expected from TC

No ( + ACK )


D.2.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).



E. Enable the ADCS Manager

E.1.

  • To enable the ADCS Manager, Set the mission.ADCSManager.enabled parameter to 1.

TC Details

MCS Operation

Set

Action/Param Name

mission.ADCSManager.enabled

Data Expected with TC

Yes

Data Size

Boolean

Data Info

State of the ADCS Manager

Allowed Value(s)

0 (disable), 1 (enable)

Expected Value(s)

1

TM Details

Data Expected from TC

No ( + ACK )


E.2.

  • Confirm the Set in the previous step with a Get (i.e. confirm the value was set successfully).


END OF PROCEDURE