1#ifndef __SUBSYSTEMS_INTERFACES_H
2#define __SUBSYSTEMS_INTERFACES_H
4#include "subsystems_types.h"
8 virtual void init() = 0;
9 virtual uint8_t get_message(Topic_Name_t topic,
void* data_ptr,
10 int ticks_to_wait) = 0;
11 virtual uint8_t peek_message(Topic_Name_t topic,
void* data_ptr,
12 int ticks_to_wait) = 0;
13 virtual uint8_t pub_message(Topic_Name_t topic,
void* data_ptr) = 0;
14 virtual uint8_t pub_message_from_isr(Topic_Name_t topic,
void* data_ptr,
15 uint8_t* will_context_switch) = 0;
21 virtual void init(Motor_Config_t config) = 0;
22 virtual bool is_valid_output(
size_t motor_index, int32_t new_output) = 0;
23 virtual void set_motor_voltage(uint32_t can_id, int32_t output) = 0;
24 virtual void send_motor_voltage() = 0;
25 virtual void request_feedback(Motor_CAN_ID_t can_id) = 0;
26 virtual void get_raw_feedback(uint32_t stdid, uint8_t data[8],
28 virtual Motor_Brand_t get_motor_brand(uint32_t stdid) = 0;
33 virtual void init() = 0;
34 virtual float get_temp() = 0;
35 virtual void get_attitude(
Attitude_t& attitude) = 0;
37 virtual void set_heat_pwm(uint16_t duty_cycle) = 0;
38 virtual void gather_sensor_data(
AhrsSensor_t& sensor,
bool read_mag) = 0;
43 virtual void init() = 0;
44 virtual void set_ui_data(referee_ui_type_t ui_type, uint8_t robot_id,
46 virtual void send_ui_data(uint16_t cmd_id, uint16_t len,
47 referee_ui_type_t ui_type) = 0;
48 virtual void draw_marks() = 0;
49 virtual void draw_vaild_info(uint32_t act_mode, uint32_t level) = 0;
54 virtual void init() = 0;
55 virtual UARM_Events_t wait_events(UARM_Events_t wait_events,
56 uint32_t timeout) = 0;
57 virtual void emit_events(UARM_Events_t new_events) = 0;
58 virtual void clear_events(UARM_Events_t clear_events) = 0;
59 virtual bool sync_tasks(Sync_Event_t sync_event, UARM_Events_t set_task,
60 uint32_t timeout) = 0;
65 virtual BoardStatus_t get_board_status(
void) = 0;
66 virtual void set_led_state(Board_LED_t led, Board_LED_State_t state) = 0;
71 virtual void init() = 0;
72 virtual void can_transmit_comm_message(uint8_t send_data[8],
73 uint32_t comm_id) = 0;
78 virtual void init() = 0;
79 virtual void set_lid_status(EAmmoLidStatus new_status) = 0;
85 virtual void buffer_init(Buffer& buffer) = 0;
86 virtual void key_object_init(
KeyObject& key) = 0;
87 virtual void keyboard_init(
Keyboard& keyboard) = 0;
88 virtual void mouse_init(
Mouse& mouse) = 0;
89 virtual void pc_init(
PC& pc) = 0;
90 virtual void controller_init(
Controller& controller) = 0;
91 virtual void parse_switches(Buffer& buffer, ESwitchState& s1,
92 ESwitchState& s2) = 0;
93 virtual void parse_controller(Buffer& buffer,
Controller& controller) = 0;
94 virtual void parse_pc(Buffer& buffer,
PC& pc) = 0;
95 virtual void key_scan(
KeyObject& key, uint16_t key_buffer,
96 EKeyBitIndex key_bit_index) = 0;
101 virtual uint8_t uc_check_pack_integrity(uint8_t* pack_bytes,
103 virtual void send_bytes(uint8_t* bytes, uint32_t size);
104 virtual uint8_t get_data_size(uint8_t header_id);
105 virtual void start_receive(uint8_t* pack_buffer);
106 virtual void restart_receive(uint8_t* pack_buffer);
107 virtual UC_Checksum_t calc_checksum(
void* buffer_ptr,
size_t buffer_size);
108 virtual uint8_t is_valid_header(uint8_t* input_buffer);
Definition subsystems_interfaces.h:76
Definition subsystems_interfaces.h:69
Definition subsystems_interfaces.h:63
Definition subsystems_interfaces.h:52
Definition subsystems_interfaces.h:31
Definition subsystems_interfaces.h:6
Definition subsystems_interfaces.h:19
Definition subsystems_interfaces.h:99
Definition subsystems_interfaces.h:82
Definition subsystems_interfaces.h:41
Definition attitude_types.h:9
Definition attitude_types.h:28
Definition subsystems_types.h:503
Definition subsystems_types.h:514
Definition subsystems_types.h:520
Definition subsystems_types.h:539
Definition subsystems_types.h:549
Definition subsystems_types.h:145
Definition subsystems_types.h:435