EIR-OPS-038: WBC Experiment Set Up
Objective
To facilitate the Operator in setting up a WBC experiment.
Introduction
This procedure will guide the Operator through steps to set up a WBC experiment and enter WBC Mode manually without a user-defined timeout or for a fixed duration. The downlinking of WBC data is also discussed and steps are provided to exit WBC Mode, ending any on-going experiments.
Procedure
This procedure contains a number of sub-procedures.
A. Experiment Set-Up
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.
Setthe parametercdh.logging.WBCLogger.enabledto 1 to enable the WBC Logger.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
bit1 |
Data Info |
1 (i.e. Logging enabled) or 0 (i.e. Logging disabled) |
Allowed Value(s) |
0, 1 |
.. centered:: TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.2.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
A.3.
Getthe parametercore.Storage.numRowswithFirst Row=Last Row= 78.Note the number of rows of data in this storage channel. This will be used for comparison later to ensure WBC data is being logged after entering WBC Mode (via Section B or C).
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes, 2 bytes |
Data Info |
|
Allowed Value(s) |
1 - 87 (dec) |
Expected Value(s) |
78, 78 (dec) |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
Number of rows in WBC channel |
Allowed Value(s) |
0 - 65535 |
A.4.
Prior to transitioning to WBC Mode, the parameters listed in the table below must be reviewed (e.g. via
GetTCs and/or previous pass notes), and may need to be changed (i.e. via aGet-Set-Get).If the WBC Engineer has specified that one or more of the parameters in the table below needs to be configured, follow Steps A.5-A.7 for each of the parameters.
Parameter Name |
Data Size |
Data Info |
Allowed Values |
Default Value |
|---|---|---|---|---|
|
bit8 |
Bitmask used to select which sensors are read from the ADCS board
Row 0 (MSB): Magnetometer 1
Row 1: Magnetometer 2
Row 2: Gyroscope
Row 3: Coarse Sun Sensor
Row 4: Fine Sun Sensor
Row 5: Estimated Attitude Quaternion
Rows 6-7: Not Used
|
0 - 255 |
248 (0b11111000) |
|
uint8 |
Time offset in multiples of 50 ms from the start of each clock cycle to when sensor reads take place |
0 - 19 |
0 |
|
uint8 |
Time offset in multiples of 50 ms from the start of each clock cycle to when determination calculation takes place |
0 - 19 |
0 |
|
uint8 |
Used to select which MTM is used for determination and control algorithms
0: Average Value of Magnetometers 1 and 2
1: Magnetometer 1
2: Magnetometer 2
|
0 - 2 |
0 |
|
sint16[9] |
Column-wise values of a 3 x 3 matrix used to correct for scale, rotation and orthogonality in the MTM 1 values.
Values are fixed-point signed integers with a fraction length of 13 (REAL_VALUE = INTEGER_VALUE/2^13).
May be used along with corresponding offset parameter to calibrate the MTM according to the equation:
MTM_CAL = MATRIX*MTM_RAW - OFFSET.
|
-32767 - 32768 |
-8192, 0, 0
0, -8192, 0
0, 0, 8192
Column-wise!
|
|
sint16[3] |
Values of a 3 x 1 column vector to correct for bias in the MTM 1 values
Values are fixed-point signed integers with a fraction length of 9 (REAL_VALUE = INTEGER_VALUE/2^9)
May be used along with corresponding matrix parameter to calibrate the MTM according to the equation:
MTM_CAL = MATRIX*MTM_RAW - OFFSET.
|
-32767 - 32768 |
0, 0, 0 |
|
sint16[9] |
Column-wise values of a 3 x 3 matrix used to correct for scale, rotation and orthogonality in the MTM 2 values.
Parameter values are fixed-point signed integers with a fraction length of 13 (REAL_VALUE = INTEGER_VALUE/2^13).
May be used along with corresponding offset parameter to calibrate the MTM according to the equation:
MTM_CAL = MATRIX*MTM_RAW - OFFSET.
|
-32767 - 32768 |
-8192, 0, 0
0, -8192, 0
0, 0, 8192
Column-wise!
|
|
sint16[3] |
Values of a 3 x 1 column vector to correct for bias in the MTM 2 values
Values are fixed-point signed integers with a fraction length of 9 (REAL_VALUE = INTEGER_VALUE/2^9)
May be used along with corresponding matrix parameter to calibrate the MTM according to the equation:
MTM_CAL = MATRIX*MTM_RAW - OFFSET.
|
-32767 - 32768 |
0, 0, 0 |
|
sint16[9] |
Column-wise values of a 3 x 3 matrix used to correct for scale, rotation and orthogonality in the gyro values.
Values are fixed-point signed integers with a fraction length of 13 (REAL_VALUE = INTEGER_VALUE/2^13).
May be used along with corresponding offset parameter to calibrate the MTM according to the equation:
GYRO_CAL = MATRIX*GYRO_RAW - OFFSET.
|
-32767 - 32768 |
-8192, 0, 0
0, -8192, 0
0, 0, 8192
Column-wise!
|
|
sint16[3] |
Values of a 3 x 1 column vector to correct for bias in the gyro values.
Values are fixed-point signed integers with a fraction length of 7 (REAL_VALUE = INTEGER_VALUE/2^7).
May be used along with corresponding matrix parameter to calibrate the MTM according to the equation:
GYRO_CAL = MATRIX*GYRO_RAW - OFFSET.
|
-32767 - 32768 |
0, 0, 0 |
|
uint16[5] |
A gain value for each of the 5 coarse sun sensors (1:-Z, 2:+X, 3:-Y, 4:+Y, 5:-X).
Values are fixed-point unsigned integers with a fraction length of 14 (REAL_VALUE = INTEGER_VALUE/2^14).
May be used along with corresponding offset parameter to calibrate the CSSs according to the equation:
CSS_CAL = CSS_GAIN*CSS_RAW - OFFSET.
|
0 - 65535 |
16384, 16384,
16384, 16384,
16384
|
|
sint16[5] |
An offset value for each of the 5 coarse sun sensors (1:-Z, 2:+X, 3:-Y, 4:+Y, 5:-X).
Values are fixed-point signed integers with a fraction length of 4 (REAL_VALUE = INTEGER_VALUE/2^4).
May be used along with corresponding gain parameter to calibrate the CSSs according to the equation:
CSS_CAL = CSS_GAIN*CSS_RAW - OFFSET.
|
-32767 - 32768 |
0, 0, 0, 0, 0 |
|
uint8 |
Used to select which control algorithm is active:
0: No control
1: Bang-bang B-dot
2: B-dot
3: B-dot with angular rates
4: Fixed MTQ Duty Cycle.
|
0 - 4 |
0 |
|
uint8 |
Time offset in multiples of 50 ms from the start of each clock cycle to when control update calculation takes place |
0 - 19 |
0 |
|
uint8 |
Time offset in multiples of 50 ms from the start of each clock cycle to when magnetorquer writes take place |
0 - 19 |
0 |
|
uint6 |
Bitmask used to set MTQ polarity with Rows: 0:+X, 1:+Y, 2:+Z, 3:-X, 4:-Y, 5:-Z (Row 0 is the most significant bit.)
1 indicates a swapped polarity.
|
0 - 63 |
57 (0b111001) |
|
raw64 |
These 64 bytes are used for controller specific configuration. Usage is defined in a particular controller’s implementation. |
N/A |
N/A |
|
bit1 |
Bit should be set to 1 to enable logging of WBC data. (NOTE: To log WBC data both this bit AND the WBCLogger.enabled bit must be set to 1.) |
||
|
bit32 |
Bitmask to select which data should be logged:
Row 0 (MSB): cycleStartTime
Row 1: wbcClockCycles
Row 2: detExecutionCount
Row 3: controlExecutionCount
Row 4: mtm1
Row 5: mtm2
Row 6: gyro
Row 7: css
Row 8: fss
Row 9: q_ib_est
Row 10: mtm1_calib
Row 11: mtm2_calib
Row 12: gyro_calib
Row 13: css_calib
Row 14: fss_angles_fixdt
Row 15: testModeMtq
Row 16: bdot_1
Row 17: bdot_2
Row 18: executionCountDelta
Row 29-30: Unused
Row 31: timingInfoLastCycle.
|
0 - 0xFFFFFFFF |
0xFFFFFFFF |
|
uint8 |
Period at which to log WBC data if enabled in clock cycles. |
0 - 255 |
1 |
|
bit1 |
Bit set high to enable automatic syncing of WBC with the ADCS via ADCS execution count. |
0 - 1 |
1 |
|
uint8 |
Time offset in multiples of 50 ms from the start of each clock cycle to when sync update takes place. |
0 - 255 |
10 |
|
uint16 |
Period at which syncing takes place in clock cycles. |
0 - 32767 |
16 |
A.5.
Getthe parameterpayload.WBC.XXXX, where XXXX is the parameter name from the table above.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Parameter-dependant |
TM Details |
|
Data Expected from TC |
|
A.6.
If the parameter value is not as desired,
Setthepayload.WBC.XXXXparameter to the desired value now.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
A.7.
Confirm the
Setin the previous step with aGet(i.e. confirm the value was set successfully).
B. Transition to WBC Mode
B.1.
If the transition to WBC Mode is only desired for a fixed time duration, the Operator should follow the EIR-OPS-037: Set-Up a TimeAction procedure to set up and ENABLE a TimeAction to invoke the action
mission.ModeManager.transitionToCommissioningModeafter a fixed time duration.Else, proceed to B.2.
B.2.
Getthe parameterpayload.WBC.clockCycleCount.Record this value for later comparison.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
uint8 |
Data Info |
WBC controller execution count |
Allowed Value(s) |
0 - 255 (dec) |
Expected Value(s) |
0 |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.3.
Invokethe actionmission.ModeManager.TransitionToWBCModeto enter the WBC Mode.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
B.4.
To confirm the mode transition,
Getthemission.ModeManager.Modeparameter.Ensure 03 (i.e. WBC Mode) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Current Operational Mode of EIRSAT-1 |
Allowed Value(s) |
00 - 04 (see table below) |
Expected Value(s) |
03 |
Where…
|
Operational Mode |
|---|---|
00 |
Separation Sequence |
01 |
Commissioning |
02 |
Nominal |
03 |
WBC |
04 |
Safe |
B.5.
To assess whether the mode change occurred without error,
Getthemission.ModeManager.ExitErrorCountparameter.Ensure 0 (i.e. no error) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Error count from last mode exit |
Allowed Value(s) |
00 - FF (Hex) |
Expected Value(s) |
0 (i.e. no errors) |
B.6.
Also
Getthemission.ModeManager.EntryErrorCountparameter.Ensure 0 (i.e. no error) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Error count from last mode entry |
Allowed Value(s) |
00 - FF (Hex) |
Expected Value(s) |
0 (i.e. no errors) |
B.7.
Getthe parameterplatform.ADCS.adcsModeStateto determine the current ADCS mode and state.Ensure 0x5550AAA8 (i.e. Test Mode/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) |
5550AAA8 (hex) |
Where…
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilised |
5550 |
Test |
|
ADCS State |
|---|---|
0000 |
Nadir (Default) |
AAA8 |
Test |
B.8.
To confirm that the WBC Monitor has been enabled,
Getthecdh.monitoring.WBCMonitor.enabledparameter.Ensure that 1 is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
bit1 |
Data Info |
WBC Monitor enabled (1) /disabled (0) |
Allowed Value(s) |
0, 1 |
Expected Value(s) |
1 |
B.9.
To confirm that WBC experiment running has been enabled,
Getthepayload.WBC.enabledparameter.Ensure that 1 is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
bit1 |
Data Info |
WBC Enabled (1) /Disabled (0) |
Allowed Value(s) |
0, 1 |
Expected Value(s) |
1 |
B.10.
Getthe parameterpayload.WBC.clockCycleCountmultiple times.Ensure that the returned TM is increasing relative to the value obtained in Step B.2., further confirming that the WBC experiment is running.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
uint8 |
Data Info |
WBC controller execution count |
Allowed Value(s) |
0 - 255 (dec) |
Expected Value |
Increasing |
B.11.
Getthe parametercore.Storage.numRowsmultiple times, with ~30 seconds between each TC, withFirst Row=Last Row= 78.Ensure the value is increasing compared to
numRowsfrom Step A.7.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
Yes |
Data Size |
2 bytes, 2 bytes |
Data Info |
|
Allowed Value(s) |
1 - 87 (dec) |
Expected Value(s) |
78, 78 (dec) |
TM Details |
|
Data Expected from TC |
|
Data Size |
4 bytes |
Data Info |
Number of rows in WBC channel |
Allowed Value(s) |
0 - 65535 |
Expected Value(s) |
Increasing w.r.t. Step A.7 |
B.12.
The spacecraft will now run the WBC Experiment/Mode and log data until:
the time duration specified with the TimeAction in Step B.1 has passed, or
WBC is manually exited, as in D. Manual Exit from WBC
The spacecraft will then transition back to Commissioning Mode.
The Operators should follow C. Data Downlink is subsequent passes to downlink data from the WBC storage channel.
C. Data Downlink
C.1.
Downlink WBC data from channel ID = 78 (dec) using EIR-OPS-011: Downlink Data From Storage .
If circumstances allow, all data generated during a WBC experiment should be downlinked, with priority given to OLDEST data first.
Notify the WBC Engineer of any data downlinked that is ready for their review/analysis.
D. Manual Exit from WBC
D.1.
Invokethe actionmission.ModeManager.TransitionToCommissioningModeto enter the WBC Mode.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
No ( + ACK ) |
D.2.
To confirm the mode transition,
Getthemission.ModeManager.Modeparameter.Ensure 01 (i.e. Commissioning Mode) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Current Operational Mode of EIRSAT-1 |
Allowed Value(s) |
00 - 04 (see table below) |
Expected Value(s) |
01 |
Where…
|
Operational Mode |
|---|---|
00 |
Separation Sequence |
01 |
Commissioning |
02 |
Nominal |
03 |
WBC |
04 |
Safe |
D.3.
To assess whether the mode change occurred without error,
Getthemission.ModeManager.ExitErrorCountparameter.Ensure 0 (i.e. no error) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Error count from last mode exit |
Allowed Value(s) |
00 - FF (Hex) |
Expected Value(s) |
0 (i.e. no errors) |
D.4.
Also
Getthemission.ModeManager.EntryErrorCountparameter.Ensure 0 (i.e. no error) is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
1 byte |
Data Info |
Error count from last mode entry |
Allowed Value(s) |
00 - FF (Hex) |
Expected Value(s) |
0 (i.e. no errors) |
D.5.
Getthe parameterplatform.ADCS.adcsModeStateto determine the current ADCS mode and state.Ensure 00000000 (i.e. Standby 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 (hex) |
Where…
|
ADCS Mode |
|---|---|
0000 |
Standby (Default) |
0001 |
Detumble |
0002 |
Spin Stabilised |
5550 |
Test |
|
ADCS State |
|---|---|
0000 |
Nadir (Default) |
AAA8 |
Test |
D.6.
To confirm that the WBC Monitor has been disabled,
Getthecdh.monitoring.WBCMonitor.enabledparameter.Ensure that 0 is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
bit1 |
Data Info |
WBC Monitor enabled (1) /disabled (0) |
Allowed Value(s) |
0, 1 |
Expected Value(s) |
0 |
D.7.
To confirm that WBC experiment running has been disabled,
Getthepayload.WBC.enabledparameter.Ensure that 0 is returned.
TC Details |
|
MCS Operation |
|
Action/Param Name |
|
Data Expected with TC |
No |
TM Details |
|
Data Expected from TC |
|
Data Size |
bit1 |
Data Info |
WBC Enabled (1) /Disabled (0) |
Allowed Value(s) |
0, 1 |
Expected Value(s) |
0 |
D.8.
Section C. Data Downlink should continue to be followed until the data generated during the WBC experiment are downlinked, even if the spacecraft is no longer in WBC Mode.
END OF PROCEDURE