27using ::apollo::drivers::canbus::Byte;
36 static const uint32_t PERIOD = 20 * 1000;
41 set_p_ignore_overrides(data, ignore_overrides_);
42 set_p_enable(data, enable_);
43 set_p_clear_override(data, clear_override_);
44 set_p_clear_faults(data, clear_faults_);
45 set_p_brake_cmd(data, brake_cmd_);
50 ignore_overrides_ =
false;
52 clear_override_ =
false;
53 clear_faults_ =
false;
58 ignore_overrides_ = ignore_overrides;
65void Brakecmd104::set_p_ignore_overrides(uint8_t* data,
bool ignore_overrides) {
66 uint8_t x = ignore_overrides;
68 Byte to_set(data + 0);
69 to_set.set_value(
static_cast<uint8_t
>(x), 1, 1);
80void Brakecmd104::set_p_enable(uint8_t* data,
bool enable) {
83 Byte to_set(data + 0);
84 to_set.set_value(
static_cast<uint8_t
>(x), 0, 1);
88 clear_override_ = clear_override;
95void Brakecmd104::set_p_clear_override(uint8_t* data,
bool clear_override) {
96 uint8_t x = clear_override;
98 Byte to_set(data + 0);
99 to_set.set_value(
static_cast<uint8_t
>(x), 2, 1);
103 clear_faults_ = clear_faults;
110void Brakecmd104::set_p_clear_faults(uint8_t* data,
bool clear_faults) {
111 uint8_t x = clear_faults;
113 Byte to_set(data + 0);
114 to_set.set_value(
static_cast<uint8_t
>(x), 3, 1);
118 brake_cmd_ = brake_cmd;
125void Brakecmd104::set_p_brake_cmd(uint8_t* data,
double brake_cmd) {
126 const double scaling_bias = 0.0;
127 const double scaling_gain = 0.80;
128 brake_cmd = std::max(0.0, (brake_cmd - scaling_bias) / (scaling_gain * 100));
129 brake_cmd = ProtocolData::BoundedValue(0.0, 1.0, brake_cmd);
131 int x =
static_cast<int>(brake_cmd / 0.001000);
134 t =
static_cast<uint8_t
>(x & 0xFF);
135 Byte to_set0(data + 2);
136 to_set0.set_value(t, 0, 8);
139 t =
static_cast<uint8_t
>(x & 0xFF);
140 Byte to_set1(data + 1);
141 to_set1.set_value(t, 0, 8);
void UpdateData(uint8_t *data) override
uint32_t GetPeriod() const override
Brakecmd104 * set_clear_override(bool clear_override)
Brakecmd104 * set_clear_faults(bool clear_faults)
Brakecmd104 * set_brake_cmd(double brake_cmd)
Brakecmd104 * set_ignore_overrides(bool ignore_overrides)
Brakecmd104 * set_enable(bool enable)