1#ifndef __MCU_INTERFACE_H__
2#define __MCU_INTERFACE_H__
134 bool pack_charge_is_critical,
135 bool button_is_pressed);
Circular_Buffer< uint8_t,(uint32_t) 128, sizeof(CAN_message_t)> CANBufferType
void update_mcu_status_CAN_pedals(const PedalsSystemData_s &pedals)
void update_mcu_status_CAN_drivetrain(bool has_error)
bool shutdown_e_above_threshold
MainECUHardwareReadPins pins_
void enable_inverters_pin()
void update_mcu_status_CAN_fsm(int fsm_state)
MCUInterface(CANBufferType *msg_output_queue)
bool shutdown_d_above_threshold
void measure_shutdown_circuit_input()
bool shutdown_b_above_threshold
void enqueue_CAN_mcu_status()
bool shutdown_g_above_threshold
void tick(int fsm_state, bool inv_has_error, bool software_is_ok, const TorqueControllerMuxStatus &tc_mux_status, bool buzzer_is_on, const PedalsSystemData_s &pedals_data, bool pack_charge_is_critical, bool button_is_pressed)
void update_mcu_status_CAN_buzzer(bool is_on)
CANBufferType * msg_queue_
void update_mcu_status_CAN_ams(bool is_critical)
MCUInterface(CANBufferType *msg_output_queue, const MainECUHardwareReadPins &pins)
void update_brake_pressure_CAN()
void set_brake_light(bool brake_pedal_is_active)
void update_mcu_status_CAN_TCMux(int drive_mode, int torque_mode, float max_torque)
void disable_inverters_pin()
void update_mcu_status_CAN_safety(bool is_ok)
void measure_shutdown_circuit_voltage()
void update_mcu_status_CAN()
void update_mcu_status_CAN_dashboard(bool is_active)
bool shutdown_c_above_threshold
const int DEFAULT_INVERTER_ENABLE
const int DEFAULT_BMS_SENSE_PIN
const int DEFAULT_IMD_SENSE_PIN
const int DEFAULT_BRAKE_PRESSURE_SENSOR_READ
const int DEFAULT_IMD_OK_READ
const int DEFAULT_INVERTER_24V_ENABLE
const int DEFAULT_BRAKE_LIGHT_CTRL
const int DEFAULT_BRB_OK_READ
const int DEFAULT_SOFTWARE_OK_READ
const int DEFAULT_BOTS_OK_READ
const int DEFAULT_BSPD_OK_READ
const int DEFAULT_BMS_OK_READ
specifically designed so that Walker would be happy
int pin_brake_pressure_sensor_read
packages TC Mux indicators: errors, mode, torque limit, bypass