POWER_READ_TEMP_CMDĀ
First byte is command, second byte is which temperature to read. Transmitted over CAN
POWER_READ_SOLAR_CURRENT_CMD
First byte is command, second byte is which current to read. Transmitted over CAN
POWER_READ_LOAD_CURRENT_CMD
First byte is command, second byte is which current to read. Transmitted over CAN
POWER_READ_MSB_VOLTAGE_CMD,
Single byte, transmitted over CAN
POWER_GET_BATTERY_SOC_CMD
Single byte, transmitted over CAN
POWER_GET_SA_CHARGE_STATE_CMD,
Single byte, transmitted over CAN
POWER_GET_BOOT_COUNT_CMD,
Single byte, transmitted over CAN
POWER_FRAM_GET_OPMODE_CMD,
Single byte is command, transmitted over CAN
POWER_FRAM_GET_SOC_CMD,
Single byte is command, transmitted over CAN
POWER_FRAM_GET_BOOT_COUNT_CMD,
Single byte is command, transmitted over
POWER_SET_LOAD_OFF_CMD,
First byte is command, second byte is which load to turn off. Transmitted over CAN
POWER_SET_LOAD_ON_CMD,
First byte is command, second byte is which load to turn on. Transmitted over CAN
POWER_SET_SOLAR_OFF_CMD,
First byte is command, second byte is which solar cell to turn off. Transmitted over CAN
POWER_SET_SOLAR_ON_CMD,
First byte is command, second byte is which solar cell to turn on. Transmitted over CAN
POWER_SET_POW_MODE_CMD,
First byte is command, second byte is which power mode to set. Transmitted over CAN
POWER_RESET_LOAD_SWITCH_CMD,
Currently unused
The payload interface will be defined after the payload software is developed. The following commands are the preliminary commands and function prototypes to call:
calibrate ():
This method is used to run the radiometer calibration sequence. This should be called after the
ArcticSat has been oriented properly to have the payload antenna pointing to deep space. After
the calibration measurement has been completed, it returns a Boolean to indicate if measurement
was successful.
return (bool)
getCalibrate ():
This method retrieves the last calibration data and returns both the raw voltage and brightness
temperature measurements respectively.
return (float, float)
measure ():
This method runs the radiometer measurement sequence and stores the data. This should be
called when ArcticSat is over the measurement region. It returns a Boolean to indicate if
measurement was successful.
return (bool)
getRawMeasure ():
This method retrieves the last raw voltages measurements collected during the last pass over the
detection location. It returns an array of floats, this might have to be segmented and sent in
multiple instances, so it also returns an index position signifying where in the array it stopped.
return (array[float], uint8_t)
getTbMeasure ():
This retrieves the last processed brightness temperature collected during the last pass over the
detection location. It returns an array of floats, this might have to be segmented and sent in
multiple instances, so it also returns an index position signifying where in the array it stopped.
return (array[float], uint8_t)
getBoardTemp ():
This method returns the average temperature of the 3 thermistors on the payload radiometer
board.
return (float)
switchFrontEnd ():
This procedure switches the RF front end from the antenna to a matched load or vise-versa.
When called by the CDH would override the local version and switch position changes. Returns
Boolean to indicate if operation was successful.
return (bool)
ADCS_GET_MEASUREMENT_GYRO_CMD,
ADCS_GET_MEASUREMENT_MAGNETOMETER_CMD,
ADCS_SUN_SENSOR_SELECT_CMD
Used to switch between primary and backup sun sensors
ADCS_GET_MEASUREMENT_SUN_CMD,
ADCS_GET_SUN_POINTING_TM_CMD
Commands spacecraft to generate and transmit sun pointing telemetry
Earth vector, sun vector, sun sensor pixel values
ADCS_GET_ECLIPSE_TIME_CMD
Replies with next scheduled eclipse time
ADCS_SET_TR_STATE_CMD
Used to activate/deactivate torque rods remotely.
ADCS_SET_TR_POLARITY_CMD
Used to set the polarity of torque rods
ADCS_SET_TR_PWM_CMD
Used to directly set the PWM of torque rods.
Requires 2 additional input parameters - which torque rod to set and the PWM value to set to
ADCS_SET_GYRO_I2C_ADDRESS_CMD
Used to switch between primary and backup IMU - backup IMU has a different address
ADCS_SET_ECLIPSE_TIME_CMD
Schedules the next eclipse timeĀ
ADCS_PING_CMD
Send and receive a single byte to ADCS over SPI.
ADCS_SPI_SYNC_CMD
As SPI is a synchronous protocol, this transmits empty frames until ADCS is synchronized with CDH.
CDH_SCHEDULE_TTT_CMD
Schedules a time-tagged task. Any command in this document can be scheduled as a time-tagged task. This command has two arguments:
Time to execute task
Task to execute and task parameters (if applicable)
CDH_SET_TIME_CMD
Sets the current time on CDH
CDH_SET_DEPLOYMENT_STARTUP_STATE_CMD,
CDH_SET_DETUMBLING_STARTUP_STATE_CMD,
CDH_CLEAR_REBOOT_REASON_CMD,
CDH_FORCE_FW_STATE_CMD,
CDH_SET_FW_ARM_TIMEOUT_CMD,
CDH_WATCHDOG_DISABLE_CMD,
CDH_RQST_PWR_RESET_LOAD_CMD,
CDH_FW_IDLE_CMD
Set the IDLE state
CDH_FW_RX_FW_CMD
Set the RX_FW state
CDH_FW_PRE_VER_CMD
Run the pre-verify routine
CDH_FW_ARM_CMD
Arm CDH for update
CDH_FW_EXECUTE_CMD
Begin update
CDH_FW_EXECUTE_CONFIRM_CMD
Confirm update
CDH_FW_POST_VER_CMD
Verify update version is correct after update
CDH_GET_TIME_CMD
Replies with the current time on CDH
CDH_DOWNLOAD_LOG_FILE_CMD
Downloads a log file stored in non-volatile storage. Requires an argument for which filename to download
CDH_LIST_FILES_CMD
Lists files currently stored in non-volatile storage
CDH_LIST_FW_CMD
Lists firmware images stored in boot rom
CDH_GET_SPACECRAFT_STATUS_CMD,
CDH_GET_HW_STATUS_CMD,
CDH_FW_PUT_DATA_CMD,
CDH_FW_GET_STATE_CMD,
CDH_CHECKSUM_FILE_CMD,
CDH_MV_FILE_CMD,
CDH_RM_FILE_CMD,
CDH_CP_FILE_CMD,
CDH_CHECKSUM_PGRM_FLASH_CMD,
CDH_CP_TO_PGRM_FLASH_CMD,
CDH_GET_SW_VER_CMD,
CDH_GET_DES_VER_CMD,
CDH_GET_SPI_DIR_CMD,
CDH_GET_FS_FREE_SPACE_CMD,
CDH_FW_UPDATE_SPI_DIR_CMD,
CDH_FW_CREATE_SPI_DIR_CMD,
CDH_WRITE_PROG_FLASH_CMD,
CDH_ERASE_PROG_FLASH_CMD,
CDH_RESET_FW_MNGR_CMD,
CDH_FW_SET_CHECKSUM_CMD,
CDH_FW_SET_DESVER_CMD,
CDH_FORMAT_FS_CMD,
CDH_RESET_SYSTEM_CMD,
CDH_FW_RX_PROGRESS_CMD,
CDH_FW_PUT_DATA_2_CMD,
CDH_CHECKSUM_FILE_PART_CMD,
CDH_FILE_WRITE_CMD,
CDH_FILE_INSERT_CMD,
CDH_FILE_DELETE_CMD,