EIR-OPS-023: Upload OBC Image


Objective

To upload a new software image to the OBC.


Introduction

Using this procedure, the Operator will upload a new image to the OBC, overwriting whichever primary image (primary1 or primary2) is not currently in use.

Prior to beginning this procedure the Operator must consult with the Software Engineer to:

  • Ensure that the Operator is planning to prepare/upload the correct image file,

  • Confirm which primary image slot the data should be written to, and

  • Ensure that the Operator has access to the folder containing the primary image and README on the image properties (see Section A).


Procedure

This procedure has two subsections:

Note

Communication with the spacecraft will be required for Section B of this procedure.

Important

This procedure will require multiple communication passes to uplink the full OBC image.


A. Pre-Pass Preparation

A.1.

  • Prior to the first pass in which Section B is followed, the Operators must ensure they have access to:

    • The image to be uplinked (needed for Steps A.2 and B.4), whose name identifies whether it is a primary1 or 2 image,

    • An MD5 checksum for this image (Step A.2),

    • The length of the image in rows (Steps B.4 and B.6), and

    • The CRC of the image (Step B.8).

Warning

The image to be uplinked must be located on the same computer as MCS (or at least a file system that MCS can access).


A.2.

  • Calculate an MD5 checksum for the image to be uplinked using:

    • certutil -hashfile <file> MD5 in a terminal on a windows computer, or

    • md5 <file> in a terminal on a Mac.

  • Ensure this checksum matches the checksum from the previous step.



B. Uplinking the Software Image

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.obc.OBC.currBootImage parameter to determine which software image is currently booted.

TC Details

MCS Operation

Get

Action/Param Name

platform.obc.OBC.currBootImage

Data Expected with TC

No

TM Details

Data Expected from TC

currBootImage ( + ACK )

Data Size

1 byte

Data Info

Index of the currently executing OBC software image

Allowed Value(s)

0-2

Where …

Image

currBootImage

failsafe

0

primary1

1

primary2

2


B.2.

  • Ensure that the current boot image is NOT the image you intend to overwrite in the next steps.

  • If it is, the Operator will need to:

    • Uplink a new image to the alternative primary image slot on the OBC (ensuring the image has been built for this slot!), or

    • Follow the EIR-OPS-024: Boot Into OBC Image procedure to change the current boot image.

Danger

DO NOT PROCEED to the next step if the current boot image is the image you intend to overwrite in the next steps.


B.3.

  • Invoke the clearImage action with the action argument = the index of the software image to be uplinked (i.e 1 for image1 and 2 for image2 ).

TC Details

MCS Operation

Invoke

Action/Param Name

platform.obc.OBC.clearImage

Data Expected with TC

Yes

Data Size

1 byte

Data Info

1-2

TM Details

Data Expected from TC

No ( + ACK )


B.4.

  • To upload a new software image to the OBC, Uplink to the parameter platform.obc.OBC.image1 or image2 with:

    • First row = 0,

    • Last row = the size in rows of the uplinked image (given in Section A) - 1, and

    • Resize ticked.

Important

As you are about to perform a large uplink of data to the spacecraft, ensure that MCS ‘s Transfer Window is visible to the Operator before proceeding with this step.

TC Details

MCS Operation

Uplink

Action/Param Name

platform.obc.OBC.image1 or image2

Data Expected with TC

Yes

Data Size

Many bytes

Data Info

First row = 0, Last row = No. of rows in the file (from Section A) - 1, Check the Resize box, image binary file

TM Details

Data Expected from TC

No ( + ACK )


B.5.

  • Wait for the transfer window on MCS to indicate that the uplink has completed in full.

Important

Uplinking the image to the spacecraft may require multiple communication passes. At the end of each pass, MCS will automatically ‘Suspend’ the transfer. At the start of each pass, the Operator should ‘Resume’ the transfer after completing the EIR-OPS-003: Start a Communication Pass procedure.


B.6.

  • Once the uplink is complete, Query the platform.obc.OBC.image1 or image2 parameter.

  • Confirm that the TM returned matches the size in rows of the uplinked image, which was given in Section A.

TC Details

MCS Operation

Query

Action/Param Name

platform.obc.OBC.image1 or image2

Data Expected with TC

No

TM Details

Data Expected from TC

Number of rows in image1 or image2 ( + ACK )

Data Size

4 bytes

Data Info

Length of image1 parameter (in rows)

Allowed Value(s)

00000000 - FFFFFFFF (hex)

Expected Value(s)

Same size of the uplinked image (from Section A)


B.7.

  • Invoke the platform.obc.OBC.updateImageCrc action with the action argument = the index of the software image that has been uplinked (i.e 1 for image1 and 2 for image2 ).

TC Details

MCS Operation

Invoke

Action/Param Name

platform.obc.OBC.updateImageCrc

Data Expected with TC

Yes

Data Size

1 byte

Data Info

1-2

TM Details

Data Expected from TC

No ( + ACK )


B.8.

  • Get the platform.obc.OBC.ImageCrc parameter with First row = Last row = the index of the software image that has been uplinked (i.e 1 for image1 and 2 for image2 ).

  • Confirm that the TM returned matches the CRC of the uplinked image, which was given in Section A.

TC Details

MCS Operation

Get

Action/Param Name

platform.obc.OBC.ImageCrc

Data Expected with TC

Yes

Data Size

4 bytes, 4 bytes

Data Info

First Row , Last Row

Allowed Value(s)

0-2, 0-2

TM Details

Data Expected from TC

ImageCrc ( + ACK )

Data Size

List[0:1] of Integer:32

Data Info

Stored CRC of First Programmable Primary Image

Allowed Value(s)

00000000 - FFFFFFFF (hex)

Expected Value(s)

Image CRC (from Section A)


B.9.


END OF PROCEDURE