25using ::apollo::drivers::canbus::Byte;
34 static const uint32_t PERIOD = 20 * 1000;
40 chassis->mutable_brake_command_101()->set_brake_en_ctrl(
41 brake_en_ctrl(bytes, length));
42 chassis->mutable_brake_command_101()->set_aeb_en_ctrl(
43 aeb_en_ctrl(bytes, length));
44 chassis->mutable_brake_command_101()->set_brake_dec(
45 brake_dec(bytes, length));
46 chassis->mutable_brake_command_101()->set_brake_pedal_target(
47 brake_pedal_target(bytes, length));
48 chassis->mutable_brake_command_101()->set_checksum_101(
49 checksum_101(bytes, length));
53 set_p_aeb_en_ctrl(data, aeb_en_ctrl_);
54 set_p_brake_dec(data, brake_dec_);
55 set_p_brake_pedal_target(data, brake_pedal_target_);
56 set_p_brake_en_ctrl(data, brake_en_ctrl_);
58 data[0] ^ data[1] ^ data[2] ^ data[3] ^ data[4] ^ data[5] ^ data[6];
59 set_p_checksum_101(data, checksum_101_);
67 brake_pedal_target_ = 0.0;
73 brake_en_ctrl_ = brake_en_ctrl;
81void Brakecommand101::set_p_brake_en_ctrl(
83 int x = brake_en_ctrl;
85 Byte to_set(data + 0);
86 to_set.set_value(x, 0, 1);
91 aeb_en_ctrl_ = aeb_en_ctrl;
99void Brakecommand101::set_p_aeb_en_ctrl(
103 Byte to_set(data + 0);
104 to_set.set_value(x, 1, 1);
108 brake_dec_ = brake_dec;
115void Brakecommand101::set_p_brake_dec(uint8_t* data,
double brake_dec) {
116 brake_dec = ProtocolData::BoundedValue(0.0, 10.0, brake_dec);
117 int x = brake_dec / 0.010000;
121 Byte to_set0(data + 2);
122 to_set0.set_value(t, 6, 2);
126 Byte to_set1(data + 1);
127 to_set1.set_value(t, 0, 8);
131 double brake_pedal_target) {
132 brake_pedal_target_ = brake_pedal_target;
139void Brakecommand101::set_p_brake_pedal_target(uint8_t* data,
140 double brake_pedal_target) {
142 ProtocolData::BoundedValue(0.0, 100.0, brake_pedal_target);
143 int x = brake_pedal_target / 0.100000;
147 Byte to_set0(data + 4);
148 to_set0.set_value(t, 0, 8);
152 Byte to_set1(data + 3);
153 to_set1.set_value(t, 0, 8);
157 checksum_101_ = checksum_101;
164void Brakecommand101::set_p_checksum_101(uint8_t* data,
int checksum_101) {
165 checksum_101 = ProtocolData::BoundedValue(0, 255, checksum_101);
166 int x = checksum_101;
168 Byte to_set(data + 7);
169 to_set.set_value(x, 0, 8);
173 const std::uint8_t* bytes, int32_t length)
const {
175 int32_t x = t0.get_byte(0, 1);
183 const std::uint8_t* bytes, int32_t length)
const {
185 int32_t x = t0.get_byte(1, 1);
192double Brakecommand101::brake_dec(
const std::uint8_t* bytes,
193 int32_t length)
const {
195 int32_t x = t0.get_byte(0, 8);
198 int32_t t = t1.get_byte(6, 2);
202 double ret = x * 0.01;
206double Brakecommand101::brake_pedal_target(
const std::uint8_t* bytes,
207 const int32_t length)
const {
209 int32_t x = t0.get_byte(0, 8);
212 int32_t t = t1.get_byte(0, 8);
216 double ret = x * 0.1;
220int Brakecommand101::checksum_101(
const std::uint8_t* bytes,
221 int32_t length)
const {
223 int32_t x = t0.get_byte(0, 8);
Brakecommand101 * set_brake_pedal_target(double brake_pedal_target)
void UpdateData(uint8_t *data) override
Brakecommand101 * set_aeb_en_ctrl(Brake_command_101::Aeb_en_ctrlType aeb_en_ctrl)
void Parse(const std::uint8_t *bytes, int32_t length, Devkit *chassis) const override
Brakecommand101 * set_brake_dec(double brake_dec)
Brakecommand101 * set_brake_en_ctrl(Brake_command_101::Brake_en_ctrlType brake_en_ctrl)
Brakecommand101 * set_checksum_101(int checksum_101)
uint32_t GetPeriod() const override
@ AEB_EN_CTRL_DISABLE_AEB