canlib
-
struct can_msg_t
-
struct can_timing_t
- file can.h
- #include <stdbool.h>#include <stdint.h>
Defines
-
CANLIB_BIT_TIME_US
Typedefs
-
typedef uint32_t can_sid_t
-
CANLIB_BIT_TIME_US
- file msg_actuator.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.h”
Functions
-
bool 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)
-
bool build_actuator_analog_cmd_msg(can_msg_prio_t prio, uint32_t timestamp, can_actuator_id_t actuator_id, uint16_t actuator_cmd, can_msg_t *output)
-
bool 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_id_t actuator_cmd_state, can_msg_t *output)
-
bool 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)
- file msg_common.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.h”
- file msg_general.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.h”
Functions
-
bool 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)
-
bool 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)
-
bool build_debug_raw_msg(can_msg_prio_t prio, uint16_t timestamp, const uint8_t *data, can_msg_t *output)
-
bool 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)
-
bool 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 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)
- file msg_gps.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.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 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)
- file msg_recovery.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.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 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)
- file msg_sensor.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.h”
Functions
-
bool build_temp_data_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t sensor_num, int32_t temp, can_msg_t *output)
-
bool build_altitude_data_msg(can_msg_prio_t prio, uint16_t timestamp, int32_t altitude, can_apogee_state_t apogee_state, can_msg_t *output)
-
bool build_imu_data_msg(can_msg_prio_t prio, uint16_t timestamp, char axis, can_imu_id_t imu_id, uint16_t linear_accel, uint16_t angular_velocity, can_msg_t *output)
-
bool build_mag_data_msg(can_msg_prio_t prio, uint16_t timestamp, char axis, can_imu_id_t imu_id, uint16_t mag_value, can_msg_t *output)
-
bool build_baro_data_msg(can_msg_prio_t prio, uint16_t timestamp, can_imu_id_t imu_id, uint32_t pressure, uint16_t temp, can_msg_t *output)
-
bool build_analog_data_msg(can_msg_prio_t prio, uint16_t timestamp, can_analog_sensor_id_t sensor_id, uint16_t sensor_data, can_msg_t *output)
Build an analog sensor data CAN message.
- Parameters:
prio – Message priority
timestamp – 16 bits timestamp generated by millis() function
sensor_id – Sensor ID
sensor_data – 16 bits sensor data, unit is depends on sensor ID
output – Buffer for generated CAN message
- Returns:
true is message is generated correctly
-
bool get_altitude_data(const can_msg_t *msg, int32_t *altitude, can_apogee_state_t *apogee_state)
-
bool get_imu_mag_id_dimension(const can_msg_t *msg, can_imu_id_t *imu_id, char *dimension)
-
bool get_baro_data(const can_msg_t *msg, can_imu_id_t *imu_id, uint32_t *pressure, uint16_t *temp)
-
bool get_analog_data(const can_msg_t *msg, can_analog_sensor_id_t *sensor_id, uint16_t *output_data)
-
bool build_temp_data_msg(can_msg_prio_t prio, uint16_t timestamp, uint8_t sensor_num, int32_t temp, can_msg_t *output)
- file msg_state_est.h
- #include <stdbool.h>#include <stdint.h>#include “can.h”#include “message_types.h”
Functions
-
bool build_state_est_data_msg(can_msg_prio_t prio, uint16_t timestamp, can_state_est_id_t state_id, const float *state_data, can_msg_t *output)
-
bool get_state_est_data(const can_msg_t *msg, can_state_est_id_t *state_id, float *state_data)
-
bool build_state_est_data_msg(can_msg_prio_t prio, uint16_t timestamp, can_state_est_id_t state_id, const float *state_data, can_msg_t *output)
- file message_types.h
Enums
-
enum can_msg_prio_t
Values:
-
enumerator PRIO_HIGHEST
-
enumerator PRIO_HIGH
-
enumerator PRIO_MEDIUM
-
enumerator PRIO_LOW
-
enumerator PRIO_HIGHEST
-
enum can_msg_type_t
Values:
-
enumerator MSG_GENERAL_BOARD_STATUS
-
enumerator MSG_RESET_CMD
-
enumerator MSG_DEBUG_RAW
-
enumerator MSG_CONFIG_SET
-
enumerator MSG_CONFIG_STATUS
-
enumerator MSG_ACTUATOR_CMD
-
enumerator MSG_ACTUATOR_ANALOG_CMD
-
enumerator MSG_ACTUATOR_STATUS
-
enumerator MSG_ALT_ARM_CMD
-
enumerator MSG_ALT_ARM_STATUS
-
enumerator MSG_SENSOR_TEMP
-
enumerator MSG_SENSOR_ALTITUDE
-
enumerator MSG_SENSOR_IMU_X
-
enumerator MSG_SENSOR_IMU_Y
-
enumerator MSG_SENSOR_IMU_Z
-
enumerator MSG_SENSOR_MAG_X
-
enumerator MSG_SENSOR_MAG_Y
-
enumerator MSG_SENSOR_MAG_Z
-
enumerator MSG_SENSOR_BARO
-
enumerator MSG_SENSOR_ANALOG
-
enumerator MSG_GPS_TIMESTAMP
-
enumerator MSG_GPS_LATITUDE
-
enumerator MSG_GPS_LONGITUDE
-
enumerator MSG_GPS_ALTITUDE
-
enumerator MSG_GPS_INFO
-
enumerator MSG_STATE_EST_DATA
-
enumerator MSG_LEDS_ON
-
enumerator MSG_LEDS_OFF
-
enumerator MSG_ID_ENUM_MAX
-
enumerator MSG_GENERAL_BOARD_STATUS
-
enum can_board_type_id_t
Values:
-
enumerator BOARD_TYPE_ID_ANY
-
enumerator BOARD_TYPE_ID_INJ_SENSOR
-
enumerator BOARD_TYPE_ID_CANARD_MOTOR
-
enumerator BOARD_TYPE_ID_CAMERA
-
enumerator BOARD_TYPE_ID_POWER
-
enumerator BOARD_TYPE_ID_LOGGER
-
enumerator BOARD_TYPE_ID_PROCESSOR
-
enumerator BOARD_TYPE_ID_TELEMETRY
-
enumerator BOARD_TYPE_ID_GPS
-
enumerator BOARD_TYPE_ID_SRAD_GNSS
-
enumerator BOARD_TYPE_ID_ALTIMETER
-
enumerator BOARD_TYPE_ID_ARMING
-
enumerator BOARD_TYPE_ID_PAY_SENSOR
-
enumerator BOARD_TYPE_ID_PAY_MOTOR
-
enumerator BOARD_TYPE_ID_RLCS_GLS
-
enumerator BOARD_TYPE_ID_RLCS_RELAY
-
enumerator BOARD_TYPE_ID_DAQ
-
enumerator BOARD_TYPE_ID_ANY
-
enum can_board_inst_id_t
Values:
-
enumerator BOARD_INST_ID_ANY
-
enumerator BOARD_INST_ID_GROUND
-
enumerator BOARD_INST_ID_ROCKET
-
enumerator BOARD_INST_ID_PAYLOAD
-
enumerator BOARD_INST_ID_ANY
-
enum can_board_inst_id_canard_motor_t
Values:
-
enumerator BOARD_INST_ID_CANARD_MOTOR_PRIMARY
-
enumerator BOARD_INST_ID_CANARD_MOTOR_FAILSAFE
-
enumerator BOARD_INST_ID_CANARD_MOTOR_PRIMARY
-
enum can_board_inst_id_camera_t
Values:
-
enumerator BOARD_INST_ID_CAMERA_CANARD_A
-
enumerator BOARD_INST_ID_CAMERA_CANARD_B
-
enumerator BOARD_INST_ID_CAMERA_RECOVERY
-
enumerator BOARD_INST_ID_CAMERA_CANARD_A
-
enum can_actuator_id_t
Values:
-
enumerator ACTUATOR_OX_INJECTOR_VALVE
-
enumerator ACTUATOR_FUEL_INJECTOR_VALVE
-
enumerator ACTUATOR_ROCKET_CHARGE_ENABLE
-
enumerator ACTUATOR_PAYLOAD_CHARGE_ENABLE
-
enumerator ACTUATOR_5V_RAIL_ROCKET
-
enumerator ACTUATOR_5V_RAIL_PAYLOAD
-
enumerator ACTUATOR_12V_RAIL_ROCKET
-
enumerator ACTUATOR_12V_RAIL_PAYLOAD
-
enumerator ACTUATOR_TELEMETRY
-
enumerator ACTUATOR_CAMERA_CANARD_A
-
enumerator ACTUATOR_CAMERA_CANARD_B
-
enumerator ACTUATOR_CAMERA_RECOVERY
-
enumerator ACTUATOR_CAMERA_PAYLOAD
-
enumerator ACTUATOR_PROC_ESTIMATOR_INIT
-
enumerator ACTUATOR_SRAD_ALT_ESTIMATOR_INIT
-
enumerator ACTUATOR_SRAD_ALT_GPS_RESET
-
enumerator ACTUATOR_CANARD_ENABLE
-
enumerator ACTUATOR_CANARD_ANGLE
-
enumerator ACTUATOR_PAYLOAD_MOTOR_ENABLE
-
enumerator ACTUATOR_PAYLOAD_LOGGING_ENABLE
-
enumerator ACTUATOR_ENUM_MAX
-
enumerator ACTUATOR_OX_INJECTOR_VALVE
-
enum can_actuator_state_t
Values:
-
enumerator ACT_STATE_ON
-
enumerator ACT_STATE_OFF
-
enumerator ACT_STATE_UNK
-
enumerator ACT_STATE_ILLEGAL
-
enumerator ACT_STATE_ENUM_MAX
-
enumerator ACT_STATE_ON
-
enum can_altimeter_id_t
Values:
-
enumerator ALTIMETER_ROCKET_RAVEN
-
enumerator ALTIMETER_ROCKET_STRATOLOGGER
-
enumerator ALTIMETER_ROCKET_SRAD
-
enumerator ALTIMETER_PAYLOAD_RAVEN
-
enumerator ALTIMETER_PAYLOAD_STRATOLOGGER
-
enumerator ALTIMETER_ENUM_MAX
-
enumerator ALTIMETER_ROCKET_RAVEN
-
enum can_alt_arm_state_t
Values:
-
enumerator ALT_ARM_STATE_DISARMED
-
enumerator ALT_ARM_STATE_ARMED
-
enumerator ALT_ARM_STATE_ENUM_MAX
-
enumerator ALT_ARM_STATE_DISARMED
-
enum can_imu_id_t
Values:
-
enumerator IMU_PROC_ALTIMU10
-
enumerator IMU_PROC_MTI630
-
enumerator IMU_PROC_LSM6DSO32
-
enumerator IMU_SRAD_ALT_ALTIMU10
-
enumerator IMU_ENUM_MAX
-
enumerator IMU_PROC_ALTIMU10
-
enum can_analog_sensor_id_t
Values:
-
enumerator SENSOR_5V_VOLT
-
enumerator SENSOR_5V_CURR
-
enumerator SENSOR_12V_VOLT
-
enumerator SENSOR_12V_CURR
-
enumerator SENSOR_CHARGE_VOLT
-
enumerator SENSOR_CHARGE_CURR
-
enumerator SENSOR_BATT_VOLT
-
enumerator SENSOR_BATT_CURR
-
enumerator SENSOR_MOTOR_CURR
-
enumerator SENSOR_RADIO_CURR
-
enumerator SENSOR_GPS_CURR
-
enumerator SENSOR_LOCAL_CURR
-
enumerator SENSOR_PT_CHANNEL_0
-
enumerator SENSOR_PT_CHANNEL_1
-
enumerator SENSOR_PT_CHANNEL_2
-
enumerator SENSOR_PT_CHANNEL_3
-
enumerator SENSOR_PT_CHANNEL_4
-
enumerator SENSOR_HALL_CHANNEL_0
-
enumerator SENSOR_BARO_PRESSURE
-
enumerator SENSOR_BARO_TEMP
-
enumerator SENSOR_RA_BATT_VOLT_1
-
enumerator SENSOR_RA_BATT_VOLT_2
-
enumerator SENSOR_RA_BATT_CURR_1
-
enumerator SENSOR_RA_BATT_CURR_2
-
enumerator SENSOR_RA_MAG_VOLT_1
-
enumerator SENSOR_RA_MAG_VOLT_2
-
enumerator SENSOR_FPS
-
enumerator SENSOR_CANARD_ENCODER_1
-
enumerator SENSOR_CANARD_ENCODER_2
-
enumerator SENSOR_PROC_FLIGHT_PHASE_STATUS
-
enumerator SENSOR_PAYLOAD_LIM_1
-
enumerator SENSOR_PAYLOAD_LIM_2
-
enumerator SENSOR_PAYLOAD_SERVO_DIRECTION
-
enumerator SENSOR_PAYLOAD_INFRARED
-
enumerator SENSOR_HALL_CHANNEL_1
-
enumerator SENSOR_HALL_CHANNEL_2
-
enumerator SENSOR_ENUM_MAX
-
enumerator SENSOR_5V_VOLT
-
enum can_state_est_id_t
Values:
-
enumerator STATE_ID_ATT_Q0
-
enumerator STATE_ID_ATT_Q1
-
enumerator STATE_ID_ATT_Q2
-
enumerator STATE_ID_ATT_Q3
-
enumerator STATE_ID_RATE_WX
-
enumerator STATE_ID_RATE_WY
-
enumerator STATE_ID_RATE_WZ
-
enumerator STATE_ID_VEL_VX
-
enumerator STATE_ID_VEL_VY
-
enumerator STATE_ID_VEL_VZ
-
enumerator STATE_ID_ALT
-
enumerator STATE_ID_COEFF_CL
-
enumerator STATE_ID_CANARD_ANGLE
-
enumerator STATE_ID_ENUM_MAX
-
enumerator STATE_ID_ATT_Q0
-
enum can_apogee_state_t
Values:
-
enumerator APOGEE_UNKNOWN
-
enumerator APOGEE_NOT_REACHED
-
enumerator APOGEE_REACHED
-
enumerator APOGEE_ENUM_MAX
-
enumerator APOGEE_UNKNOWN
-
enum can_general_board_status_offset_t
Values:
-
enumerator E_5V_OVER_CURRENT_OFFSET
-
enumerator E_5V_OVER_VOLTAGE_OFFSET
-
enumerator E_5V_UNDER_VOLTAGE_OFFSET
-
enumerator E_12V_OVER_CURRENT_OFFSET
-
enumerator E_12V_OVER_VOLTAGE_OFFSET
-
enumerator E_12V_UNDER_VOLTAGE_OFFSET
-
enumerator E_BATT_OVER_CURRENT_OFFSET
-
enumerator E_BATT_OVER_VOLTAGE_OFFSET
-
enumerator E_BATT_UNDER_VOLTAGE_OFFSET
-
enumerator E_MOTOR_OVER_CURRENT_OFFSET
-
enumerator E_IO_ERROR_OFFSET
-
enumerator E_FS_ERROR_OFFSET
-
enumerator E_WATCHDOG_TIMEOUT_OFFSET
-
enumerator E_5V_OVER_CURRENT_OFFSET
-
enum can_msg_prio_t
- dir /home/jason/projects/rocketry/canlib-doxygen
- dir /home/jason/projects/rocketry/canlib-doxygen/message