Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leader Uplink Command Log #852

Open
tanishqaggarwal opened this issue Jan 17, 2022 · 38 comments
Open

Leader Uplink Command Log #852

tanishqaggarwal opened this issue Jan 17, 2022 · 38 comments

Comments

@tanishqaggarwal
Copy link
Member

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

@tanishqaggarwal
Copy link
Member Author

tanishqaggarwal commented Jan 17, 2022

Leader MTMSN 1

Invalid, sent before mission by accident.

@shihaocao
Copy link
Collaborator

shihaocao commented Jan 17, 2022

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.

@shihaocao shihaocao changed the title Uplink command log Leader Uplink Command Log Jan 17, 2022
@Duncan-McD
Copy link
Member

Duncan-McD commented Jan 18, 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

@shihaocao
Copy link
Collaborator

shihaocao commented Jan 18, 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 usage
  • dcdc.disable_cmd to true, in order to ensure DCDCs are off if they are not already off

Modifications from PowerSaving2:

  • Remove command that sets 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_transceive
  • Toggles attitude_estimator.ignore_sun_vectors to false to confirm application of commands.

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

@tanishqaggarwal
Copy link
Member Author

tanishqaggarwal commented Jan 18, 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

@tanishqaggarwal
Copy link
Member Author

tanishqaggarwal commented Jan 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

@fatimayousuf
Copy link
Member

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
Copy link
Contributor

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
Copy link
Member

govindchari commented Jan 19, 2022

MTMSN 24

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

@shihaocao
Copy link
Collaborator

shihaocao commented Jan 19, 2022

MTMSN 26

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

@stewartaslan
Copy link
Contributor

stewartaslan commented Jan 20, 2022

MTMSN 27

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

@stewartaslan
Copy link
Contributor

MTMSN 28

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

@stewartaslan
Copy link
Contributor

MTMSN 29

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

@stewartaslan
Copy link
Contributor

MTMSN 30

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

@stewartaslan
Copy link
Contributor

stewartaslan commented Jan 20, 2022

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
Copy link
Member

fatimayousuf commented Jan 21, 2022

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
Copy link
Member

kylekrol commented Jan 21, 2022

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
Copy link
Collaborator

shihaocao commented Jan 21, 2022

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
Copy link
Collaborator

afoarce commented Jan 21, 2022

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
Copy link
Collaborator

afoarce commented Jan 22, 2022

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
Copy link

jer296 commented Jan 22, 2022

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
Copy link
Member

samuelqian01 commented Jan 22, 2022

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
Copy link

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
Copy link
Member Author

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
Copy link
Collaborator

shihaocao commented Jan 23, 2022

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
Copy link
Collaborator

shihaocao commented Jan 24, 2022

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
Copy link
Collaborator

shihaocao commented Jan 24, 2022

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

PowerSaving3 + ADCS Power Cycle

Rationale: " "

@claupiet
Copy link

claupiet commented Jan 24, 2022

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
Copy link
Collaborator

shihaocao commented Jan 26, 2022

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
Copy link
Collaborator

afoarce commented Jan 26, 2022

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

@pan-master-chief
Copy link
Contributor

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

PowerSaving3 + ADCS Power Cycle

Rationale: " "

@shihaocao
Copy link
Collaborator

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
Copy link
Collaborator

afoarce commented Feb 28, 2022

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
Copy link
Collaborator

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

@shihaocao
Copy link
Collaborator

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
Copy link
Collaborator

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

@shihaocao
Copy link
Collaborator

shihaocao commented Apr 22, 2022

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
Copy link
Collaborator

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests