CAN Message Serialization function reference

msg_actuator.h

Functions

void build_actuator_cmd_msg(can_msg_prio_t prio, uint16_t timestamp, can_actuator_id_t actuator_id, can_actuator_state_t actuator_cmd, can_msg_t *output)
void build_actuator_status_msg(can_msg_prio_t prio, uint16_t timestamp, can_actuator_id_t actuator_id, can_actuator_state_t actuator_curr_state, can_actuator_state_t actuator_cmd_state, can_msg_t *output)
int get_actuator_id(const can_msg_t *msg)
int get_curr_actuator_state(const can_msg_t *msg)
int get_cmd_actuator_state(const can_msg_t *msg)

msg_common.h

Defines

BOARD_TYPE_UNIQUE_ID
BOARD_INST_UNIQUE_ID

Functions

static inline uint32_t build_sid(can_msg_prio_t prio, can_msg_type_t msg_type, uint8_t metadata)
static inline can_msg_type_t get_message_type(const can_msg_t *msg)
static inline uint8_t get_board_type_unique_id(const can_msg_t *msg)
static inline uint8_t get_board_inst_unique_id(const can_msg_t *msg)
static inline uint8_t get_message_metadata(const can_msg_t *msg)
static inline void write_timestamp(uint16_t timestamp, can_msg_t *output)
static inline uint16_t get_timestamp(const can_msg_t *msg)

msg_general.h

Functions

void build_general_board_status_msg(can_msg_prio_t prio, uint16_t timestamp, uint32_t general_error_bitfield, uint16_t board_specific_error_bitfield, can_msg_t *output)
void build_reset_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t board_type_id, uint8_t board_inst_id, can_msg_t *output)
void build_debug_raw_msg(can_msg_prio_t prio, uint16_t timestamp, const uint8_t *data, can_msg_t *output)
void build_config_set_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t board_type_id, uint8_t board_inst_id, uint16_t config_id, uint16_t config_value, can_msg_t *output)
void build_config_status_msg(can_msg_prio_t prio, uint16_t timestamp, uint16_t config_id, uint16_t config_value, can_msg_t *output)
bool get_general_board_status(const can_msg_t *msg, uint32_t *general_error_bitfield, uint16_t *board_specific_error_bitfield)
bool get_reset_board_id(const can_msg_t *msg, uint8_t *board_type_id, uint8_t *board_inst_id)
bool check_board_need_reset(const can_msg_t *msg)
bool get_debug_raw_data(const can_msg_t *msg, uint8_t *data)
bool get_config_set_target_board(const can_msg_t *msg, uint8_t *board_type_id, uint8_t *board_inst_id)
bool get_config_id_value(const can_msg_t *msg, uint16_t *config_id, uint16_t *config_value)

msg_gps.h

Functions

bool build_gps_time_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t utc_hours, uint8_t utc_mins, uint8_t utc_secs, uint8_t utc_dsecs, can_msg_t *output)
bool build_gps_lat_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t degrees, uint8_t minutes, uint16_t dminutes, uint8_t direction, can_msg_t *output)
bool build_gps_lon_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t degrees, uint8_t minutes, uint16_t dminutes, uint8_t direction, can_msg_t *output)
bool build_gps_alt_msg(can_msg_prio_t prio, uint16_t timestamp, uint16_t altitude, uint8_t daltitude, uint8_t units, can_msg_t *output)
bool build_gps_info_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t num_sat, uint8_t quality, can_msg_t *output)
bool get_gps_time(const can_msg_t *msg, uint8_t *utc_hours, uint8_t *utc_mins, uint8_t *utc_secs, uint8_t *utc_dsecs)
bool get_gps_lat(const can_msg_t *msg, uint8_t *degrees, uint8_t *minutes, uint16_t *dminutes, uint8_t *direction)
bool get_gps_lon(const can_msg_t *msg, uint8_t *degrees, uint8_t *minutes, uint16_t *dminutes, uint8_t *direction)
bool get_gps_alt(const can_msg_t *msg, uint16_t *altitude, uint8_t *daltitude, uint8_t *units)
bool get_gps_info(const can_msg_t *msg, uint8_t *num_sat, uint8_t *quality)

msg_recovery.h

Functions

bool build_alt_arm_cmd_msg(can_msg_prio_t prio, uint16_t timestamp, can_altimeter_id_t alt_id, can_alt_arm_state_t arm_cmd, can_msg_t *output)
bool build_alt_arm_status_msg(can_msg_prio_t prio, uint16_t timestamp, can_altimeter_id_t alt_id, can_alt_arm_state_t arm_state, uint16_t v_drogue, uint16_t v_main, can_msg_t *output)
bool get_alt_arm_state(const can_msg_t *msg, can_altimeter_id_t *alt_id, can_alt_arm_state_t *arm_state)
bool get_pyro_voltage_data(const can_msg_t *msg, uint16_t *v_drogue, uint16_t *v_main)

msg_sensor.h

Functions

void build_analog_data_16bit_msg(can_msg_prio_t prio, uint16_t timestamp, can_analog_sensor_id_t sensor_id, uint16_t sensor_data, can_msg_t *output)
void build_analog_data_32bit_msg(can_msg_prio_t prio, uint16_t timestamp, can_analog_sensor_id_t sensor_id, uint32_t sensor_data, can_msg_t *output)
void build_dem_analog_data_16bit_msg(can_msg_prio_t prio, uint16_t timestamp, can_dem_sensor_id_t dem_sensor_id, uint16_t sensor_data_x, uint16_t sensor_data_y, uint16_t sensor_data_z, can_msg_t *output)
bool msg_is_sensor_data(const can_msg_t *msg)
bool get_analog_data_16bit(const can_msg_t *msg, can_analog_sensor_id_t *sensor_id, uint16_t *output_data)
bool get_analog_data_32bit(const can_msg_t *msg, can_analog_sensor_id_t *sensor_id, uint32_t *output_data)
bool get_dem_analog_data_16bit(const can_msg_t *msg, can_dem_sensor_id_t *dem_sensor_id, uint16_t *output_data_x, uint16_t *output_data_y, uint16_t *output_data_z)

msg_stream.h

Defines

STREAM_DATA_MAX_PAYLOAD_LEN

Functions

bool build_stream_status_msg(can_msg_prio_t prio, uint16_t timestamp, uint32_t total_size, uint32_t tx_size, can_msg_t *output)
bool build_stream_data_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t seq_id, const uint8_t *payload, uint8_t payload_len, can_msg_t *output)
bool build_stream_retry_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t seq_id, can_msg_t *output)
bool get_stream_status(const can_msg_t *msg, uint32_t *total_size, uint32_t *tx_size)
bool get_stream_data(const can_msg_t *msg, uint8_t *seq_id, uint8_t *payload, uint8_t *payload_len)
bool get_stream_retry_seq_id(const can_msg_t *msg, uint8_t *seq_id)