EIR-OPS-006.9: ADCS/GPS Operations
Objective
To complete the ADCS and GPS Operations Test for the commissioning phase of the satellite.
Introduction
This procedure will confirm that the ADCS can determine and control the attitude of EIRSAT-1 post-launch.
Procedure
This procedure has 5 sub-procedures as follows:
Tip
In addition to plotting the most recent data downlinked in the following sections, check how the parameters of interest changed with time using Grafana.
A. Detumble Mode Test for Fixed Time Duration
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!
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 disable TC authentication after the user-defined time period has elapsed. This is a safety feature to ensure that communication with the spacecraft can be secured with TC authentication enabled before permanently enabling authentication.
A.1.
To first ensure the TimeAction is ready for use,
Invokethecdh.scheduling.TimeAction.restartRelativeEntriesaction with the action argument = 1.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
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.
A.2.
Getthecdh.scheduling.TimeAction.entryListPackedparameter withFirst 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 |
|
Action/Param Name |
|
Data Expected with TC |
|
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 |
|
Data Size |
19 bytes |
Data Info |
The schedule entry list as packed records |
A.3.
If the 4 bytes noted in the previous step are not 00000000 (hex), edit these bytes in the data field of the
cdh.scheduling.TimeAction.entryListPackedparameter window andSetthe parameter withFirst row=Last row= 1.Else, skip ahead to Step A.5.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes, 2 bytes, 19 bytes |
Data Info |
The first and last rows/indexes of the parameter to set + the desired |
Allowed Value(s) |
0 - 511, 0 - 511 (dec), many variation allowed (hex) |
Expected Value(s) |
1, 1, 00000000 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.4.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.5.
Setthecdh.scheduling.TimeAction.entryTimeparameter, withFirst row=Last row= 1, to the desired TimeAction time-out (in seconds). This is the time the OBC will wait before automatically configuring the ADCS to operate in Stand-by Mode/Nadir State.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes, 2 bytes, 4 bytes |
Data Info |
The first and last rows/indexes of the parameter to set + the desired |
Allowed Value(s) |
0 - 511, 0 - 511 (dec), 00000000 - FFFFFFFF (hex) |
Expected Value(s) |
1, 1, the desired TimeAction time-out (in seconds) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.6.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.7.
Prior to enabling this TimeAction,
Getthecdh.scheduling.TimeAction.entryEnabledparameter, withFirst row=Last row= 1.Ensure that it is 0 (disabled).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
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 |
|
Data Size |
boolean |
Data Info |
Whether the TimeAction entry is enabled (1) or disabled (0) |
Allowed Value(s) |
0 - 1 |
Expected Value(s) |
0 |
A.8.
Setthecdh.scheduling.TimeAction.entryEnabledparameter, withFirst row=Last row= 1, to 1 (i.e. enabled).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes, 2 bytes, boolean |
Data Info |
The first and last rows/indexes of the parameter to set + the desired |
Allowed Value(s) |
0 - 511, 0 - 511, 0 - 1 (dec) |
Expected Value(s) |
1, 1, 1 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.9.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.10.
Getthe parameterplatform.ADCS.adcsModeStateto determine the current ADCS mode and state.Ensure 0x0000 (i.e. Stand-by Mode/Nadir State) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
The current mode (2 MSB) and state (2 LSB) of the ADCS |
Allowed Value(s) |
See tables below |
Expected Value(s) |
00000000 |
Where…
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilised |
5550 |
Test |
|
ADCS State |
|---|---|
0000 |
Nadir (Default) |
AAA8 |
Test |
A.11.
Now
Setthe parameterplatform.ADCS.adcsModeStateto 00010000 (hex, i.e. Detumble Mode/Nadir State).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
4 bytes |
Data Info |
ADCS Mode and State to set |
Allowed Value(s) |
See tables above |
Expected Value(s) |
00010000 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.12.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.13.
During the next communication passes, the Operator should downlink ADCS HK and Debug data from on-board storage according to EIR-OPS-011: Downlink Data From Storage .
Provide the ADCS Engineer with all the downlinked data and confirm with them that the ADCS is functional in Detumble Mode before proceeding to Section B.
B. Detumble Mode
Warning
Section A must be completed and successful before following the steps in this section to set the ADCS Mode as Detumble without a timeout.
B.1.
Getthe parameterplatform.ADCS.adcsModeStateto determine the current ADCS mode and state.Ensure 0x0000 (i.e. Stand-by Mode/Nadir State) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
The current mode (2 MSB) and state (2 LSB) of the ADCS |
Allowed Value(s) |
See tables below |
Expected Value(s) |
00000000 |
Where…
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilised |
5550 |
Test |
|
ADCS State |
|---|---|
0000 |
Nadir (Default) |
AAA8 |
Test |
B.2.
Now
Setthe parameterplatform.ADCS.adcsModeStateto 00010000 (hex, i.e. Detumble Mode/Nadir State).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
4 bytes |
Data Info |
ADCS Mode and State to set |
Allowed Value(s) |
See tables above |
Expected Value(s) |
00010000 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.3.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
C. Attitude Determination Test
Danger
PRIOR TO ENABLING THE ADCS MANAGER, discuss with the ADCS Engineer and/or the Systems Team whether the ADCS Manager bug (that keeps the GPS powered ON) is present in this image. IF THIS BUG IS PRESENT, discuss whether TimeActions (see EIR-OPS-037: Set-Up a TimeAction ) should instead be used to control the powered state of the GPS. Alternatively, the uplinked SVs may be used instead of GPS SVs.
C.1.
To enable the ADCS Manager,
Setthemission.ADCSManager.enabledparameter to 1.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
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 ) |
C.2.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
C.3.
During the next communication passes, the Operator should downlink ADCS Debug data from the on-board storage according to the EIR-OPS-011: Downlink Data From Storage procedure.
Provide the ADCS Engineer with all the downlinked data and confirm with them that:
GPS lock has been achieved,
The spacecraft can determine its attitude,
The GPS is updating the the ADCS correctly, and
The ADCS is correctly propagating the State Vector.
D. Spin Stabilisation Test for Fixed Time Duration
D.1.
To first ensure the TimeAction is ready for use,
Invokethecdh.scheduling.TimeAction.restartRelativeEntriesaction with the action argument = 1.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
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 ) |
D.2.
Getthecdh.scheduling.TimeAction.entryListPackedparameter withFirst 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 |
|
Action/Param Name |
|
Data Expected with TC |
|
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 |
|
Data Size |
19 bytes |
Data Info |
The schedule entry list as packed records |
D.3.
If the 4 bytes noted in the previous step are not 00000000 (hex), edit these bytes in the data field of the
cdh.scheduling.TimeAction.entryListPackedparameter window andSetthe parameter withFirst row=Last row= 1.Else, skip ahead to Step D.5.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes, 2 bytes, 19 bytes |
Data Info |
The first and last rows/indexes of the parameter to set + the desired |
Allowed Value(s) |
0 - 511, 0 - 511 (dec), many variation allowed (hex) |
Expected Value(s) |
1, 1, 00000000 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
D.4.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
D.5.
Setthecdh.scheduling.TimeAction.entryTimeparameter, withFirst row=Last row= 1, to the desired TimeAction time-out (in seconds). This is the time the OBC will wait before automatically configuring the ADCS to operate in Stand-by Mode/Nadir State.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes, 2 bytes, 4 bytes |
Data Info |
The first and last rows/indexes of the parameter to set + the desired |
Allowed Value(s) |
0 - 511, 0 - 511 (dec), 00000000 - FFFFFFFF (hex) |
Expected Value(s) |
1, 1, the desired TimeAction time-out (in seconds) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
D.6.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
D.7.
Prior to enabling this TimeAction,
Getthecdh.scheduling.TimeAction.entryEnabledparameter, withFirst row=Last row= 1.Ensure that it is 0 (disabled).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
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 |
|
Data Size |
boolean |
Data Info |
Whether the TimeAction entry is enabled (1) or disabled (0) |
Allowed Value(s) |
0 - 1 |
Expected Value(s) |
0 |
D.8.
Setthecdh.scheduling.TimeAction.entryEnabledparameter, withFirst row=Last row= 1, to 1 (i.e. enabled).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
2 bytes, 2 bytes, boolean |
Data Info |
The first and last rows/indexes of the parameter to set + the desired |
Allowed Value(s) |
0 - 511, 0 - 511, 0 - 1 (dec) |
Expected Value(s) |
1, 1, 1 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
D.9.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
D.10.
Getthe parameterplatform.ADCS.adcsModeStateto determine the current ADCS mode and state.Ensure 0x0000 (i.e. Stand-by Mode/Nadir State) or 0x0001000 (i.e. Detumble Mode/Nadir State) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
The current mode (2 MSB) and state (2 LSB) of the ADCS |
Allowed Value(s) |
See tables below |
Expected Value(s) |
00000000 or 00010000 (hex) |
Where…
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilised |
5550 |
Test |
|
ADCS State |
|---|---|
0000 |
Nadir (Default) |
AAA8 |
Test |
D.11.
Now
Setthe parameterplatform.ADCS.adcsModeStateto 00020000 (hex, i.e. Spin Stabalised Mode/Nadir State).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
4 bytes |
Data Info |
ADCS Mode and State to set |
Allowed Value(s) |
See tables above |
Expected Value(s) |
00020000 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
D.12.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
D.13.
During the next communication passes, the Operator should downlink ADCS HK and Debug data from on-board storage according to EIR-OPS-011: Downlink Data From Storage .
Provide the ADCS Engineer with all the downlinked data and confirm with them that the ADCS is functional in Spin Stabalised Mode before proceeding to Section E.
E. Spin Stabilisation
Warning
Section D must be completed and successful before following the steps in this section to set the ADCS Mode to Spin Stabilised without a timeout.
E.1.
Getthe parameterplatform.ADCS.adcsModeStateto determine the current ADCS mode and state.Ensure 0x0000 (i.e. Stand-by Mode/Nadir State) or 0x0001000 (i.e. Detumble Mode/Nadir State) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
The current mode (2 MSB) and state (2 LSB) of the ADCS |
Allowed Value(s) |
See tables below |
Expected Value(s) |
00000000 or 00010000 (hex) |
Where…
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilised |
5550 |
Test |
|
ADCS State |
|---|---|
0000 |
Nadir (Default) |
AAA8 |
Test |
E.2.
Now
Setthe parameterplatform.ADCS.adcsModeStateto 00020000 (hex, i.e. Spin Stabalised Mode/Nadir State).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
4 bytes |
Data Info |
ADCS Mode and State to set |
Allowed Value(s) |
See tables above |
Expected Value(s) |
00020000 (hex) |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
E.3.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
E.4.
The GPS/ADCS operational test has been completed. The Operator should now proceed with one of the sub-procedures listed in EIR-OPS-006: Commissioning that is yet to be completed.
Note
The sub-procedures listed in EIR-OPS-006: Commissioning do not necessarily need to be carried out in the order given. However, procedures ending in ‘Operation’ should only be completed after the relevant ‘Health Check’ procedure for that subsystem has been performed. The ‘EMOD Reprogramming’ procedure must also be performed prior to any EMOD activities. Lastly, ideally, payload operations should be the last item to consider in the commissioning of the spacecraft.
Alternatively, if all sub-procedures listed in EIR-OPS-006: Commissioning have been successfully completed, the Operator may now proceed to EIR-OPS-012: Set Up Nominal Operations .
F. Disable Loggers
F.1.
Setthecdh.logging.ADCSDebugLogger.enabledparameter to 0 (i.e. disable).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
Boolean |
Data Info |
Enable (1) or disable (0) logging |
Allowed Value(s) |
0 - 1 |
Expected Value(s) |
0 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
F.2.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
F.3.
Setthecdh.telemetry.ADCSHighResSampler.enabledparameter to 0 (i.e. disable).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
Boolean |
Data Info |
Enable (1) or disable (0) parameter sampling |
Allowed Value(s) |
0 - 1 |
Expected Value(s) |
0 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
F.4.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
F.5.
Setthecdh.logging.GPSLogger.enabledparameter to 0 (i.e. disable).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
|
Data Size |
Boolean |
Data Info |
Enable (1) or disable (0) logging |
Allowed Value(s) |
0 - 1 |
Expected Value(s) |
0 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
F.6.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
END OF PROCEDURE