EIR-OPS-016: Upload Payload Image
Objective
To upload a new firmware to the OBC for later reprogramming of the GMOD/EMOD MSP.
Introduction
Using this procedure, the Operator will upload a new firmware to a storage channel on the OBC.
Procedure
This procedure contains the following sub-procedures:
Important
Section A does not require a communication pass and should be carried out prior to the pass. Section B requires a communication pass and may require multiple passes to complete.
A. Pre-Pass Preparations
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.6),
An MD5 checksum for this image (Step A.2), and
The length of the image in rows (Steps B.6 and 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> MD5in a terminal on a windows computer, ormd5 <file>in a terminal on a Mac.
Ensure this checksum matches the checksum from the previous step.
A.3.
If not already known, the Operators should consult with the Software Engineer to determine the ID of the OBC flash channel to which the image should be uplinked (needed throughout Section B). The storage channels on the OBC that are intended for firmware image uploads are provided in the table below.
ChID (Dec) |
Assigned FW Type |
|---|---|
83 |
GMOD Exp |
84 |
GMOD Exp |
85 |
GMOD CPLD |
86 |
EMOD |
87 |
EMOD |
B. Upload a New Firmware to OBC
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.
Querythe parametercore.storage.channelContentwithParameter index in block= the Channel ID established in Section A.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes |
Data Info |
The ChID of storage channel |
Allowed Value(s) |
0001 - FFFF (Hex) |
Expected Value(s) |
ChID identified in Section A |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes |
Data Info |
The number of rows of data in ChID |
Allowed Value(s) |
0000 - FFFF (Hex) |
B.2.
If 0 is returned from the previous step, the Operator can now proceed to Step B.4.
Else, data is already occupying this storage channel. Therefore:
The Operator should now consult with the Software Engineer to confirm it is ok to wipe this data from the channel.
If the Software Engineer gives permission, the Operator should
Invokethe actioncore.storage.Wipewith action argument = the channel ID established in Section A.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes |
Data Info |
The ID of the storage channel you wish to wipe |
Allowed Value(s) |
0001 - FFFF (Hex) |
Expected Value(s) |
ChID identified in Section A |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.3.
Querythe parametercore.storage.channelContentwithParameter index in block= the channel ID established in Section A.Confirm 0 (rows) is returned to confirm the wipe was successful.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes |
Data Info |
The ChID of storage channel |
Allowed Value(s) |
0001 - FFFF (Hex) |
Expected Value(s) |
ChID identified in Section A |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes |
Data Info |
The number of rows of data in ChID |
Allowed Value(s) |
0000 - FFFF (Hex) |
Expected Value |
0000 |
B.4.
Setthe parametercore.storage.rowLengthto 41 (dec) withFirst Row=Last Row= the channel ID established in Section A.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
4 bytes, 4 bytes, 4 bytes |
Data Info |
The range of ChIDs and row length to set |
Allowed Value(s) |
0 - 87 (dec), 0 - 87 (dec), 00000000 - FFFFFFFF (hex) |
Expected Value(s) |
|
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.5.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
B.6.
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.
The Operator can now
Uplinkthe image to the OBC flash channel using the parametercore.storage.channelContent, with:Parameter index in block= the channel ID identified in Section A,First row= 0 andLast row= the length of the image in rows (from Section A) - 1, andResizeticked.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
4 bytes , 4 bytes , 4 bytes , many bytes, 1 byte |
Data Info |
The ChID to uplink to, the row range to be written to, the image to uplink, whether the file should be resized into rows |
Allowed Value(s) |
1-87 (dec), 00000000-FFFFFFFF (hex), 00000000-FFFFFFFF (hex), N/A, 0-1 |
Expected Value(s) |
ChID identified in Section A, 0, length of the image in rows - 1, binary file from Section A, 1 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.7.
Wait for the Transfer Window on MCS to indicate that the uplink has completed successfully.
Note
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.8.
Querythe parametercore.storage.channelContentwithParameter index in block= the channel ID established in Section A.Ensure the data returned = the length of the image in rows (from Section A).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes |
Data Info |
The ChID of storage channel |
Allowed Value(s) |
0001 - FFFF (Hex) |
Expected Value(s) |
ChID identified in Section A |
TM Details |
|
Data Expected from TC |
|
Data Size |
2 bytes |
Data Info |
The number of rows of data in ChID |
Allowed Value(s) |
0000 - FFFF (Hex) |
Expected Value |
The length of the image in rows from Section A |
B.9.
The Operator should now proceed to the EIR-OPS-017: Rewrite Payload Firmware procedure to programme this firmware onto the GMOD/EMOD MSP.
END OF PROCEDURE