49 CanSender<::apollo::canbus::Gem>*
const can_sender,
50 MessageManager<::apollo::canbus::Gem>*
const message_manager)
override;
52 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 Steer(
double angle)
override;
100 void Steer(
double angle,
double angle_spd)
override;
110 bool VerifyID()
override;
111 void ResetProtocol();
112 bool CheckChassisError();
115 void SecurityDogThreadFunc();
116 virtual bool CheckResponse(
const int32_t flags,
bool need_wait);
117 void set_chassis_error_mask(
const int32_t mask);
118 int32_t chassis_error_mask();
132 std::unique_ptr<std::thread> thread_;
133 bool is_chassis_error_ =
false;
135 std::mutex chassis_error_code_mutex_;
138 std::mutex chassis_mask_mutex_;
139 int32_t chassis_error_mask_ = 0;