48 CanSender<::apollo::canbus::Demo>*
const can_sender,
49 MessageManager<::apollo::canbus::Demo>*
const message_manager)
override;
51 bool Start()
override;
71 void Emergency()
override;
83 void Brake(
double acceleration)
override;
87 void Throttle(
double throttle)
override;
91 void Acceleration(
double acc)
override;
95 void Speed(
double speed);
99 void Steer(
double angle)
override;
104 void Steer(
double angle,
double angle_spd)
override;
117 bool VerifyID()
override;
121 void ResetProtocol();
122 bool CheckChassisError();
125 void SecurityDogThreadFunc();
126 virtual bool CheckResponse(
const int32_t flags,
bool need_wait);
127 void set_chassis_error_mask(
const int32_t mask);
128 int32_t chassis_error_mask();
142 std::unique_ptr<std::thread> thread_;
143 bool is_chassis_error_ =
false;
145 std::mutex chassis_error_code_mutex_;
148 std::mutex chassis_mask_mutex_;
149 int32_t chassis_error_mask_ = 0;