2#ifndef INCLUDE_GUARD__TELECOMMAND_ADCS_H
3#define INCLUDE_GUARD__TELECOMMAND_ADCS_H
9#define ABORT_CMD_FOR_FAILED_EXTRACT(x) uint8_t result = x; if (!(result)) { return result; }
10#define CHECK_ADCS_COMMAND_SUCCESS(x) if ((x)) { return x; }
13 char *response_output_buf, uint16_t response_output_buf_len);
16 char *response_output_buf, uint16_t response_output_buf_len);
19 char *response_output_buf, uint16_t response_output_buf_len);
22 char *response_output_buf, uint16_t response_output_buf_len);
25 char *response_output_buf, uint16_t response_output_buf_len);
28 char *response_output_buf, uint16_t response_output_buf_len);
31 char *response_output_buf, uint16_t response_output_buf_len);
34 char *response_output_buf, uint16_t response_output_buf_len);
37 char *response_output_buf, uint16_t response_output_buf_len);
40 char *response_output_buf, uint16_t response_output_buf_len);
43 char *response_output_buf, uint16_t response_output_buf_len);
46 char *response_output_buf, uint16_t response_output_buf_len);
49 char *response_output_buf, uint16_t response_output_buf_len);
52 char *response_output_buf, uint16_t response_output_buf_len);
55 char *response_output_buf, uint16_t response_output_buf_len);
58 char *response_output_buf, uint16_t response_output_buf_len);
61 char *response_output_buf, uint16_t response_output_buf_len);
64 char *response_output_buf, uint16_t response_output_buf_len);
67 char *response_output_buf, uint16_t response_output_buf_len);
70 char *response_output_buf, uint16_t response_output_buf_len);
73 char *response_output_buf, uint16_t response_output_buf_len);
76 char *response_output_buf, uint16_t response_output_buf_len);
79 char *response_output_buf, uint16_t response_output_buf_len);
82 char *response_output_buf, uint16_t response_output_buf_len);
85 char *response_output_buf, uint16_t response_output_buf_len);
88 char *response_output_buf, uint16_t response_output_buf_len);
91 char *response_output_buf, uint16_t response_output_buf_len);
94 char *response_output_buf, uint16_t response_output_buf_len);
97 char *response_output_buf, uint16_t response_output_buf_len);
100 char *response_output_buf, uint16_t response_output_buf_len);
103 char *response_output_buf, uint16_t response_output_buf_len);
106 char *response_output_buf, uint16_t response_output_buf_len);
109 char *response_output_buf, uint16_t response_output_buf_len);
112 char *response_output_buf, uint16_t response_output_buf_len);
115 char *response_output_buf, uint16_t response_output_buf_len);
118 char *response_output_buf, uint16_t response_output_buf_len);
121 char *response_output_buf, uint16_t response_output_buf_len);
124 char *response_output_buf, uint16_t response_output_buf_len);
127 char *response_output_buf, uint16_t response_output_buf_len);
130 char *response_output_buf, uint16_t response_output_buf_len);
133 char *response_output_buf, uint16_t response_output_buf_len);
136 char *response_output_buf, uint16_t response_output_buf_len);
139 char *response_output_buf, uint16_t response_output_buf_len);
142 char *response_output_buf, uint16_t response_output_buf_len);
145 char *response_output_buf, uint16_t response_output_buf_len);
148 char *response_output_buf, uint16_t response_output_buf_len);
151 char *response_output_buf, uint16_t response_output_buf_len);
154 char *response_output_buf, uint16_t response_output_buf_len);
157 char *response_output_buf, uint16_t response_output_buf_len);
160 char *response_output_buf, uint16_t response_output_buf_len);
163 char *response_output_buf, uint16_t response_output_buf_len);
166 char *response_output_buf, uint16_t response_output_buf_len);
169 char *response_output_buf, uint16_t response_output_buf_len);
172 char *response_output_buf, uint16_t response_output_buf_len);
175 char *response_output_buf, uint16_t response_output_buf_len);
178 char *response_output_buf, uint16_t response_output_buf_len);
181 char *response_output_buf, uint16_t response_output_buf_len);
184 char *response_output_buf, uint16_t response_output_buf_len);
187 char *response_output_buf, uint16_t response_output_buf_len);
190 char *response_output_buf, uint16_t response_output_buf_len);
193 char *response_output_buf, uint16_t response_output_buf_len);
196 char *response_output_buf, uint16_t response_output_buf_len);
199 char *response_output_buf, uint16_t response_output_buf_len);
202 char *response_output_buf, uint16_t response_output_buf_len);
205 char *response_output_buf, uint16_t response_output_buf_len);
208 char *response_output_buf, uint16_t response_output_buf_len);
211 char *response_output_buf, uint16_t response_output_buf_len);
214 char *response_output_buf, uint16_t response_output_buf_len);
217 char *response_output_buf, uint16_t response_output_buf_len);
220 char *response_output_buf, uint16_t response_output_buf_len);
223 char *response_output_buf, uint16_t response_output_buf_len);
226 char *response_output_buf, uint16_t response_output_buf_len);
229 char *response_output_buf, uint16_t response_output_buf_len);
232 char *response_output_buf, uint16_t response_output_buf_len);
235 char *response_output_buf, uint16_t response_output_buf_len);
238 char *response_output_buf, uint16_t response_output_buf_len);
241 char *response_output_buf, uint16_t response_output_buf_len);
uint8_t TCMDEXEC_adcs_set_magnetometer_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the magnetometer mode of the ADCS.
Definition telecommand_adcs.c:443
uint8_t TCMDEXEC_adcs_set_sd_log_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Repeatedly log given data from an SD card.
Definition telecommand_adcs.c:2000
uint8_t TCMDEXEC_adcs_fine_sun_vector(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1475
uint8_t TCMDEXEC_adcs_get_magnetorquer_command(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:934
uint8_t TCMDEXEC_adcs_set_rate_gyro_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1351
uint8_t TCMDEXEC_adcs_cubecontrol_current(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1772
uint8_t TCMDEXEC_adcs_reset(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:258
uint8_t TCMDEXEC_adcs_set_wheel_speed(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the wheel speed of the ADCS.
Definition telecommand_adcs.c:233
uint8_t TCMDEXEC_adcs_nadir_vector(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1502
uint8_t TCMDEXEC_adcs_download_index_file(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Get the list of downloadable files from the ADCS SD card as log messages.
Definition telecommand_adcs.c:1828
uint8_t TCMDEXEC_adcs_request_commissioning_telemetry(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request commissioning telemetry from the ADCS and save it to the onboard SD card.
Definition telecommand_adcs.c:2656
uint8_t TCMDEXEC_adcs_get_current_state_1(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1907
uint8_t TCMDEXEC_adcs_get_commanded_attitude_angles(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1043
uint8_t TCMDEXEC_adcs_measurements(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1799
uint8_t TCMDEXEC_adcs_save_orbit_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:870
uint8_t TCMDEXEC_adcs_track_sun(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Automatically track the sun with the ADCS.
Definition telecommand_adcs.c:650
uint8_t TCMDEXEC_adcs_acp_execution_state(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1879
uint8_t TCMDEXEC_adcs_format_sd(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Instruct the ADCS to format the SD card.
Definition telecommand_adcs.c:2854
uint8_t TCMDEXEC_adcs_set_commanded_attitude_angles(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1072
uint8_t TCMDEXEC_adcs_raw_coarse_sun_sensor_1_to_6(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1718
uint8_t TCMDEXEC_adcs_get_raw_magnetometer_values(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the raw magnetometer values from the ADCS.
Definition telecommand_adcs.c:962
uint8_t TCMDEXEC_adcs_set_magnetometer_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:723
uint8_t TCMDEXEC_adcs_set_augmented_sgp4_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1212
uint8_t TCMDEXEC_adcs_raw_cam1_sensor(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1664
uint8_t TCMDEXEC_adcs_magnetic_field_vector(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1448
uint8_t TCMDEXEC_adcs_exit_bootloader(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: If the ADCS is currently stuck in the bootloader, run the internal flash program (CubeAC...
Definition telecommand_adcs.c:2881
uint8_t TCMDEXEC_adcs_raw_cam2_sensor(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1691
uint8_t TCMDEXEC_adcs_communication_status(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:322
uint8_t TCMDEXEC_adcs_estimated_attitude_angles(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1421
uint8_t TCMDEXEC_adcs_get_estimation_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1169
uint8_t TCMDEXEC_adcs_erase_sd_file(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Instruct the ADCS to erase a file from the SD card.
Definition telecommand_adcs.c:2864
uint8_t TCMDEXEC_adcs_estimate_fine_angular_rates(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:989
uint8_t TCMDEXEC_adcs_set_unix_time_save_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Choose the circumstances to save the current Unix time.
Definition telecommand_adcs.c:759
uint8_t TCMDEXEC_adcs_attitude_estimation_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:416
uint8_t TCMDEXEC_adcs_bootloader_clear_errors(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:746
uint8_t TCMDEXEC_adcs_run_once(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: If ADCS run mode is Triggered, run the ADCS sensor loop.
Definition telecommand_adcs.c:433
uint8_t TCMDEXEC_adcs_synchronize_unix_time(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Synchronize the current ADCS Unix epoch time.
Definition telecommand_adcs.c:1959
uint8_t TCMDEXEC_adcs_download_sd_file(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Download a specific file from the ADCS SD card.
Definition telecommand_adcs.c:1861
uint8_t TCMDEXEC_adcs_program_status(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:295
uint8_t TCMDEXEC_adcs_set_magnetorquer_output(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the magnetorquer output values.
Definition telecommand_adcs.c:462
uint8_t TCMDEXEC_adcs_generic_telemetry_request(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: obtain generic telemetry from the ADCS.
Definition telecommand_adcs.c:122
uint8_t TCMDEXEC_adcs_identification(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:268
uint8_t TCMDEXEC_adcs_get_unix_time_save_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:787
uint8_t TCMDEXEC_adcs_get_llh_position(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:521
uint8_t TCMDEXEC_adcs_save_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:484
uint8_t TCMDEXEC_adcs_set_sgp4_orbit_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the ADCS Simplified General Perturbations (SGP4) orbit parameters.
Definition telecommand_adcs.c:821
uint8_t TCMDEXEC_adcs_enter_low_power_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Put the ADCS in low-power mode, with only essential component power.
Definition telecommand_adcs.c:609
uint8_t TCMDEXEC_adcs_get_wheel_speed(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:907
uint8_t TCMDEXEC_adcs_generic_command(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: execute a generic command on the ADCS.
Definition telecommand_adcs.c:27
uint8_t TCMDEXEC_adcs_igrf_magnetic_field_vector(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1556
uint8_t TCMDEXEC_adcs_save_image_to_sd(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Save an image to the ADCS onboard SD card.
Definition telecommand_adcs.c:1935
uint8_t TCMDEXEC_adcs_deploy_magnetometer(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:349
uint8_t TCMDEXEC_adcs_get_sd_log_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Retrieve the current ADCS SD log configuration.
Definition telecommand_adcs.c:2048
uint8_t TCMDEXEC_adcs_set_estimation_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1110
uint8_t TCMDEXEC_adcs_set_tracking_controller_target_reference(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the ADCS tracking controller target reference (location on Earth to point towards)
Definition telecommand_adcs.c:1295
uint8_t TCMDEXEC_adcs_get_tracking_controller_target_reference(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1318
uint8_t TCMDEXEC_adcs_get_sgp4_orbit_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:843
uint8_t TCMDEXEC_adcs_attitude_control_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the attitude control mode of the ADCS; needs Power Control to be set before working.
Definition telecommand_adcs.c:394
uint8_t TCMDEXEC_adcs_quaternion_error_vector(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1583
uint8_t TCMDEXEC_adcs_set_power_control(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the power control mode of each component of the ADCS; for each, 0 turns the componen...
Definition telecommand_adcs.c:584
uint8_t TCMDEXEC_adcs_estimate_angular_rates(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:494
uint8_t TCMDEXEC_adcs_commanded_wheel_speed(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1529
uint8_t TCMDEXEC_adcs_set_run_mode(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:366
uint8_t TCMDEXEC_adcs_raw_coarse_sun_sensor_7_to_10(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1745
uint8_t TCMDEXEC_adcs_get_power_control(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:548
uint8_t TCMDEXEC_adcs_estimated_gyro_bias(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1610
uint8_t TCMDEXEC_adcs_fine_angular_rates(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
uint8_t TCMDEXEC_adcs_estimation_innovation_vector(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1637
uint8_t TCMDEXEC_adcs_get_magnetometer_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1016
uint8_t TCMDEXEC_adcs_get_augmented_sgp4_params(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1266
uint8_t TCMDEXEC_adcs_rate_sensor_rates(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:880
uint8_t TCMDEXEC_adcs_set_commissioning_modes(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Set the run, power control, estimation, and control parameters for a given commissioning...
Definition telecommand_adcs.c:2086
uint8_t TCMDEXEC_adcs_clear_errors(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:383
uint8_t TCMDEXEC_adcs_get_rate_gyro_config(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:1394
uint8_t TCMDEXEC_adcs_generic_bootloader_command(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: execute a generic command on the ADCS bootloader.
Definition telecommand_adcs.c:74
uint8_t TCMDEXEC_adcs_get_current_unix_time(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Retrieve the current ADCS Unix epoch time.
Definition telecommand_adcs.c:1969
uint8_t TCMDEXEC_adcs_ack(const char *args_str, char *response_output_buf, uint16_t response_output_buf_len)
Telecommand: Request the given telemetry data from the ADCS.
Definition telecommand_adcs.c:204