Open tanishqaggarwal opened 2 years ago
Leader MTMSN 1
Invalid, sent before mission by accident.
MTMSN 12,13,14
pan state to manual because belief that safehold could have a bug that causes the spacecraft to reboot every ~30 mins. manual is basically safehold, but without fault response, but this is okay because what's currently faulted is the ADCS system, for which we don't want to activate any fault response until we better understand its failures.
downlink.toggle_id to 11, in order to turn on gomspace boot cause flow
radio.max_wait to 10420 (approx 30 mins), because want to limit quake power usage without limiting our transmission rate too much. we're rebooting every 38 mins anyway, longer durations likely don't mean much (previously we set this to 4 hours)
havt_disable18 disables the gyro heaters. This is a power-saving measure. This also assumes i2c comms with the ADCS is working. Noteworthy, if we see the havt disable later report heater as non functional, we know i2c is working with adcs.
adcs.state to 1 to ensure ADCS stays passive.
gomspace.piksi_off to turn off piksi as a power saving measure. It's not reliably reporting pos/vel anyway, and we don't need it during this checkout stage of the mission.
[
{
"field": "pan.state",
"value": 11
},
{
"field": "downlink.toggle_id",
"value": 11
},
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
}
]
Queue'd 3 times at 2:59 AM ET on 01/17/2022.
MTMSN 15
This is one more uplink of PowerSaving2 to the leader. The rational for each of the fields in this command remains the same as MTMSN 12,13, and 14.
We are sending one more of these uplinks as we saw a promising increase in voltage in the most recent downlink and we want to see if the trend remains.
[
{
"field": "pan.state",
"value": 11
},
{
"field": "downlink.toggle_id",
"value": 11
},
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
}
]
PowerSaving2
Queue'd 1 time at 7:56 PM ET on 1/17/2022
MTMSN 16
[
{
"field": "downlink.toggle_id",
"value": 11
},
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": false
}
]
PowerSaving3
This introduces two new power-saving measures:
radio.max_transceive
to 10
cycles, to attempt to transceive 50 times less, to save power as radio usagedcdc.disable_cmd
to true
, in order to ensure DCDCs are off if they are not already offModifications from PowerSaving2:
pan.state
to 11
(manual), keep it in safehold, this is because we don't think safehold is the root cause of the rebooting. Another reason to command safehold is that if the power-saving measures work very well, and the satellite never reboots again, it may also never transmit again due to the low max_transceiveattitude_estimator.ignore_sun_vectors
to false
to confirm application of commands.Queue'd 1 time at 11:37 PM ET on 1/17/2022
MTMSN 17 Re-queuing PowerSaving3. Although the battery level observed on the previous downlink was low (6680), this may not be due to the power-saving measures but instead due to eclipse. We don't have enough data yet to see if the previous uplink reduced the bootcount rate.
Keeping the ignore_sun_vectors flag the same, since it seems that it was not set to false by the previous uplink. This implies that the MTMSN number that Quake reports in its downlink emails is not indicative of the last message received by the spacecraft.
Queued 1 time at 12:19 AM ET on 1/18/2022
MTMSN 18, 19, 20, 21 Per our discussion earlier this evening, I am re-queuing PowerSaving3. The battery voltage increased to 7080 mV, and we agreed to continue queueing PowerSaving3 for as long as there is no apparent worsening of battery health over time.
No apparent change in rate of bootcounts over time.
Queued 1 time at 2:02 AM ET on 1/18/2022 Queued 1 time at 2:36 AM ET on 1/18/2022 Queued 2 times at 4:14 AM ET on 1/18/2022
MTMSN 22 Following up on the previous log entry, I re-sent PowerSaving3.
The leader's vbatt has been oscillating between ~6700 and 7100. The boot count rate seems to have stayed the same
Queued at 10:18 AM PST/1:18 EST on 1/18/2022
MTMSN 23
IMEI: 300234030726020 Time: Wed Jan 19 03:33:56 2022
Attachment Filename: http_uplink300234030726020.sbd Attachment Size: 15
The MTMSN is 23, and the message is number 1 in the queue.
PowerSaving3 queued with attitude_estimator.ignore_sun_vector
set to true
to show that Leader received the command.
MTMSN 24
PowerSaving3 queued at 11:30am EST on January 19th and set ignore sun vector to false
MTMSN 26
PowerSaving3 queued at 3:10 EST on 01/19. Set ignore sun vector to false
MTMSN 27
PowerSaving3 queued 7:42pm pacific time, ignore sun vector to true.
MTMSN 28
PowerSaving3 queued 8:51pm pacific time, ignore sun vector set to false
MTMSN 29
PowerSaving3 queued at 9:36pm pacific time, ignore sun vector set to true
MTMSN 30
PowerSaving3 queued at 12:01am pacific time, ignore sun vector set to false
MTMSN 31
PowerSaving3 queued at 12:55am pacific time (two commands are now in the queue to account for the three hour gap in shift coverage), ignore sun vector set to false. This should have been true but was sent as false by accident, so we won't be able to tell from this flag whether this command has been applied.
MTMSN 32
PowerSaving3 uplinked to leader at 8:34pm EST 1/20/22 with the following additions:
{ "field": "downlink.toggle_id", "value": 36 }, { "field": "downlink.shift_id1", "value": 36 }, { "field": "downlink.shift_id2", "value": 2 }
This would help us see what gomspace.wdt_i2c_time_left is. Because of this addition, I also dropped this part of PowerSaving3:
{ "field": "downlink.toggle_id", "value": 11 }
MTSN 33
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": true
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
MTMSN 34
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": false
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
Repeated same commands just to get the same PowerSaving3 and attempt to get the new telemetry points
MTMSN 35, PowerSave3 with sun_vectors true
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": true
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
MTMSN 36, PowerSave3, sun_vectors false
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": false
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
MTMSN 37, PowerSave3, sun_vectors true
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": true
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
MTMSN 38, requed PowerSaving3 with sun_vectors false
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": false
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
MTMSN 39 sun_vectors true
{ "field": "radio.max_wait", "value": 10420 }, { "field": "radio.max_transceive", "value": 10 }, { "field": "adcs_cmd.havt_disable18", "value": true }, { "field": "adcs.state", "value": 1 }, { "field": "gomspace.piksi_off", "value": true }, { "field": "dcdc.disable_cmd", "value": true }, { "field": "attitude_estimator.ignore_sun_vectors", "value": true }, { "field": "downlink.toggle_id", "value": 36 }, { "field": "downlink.shift_id1", "value": 36 }, { "field": "downlink.shift_id2", "value": 2 }
MTMSN 40 ignore_sun_vectors false
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": false
},
{
"field": "downlink.toggle_id",
"value": 36
},
{
"field": "downlink.shift_id1",
"value": 36
},
{
"field": "downlink.shift_id2",
"value": 2
}
Sent 12:34 ET on 01/23 MTMSN 41 ingore sunvectors true
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "attitude_estimator.ignore_sun_vectors",
"value": true
},
{
"field": "gomspace.power_cycle_output4_cmd",
"value": true
}
]
PowerSaving3 + ADCS Power Cycle
We keep the two radio commands of power saving 3, as we know we've seen 2nd frames with power saving 3 settings. Thus, let's continue.
Keeping the gyro off is fine. We mainly want to see i2c reboot with ADCS, the gyro heater is not requisite for I2C functionality.
Keeping adcs.state 1 is fine because it keeps its actuators disabled. Does not prevent I2C functionality.
Keeping Piksi and DCDC's off is fine, not required for I2C, continued power saving.
Flipping Sun vector ignore as usual.
We stay in safehold
just to maintain the reboot if no comms behavior
**We set gomspace.power_cycle_output4_cmd
to true
to reboot the ADCS.
Testing as shown that setting this field to true emulates ADCS going down, but also restores functionality a few seconds later.
Sent 08:13 ET on 01/24
MTMSN 42
attitude_estimator.ignore_sun_vectors
: false
PowerSaving3 + ADCS Power Cycle
Rationale: Repeat the same PowerSavind3 + ADCS Power Cycle command in hopes of seeing established communications with the ADCS Computer.
Sent 12:13 ET on 01/24
MTMSN 43
attitude_estimator.ignore_sun_vectors
: true
PowerSaving3 + ADCS Power Cycle
Rationale: " "
Sent 17:28 ET on 01/24 MTMSN 44 attitude_estimator.ignore_sun_vectors: false
[ { "field": "radio.max_wait", "value": 10420 }, { "field": "radio.max_transceive", "value": 10 }, { "field": "adcs_cmd.havt_disable18", "value": true }, { "field": "adcs.state", "value": 1 }, { "field": "gomspace.piksi_off", "value": true }, { "field": "dcdc.disable_cmd", "value": true }, { "field": "attitude_estimator.ignore_sun_vectors", "value": false }, { "field": "gomspace.power_cycle_output4_cmd", "value": true } ]
Rationale: No significant change in values, sent same PowerSaving3 + ADCS Power Cycle
Sent 7:34 ET on 01/25 MTMSN 45 attitude_estimator.ignore_sun_vectors: true
PowerSaving3 + ADCS Power Cycle
Rationale: " "
Sent 8:16 ET on 01/25 MTMSN 46 attitude_estimator.ignore_sun_vectors: false
PowerSaving3 + ADCS Power Cycle
Rationale: " "
Sent 2:15 ET, 1/26 MTMSN 47 attitude_estimator.ignore_sun_vectors: true PowerSaving3 + ADCS Power Cycle
Sent 02:26 AM ET on 01/27 MTMSN 48 attitude_estimator.ignore_sun_vectors: false
PowerSaving3 + ADCS Power Cycle
Rationale: " "
Some time on 02/01, changed to this default uplink:
[
{
"field": "radio.max_wait",
"value": 10420
},
{
"field": "radio.max_transceive",
"value": 10
},
{
"field": "adcs_cmd.havt_disable18",
"value": true
},
{
"field": "adcs.state",
"value": 1
},
{
"field": "gomspace.piksi_off",
"value": true
},
{
"field": "dcdc.disable_cmd",
"value": true
},
{
"field": "gomspace.power_cycle_output4_cmd",
"value": true
},
{
"field": "downlink.shift_id1",
"value": 19
},
{
"field": "downlink.shift_id2",
"value": 2
}
]
PowerSaving3 + ADCS Power Cycle + Mag Debug
Rationale: Moved flow 19 up in order to get more raw magnetometer measurements
On 2/18, adcs_ffa1
was set to the default command for Leader:
[
{
"field": "adcs_cmd.havt_disable9",
"value": true
},
{
"field": "pan.state",
"value": 1
},
{
"field": "adcs.state",
"value": 5
},
{
"field": "gomspace.low_batt.suppress",
"value": true
},
{
"field": "attitude_estimator.fault.base",
"value": true
},
{
"field": "adcs_monitor.wheel1_fault.suppress",
"value": true
},
{
"field": "adcs_monitor.wheel2_fault.suppress",
"value": true
},
{
"field": "adcs_monitor.wheel3_fault.suppress",
"value": true
},
{
"field": "adcs_monitor.wheel_pot_fault.suppress",
"value": true
}
]
The goal of this command was to force the satellite into Detumble, hence the pan.state
and adcs.state
fields. To verify if the ADCS bus is functional, the adcs_cmd.havt_disable9
command is set. Testing and analysis of flight code shows that faults are not updated as necessary and thus ADCS may appear faulted even when functional. Thus, the remaining fields suppress faults that would force the satellite into Safehold and would prevent Detumble.
The power saving commands from previous uplinks were removed in this more aggressive command in order to receive more downlinks. We noticed we were receiving more comms and even mag data without shifting flows. Since we believe ADCS may be functional, the power cycling command was also removed.
On 04/17/2022 on Sunday at 12:04 PM ET, sent a command to do 100ms prop firing out of valve 1.
04/17 approximately correlates to the above red, arrow, not enough of a disturbance in gyro rate was seen,
Seems safe to queue more prop firings.
On Thursday 04/21/22 at 3:25 PM sent another command for 500ms out of valve 1
Got one data point from previous command, does not look like large perturbation
Arrow points to the singular data point post last firing command
On Friday 04/22/22 at 12:47 PM ET sent two more commands (MTMSN 889, 890) for 500ms out of valve1
On Friday 04/29/22 at 1:36 PM sent 3 commands for 900ms out of valve 1 (2700ms total)
Goal: Put every uplink sent to spacecraft as a new comment and post rationale for each packet sent.