Skip to content

Mission Modes

Lauren Greenhill edited this page May 6, 2022 · 17 revisions

Mission Mode Class

Class Contents

virtual void transition_to()

  • Sets all relevant settings in the SFR. Optionally sets the start time of the mode

virtual void dispatch()

  • Checks exit conditions

float start_time

void set_start_time(float new_start_time)

  • Stores when the mission mode started

virtual int get_id()

  • Returns numerical representation of mode for comparisons

virtual mode_type get_type()

  • Returns either NORMAL, TRANSMIT, LP, or OTHER

Mission Mode State Machine

Description of settings

Initialization

  • Boot
    • Two hour period where RockBLOCK is in sleep mode.
    • The RockBLOCK may not be on during this time due to CubeSat proximity to the ISS.
  • Alive Signal
    • RockBLOCK attempts to downlink one normal report with a downlink period of X minutes. If RockBLOCK hard faults or X minutes have passed.
    • This mode allows us to communicate with the CubeSat at one time before the ACS is activated. The IMU is off.
  • Low Power Alive Signal
    • RockBLOCK attempts to downlink one normal report with a downlink period of X minutes. If RockBLOCK hard faults or X minutes have passed.
    • This mode allows us to communicate with the CubeSat at one time before the ACS is activated.
    • The IMU is off.

Stabilization

  • Detumble & Spin
    • ACS is in Detumble & Spin mode.
    • The IMU is on.
  • Low Power Detumble & Spin

Standby

  • Normal
  • Transmit
  • Low Power

Deployment

  • Deployment Normal
  • Deployment Transmit
  • Deployment Low Power

Armed

  • Armed Normal
  • Armed Transmit
  • Armed Low Power

In Sun

  • In Sun Normal
  • In Sun Transmit
  • In Sun Low Power
  • In Sun Voltage Sensor Fault

Firing

  • Turn on Camera
  • Mandatory Burns
  • Regular Burns
  • Take Photo

Diagram with entrance and exit conditions

mission_modes-Page-3 drawio

Outstanding Questions

  • Should alive signal allow for multiple RockBLOCK hard faults?
  • Should IMU be on during boot?
Clone this wiki locally