EIR-OPS-022: EMOD Configuration


Objective

To facilitate the Operator in configuring the EMOD experiment.


Introduction

This procedure will guide the Operator through the different parameters and actions that can be used to configure the EMOD experiment.


Procedure

This procedure contains a number of sub-procedures as follows:

Important

These sub-procedures have been grouped together in this procedure as they are all related to configuring parameters related to the EMOD experiment. However, each of the sub-procedures are standalone procedures that can be carried out individually to achieve the objectives/assess the settings stated in the sub-procedure titles (Sections B - C, however, do require that EMOD is powered ON as per Section A).

Note

A communication window is required for each of these sub-procedures.


A. Basic Settings

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!

A.1.

  • Get the parameter platform.EPS.actualSwitchStates with First row = Last row = 9.

  • If 1 is returned (i.e. EMOD is already ON), skip ahead to Step A.4.

  • Else, proceed to the next step.

TC Details

MCS Operation

Get

Action/Param Name

platform.EPS.actualSwitchStates

Data Expected with TC

Yes

Data Size

2 bytes, 2 bytes

Data Info

First row, Last row

Allowed Value(s)

0-9, 0-9 (dec)

Expected Value(s)

9, 9 (dec)

TM Details

Data Expected from TC

actualSwitchStates ( + ACK )

Data Size

Boolean

Data Info

SwitchState = 0 (Off), SwitchState=1 (On)

Allowed Value(s)

0-1


A.2.

  • Invoke the action platform.EPS.turnOnEMOD.

TC Details

MCS Operation

Invoke

Action/Param Name

platform.EPS.turnOnEMOD

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


A.3.

  • Get the parameter platform.EPS.actualSwitchStates with First row = Last row = 9.

  • Ensure 1 is returned (i.e. EMOD is ON).

TC Details

MCS Operation

Get

Action/Param Name

platform.EPS.actualSwitchStates

Data Expected with TC

Yes

Data Size

2 bytes, 2 bytes

Data Info

First row, Last row

Allowed Value(s)

0-9, 0-9 (dec)

Expected Value(s)

9, 9 (dec)

TM Details

Data Expected from TC

actualSwitchStates ( + ACK )

Data Size

Booleans

Data Info

SwitchState = 0 (Off), SwitchState=1 (On)

Allowed Value(s)

0-1

Expected Value(s)

1


A.4.

  • To further ensure EMOD is now ON, Get the parameter payload.EMOD.FirmwareVersion.

  • Ensure the TM is as expected given the last firmware programmed onto the MSP.

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.FirmwareVersion

Data Expected with TC

No

TM Details

Data Expected from TC

FirmwareVersion ( + ACK )

Data Size

3 bytes

Data Info

Firmware version of EMOD

Allowed Value(s)

0000 - FFFF (hex)


A.5.

  • Get the parameter payload.EMOD.ResetCounter to determine the number of times EMOD has reset since EMOD was last reprogrammed.

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.ResetCounter

Data Expected with TC

No

TM Details

Data Expected from TC

ResetCounter ( + ACK )

Data Size

1 byte

Data Info

Number of EMOD resets

Allowed Value(s)

0-127


A.6.

  • Get the parameter payload.EMOD.LastResetType to determine the type of EMOD reset(s) that have occurred (if any).

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.LastResetType

Data Expected with TC

No

TM Details

Data Expected from TC

LastResetType ( + ACK )

Data Size

1 byte

Data Info

Last EMOD reset type

Allowed Value(s)

Event values between 00 - 2E (inclusive)

Where…

LastResetType

Reset Type

02

Brownout

06

SW reboot

14

SW reboot

16

Watchdog reset



B. Mode Change

B.1.

  • To check what mode EMOD is currently operating in, Get the parameter payload.EMOD.EMODMode.

  • If the desired mode is returned, proceed to Section C .

  • Else, proceed to the next step.

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.EMODMode

Data Expected with TC

No

TM Details

Data Expected from TC

EMODMode ( + ACK )

Data Size

Int4

Data Info

Mode of EMOD

Allowed Value(s)

0 or 1 (see table below)

Where…

EMODMode

Mode

0

Idle

1

Experiment Running


B.2.

  • If the EMOD Mode needs to be changed, Set the EMODMode parameter to the correct value now.

TC Details

MCS Operation

Set

Action/Param Name

payload.EMOD.EMODMode

Data Expected with TC

Yes

Data Size

Int4

Data Info

Mode of EMOD

Allowed Value(s)

0 or 1 (see table above)

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.

  • If EMODMode was set to 0 (i.e. Idle Mode) in the previous step, then proceed directly to Step A.9.

  • However, if EMODMode was set to 1 (i.e. Experiment Mode), OBC-EMOD time syncing should now be enabled. To do this:

    • Set the payload.EMOD.SyncTimePeriodMultiplier parameter to ~30 (dec).

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

Set

Action/Param Name

payload.EMOD.SyncTimePeriodMultiplier

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 )


B.5.

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



C. RTD Sampling Settings

C.1.

  • To confirm which RTDs are currently being sampled as part of the EMOD experiment, Get the parameter payload.EMOD.RTDEnabledMask.

  • If the desired output is returned, proceed to Section D .

  • Else, proceed to the next step.

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.RTDEnabledMask

Data Expected with TC

No

TM Details

Data Expected from TC

RTDEnabledMask ( + ACK )

Data Size

1 byte

Data Info

bitmap of which RTDs are (1) and are not (0) being sampled

Allowed Value(s)

0000/none sampled - 1111/all sampled (bitfield)


C.2.

  • Set the parameter payload.EMOD.RTDEnabledMask to change which RTDs are currently being sampled as part of the EMOD experiment.

TC Details

MCS Operation

Set

Action/Param Name

payload.EMOD.RTDEnabledMask

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)

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. Sampling Rate Settings

D.1.

  • To determine what delta time is currently being used between RTD measurements, Get the parameter payload.EMOD.deltaT.

  • If the desired output is returned, proceed to Section E .

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.deltaT

Data Expected with TC

No

TM Details

Data Expected from TC

deltaT ( + ACK )

Data Size

2 bytes

Data Info

Time (in seconds) between RTD measurements

Allowed Value(s)

0001 - FFFF (hex)

Expected Value(s)

>0


D.2.

  • To change the delta time between RTD measurements Set the parameter payload.EMOD.deltaT.

TC Details

MCS Operation

Set

Action/Param Name

payload.EMOD.deltaT

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)

>0

TM Details

Data Expected from TC

No ( + ACK )


D.3.

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



E. Auto Poll Page Settings

E.1.

  • Prior to enabling OBC polling of pages from EMOD, Get the payload.EMOD.NextPageAddrToPoll parameter.

  • Ensure that the next memory address to poll is as desired.

  • If auto polling of pages is already enabled, this parameter should be increasing and represents the last memory address from which a page was accessed.

  • If output is as desired, proceed to Section F.

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.

Warning

If the Separation Sequence has been restarted, or if the spaceccraft’s persisted configuration data has been wiped, the most recent row of EMOD data in the OBC storage channel should be downlinked to determine what page memory address to begin streaming from. Follow EIR-OPS-011: Downlink Data From Storage to do this.

TC Details

MCS Operation

Get

Action/Param Name

payload.EMOD.NextPageAddrToPoll

Data Expected with TC

No

TM Details

Data Expected from TC

NextPageAddrToPoll ( + ACK )

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)


E.2.

  • To enable/disable OBC polling of EMOD pages, Set the payload.EMOD.AutoPollPages parameter to 0x01 (enabled) or 0x00 (disabled).

TC Details

MCS Operation

Set

Action/Param Name

payload.EMOD.AutoPollPages

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

TM Details

Data Expected from TC

No ( + ACK )


E.3.

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



F. Turn Off EMOD

Note

This section should only be followed if the operators desired to turn OFF EMOD.

F.1.

  • Set the payload.EMOD.AutoPollPages parameter to 0 to ensure auto polling of pages is disabled prior to power OFF.

TC Details

MCS Operation

Set

Action/Param Name

payload.EMOD.AutoPollPages

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 )


F.2.

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


F.3.

  • Set the payload.EMOD.SyncTimePeriodMultiplier parameter to 0 to ensure OBC-EMOD time syncing is disabled prior to power OFF.

TC Details

MCS Operation

Set

Action/Param Name

payload.EMOD.SyncTimePeriodMultiplier

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)

0

TM Details

Data Expected from TC

No ( + ACK )


F.4.

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


F.5.

  • To turn OFF EMOD, Invoke the action platform.EPS.TurnOffEMOD.

TC Details

MCS Operation

Invoke

Action/Param Name

platform.EPS.TurnOffEMOD

Data Expected with TC

No

TM Details

Data Expected from TC

No ( + ACK )


F.6.

  • Get the parameter platform.EPS.actualSwitchStates with First row = Last row = 9.

  • Ensure o is returned (i.e. EMOD is OFF).

TC Details

MCS Operation

Get

Action/Param Name

platform.EPS.actualSwitchStates

Data Expected with TC

Yes

Data Size

4 bytes, 4 bytes

Data Info

First row, Last row

Allowed Value(s)

0-9, 0-9

Expected Value(s)

9, 9

TM Details

Data Expected from TC

actualSwitchStates ( + ACK )

Data Size

SwitchState = 0

Data Info

SwitchState = 0 (Off), SwitchState=1 (On)

Allowed Value(s)

0-1

Expected Value(s)

0


END OF PROCEDURE