pathfinder-for-autonomous-navigation / FlightSoftware

Flight software, test software, ground software, and mission control.
http://pan-software.readthedocs.io
MIT License
9 stars 6 forks source link

Leader Uplink Command Log #852

Open tanishqaggarwal opened 2 years ago

tanishqaggarwal commented 2 years ago

Goal: Put every uplink sent to spacecraft as a new comment and post rationale for each packet sent.

tanishqaggarwal commented 2 years ago

Leader MTMSN 1

Invalid, sent before mission by accident.

shihaocao commented 2 years ago

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.

Duncan-McD commented 2 years ago

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

shihaocao commented 2 years ago

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:

Modifications from PowerSaving2:

Queue'd 1 time at 11:37 PM ET on 1/17/2022

tanishqaggarwal commented 2 years ago

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

tanishqaggarwal commented 2 years ago

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

fatimayousuf commented 2 years ago

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

stewartaslan commented 2 years ago

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.

govindchari commented 2 years ago

MTMSN 24

PowerSaving3 queued at 11:30am EST on January 19th and set ignore sun vector to false

shihaocao commented 2 years ago

MTMSN 26

PowerSaving3 queued at 3:10 EST on 01/19. Set ignore sun vector to false

stewartaslan commented 2 years ago

MTMSN 27

PowerSaving3 queued 7:42pm pacific time, ignore sun vector to true.

stewartaslan commented 2 years ago

MTMSN 28

PowerSaving3 queued 8:51pm pacific time, ignore sun vector set to false

stewartaslan commented 2 years ago

MTMSN 29

PowerSaving3 queued at 9:36pm pacific time, ignore sun vector set to true

stewartaslan commented 2 years ago

MTMSN 30

PowerSaving3 queued at 12:01am pacific time, ignore sun vector set to false

stewartaslan commented 2 years ago

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.

fatimayousuf commented 2 years ago

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 }

kylekrol commented 2 years ago

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
  }
]
shihaocao commented 2 years ago

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

afoarce commented 2 years ago

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
  }
]
afoarce commented 2 years ago

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
  }
]
jer296 commented 2 years ago

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
  }
]
samuelqian01 commented 2 years ago

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
  }
]
millie-schwartz commented 2 years ago

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 }

tanishqaggarwal commented 2 years ago

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
}
shihaocao commented 2 years ago

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.

image

shihaocao commented 2 years ago

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.

shihaocao commented 2 years ago

Sent 12:13 ET on 01/24 MTMSN 43 attitude_estimator.ignore_sun_vectors: true

PowerSaving3 + ADCS Power Cycle

Rationale: " "

claupiet commented 2 years ago

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

shihaocao commented 2 years ago

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: " "

afoarce commented 2 years ago

Sent 2:15 ET, 1/26 MTMSN 47 attitude_estimator.ignore_sun_vectors: true PowerSaving3 + ADCS Power Cycle

pan-master-chief commented 2 years ago

Sent 02:26 AM ET on 01/27 MTMSN 48 attitude_estimator.ignore_sun_vectors: false

PowerSaving3 + ADCS Power Cycle

Rationale: " "

shihaocao commented 2 years ago

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

afoarce commented 2 years ago

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.

shihaocao commented 2 years ago

On 04/17/2022 on Sunday at 12:04 PM ET, sent a command to do 100ms prop firing out of valve 1.

shihaocao commented 2 years ago

image 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.

shihaocao commented 2 years ago

On Thursday 04/21/22 at 3:25 PM sent another command for 500ms out of valve 1

shihaocao commented 2 years ago

Got one data point from previous command, does not look like large perturbation image

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

shihaocao commented 2 years ago

On Friday 04/29/22 at 1:36 PM sent 3 commands for 900ms out of valve 1 (2700ms total)