25using ::apollo::drivers::canbus::Byte;
32 static const uint32_t PERIOD = 10 * 1000;
37 set_pedal_p(data, pedal_cmd_);
38 set_enable_p(data, pedal_enable_);
39 set_clear_driver_override_flag_p(data, clear_driver_override_flag_);
40 set_ignore_driver_override_p(data, ignore_driver_override_);
41 set_watchdog_counter_p(data, watchdog_counter_);
46 pedal_enable_ =
false;
47 clear_driver_override_flag_ =
false;
48 ignore_driver_override_ =
false;
49 watchdog_counter_ = 0;
63 pedal_enable_ =
false;
69void Throttle62::set_pedal_p(uint8_t *data,
double pedal) {
73 pedal = ProtocolData::BoundedValue(0.0, 1.0, pedal);
74 int32_t x =
static_cast<int32_t
>(pedal / 1.52590218966964e-05);
77 t =
static_cast<uint8_t
>(x & 0xFF);
78 Byte frame_low(data + 0);
79 frame_low.set_value(t, 0, 8);
82 t =
static_cast<uint8_t
>(x & 0xFF);
83 Byte frame_high(data + 1);
84 frame_high.set_value(t, 0, 8);
87void Throttle62::set_enable_p(uint8_t *bytes,
bool enable) {
88 Byte frame(bytes + 3);
96void Throttle62::set_clear_driver_override_flag_p(uint8_t *bytes,
bool clear) {
97 Byte frame(bytes + 3);
105void Throttle62::set_ignore_driver_override_p(uint8_t *bytes,
bool ignore) {
106 Byte frame(bytes + 3);
114void Throttle62::set_watchdog_counter_p(uint8_t *data, int32_t count) {
115 count = ProtocolData::BoundedValue(0, 255, count);
116 Byte frame(data + 7);
117 frame.set_value(
static_cast<uint8_t
>(count), 0, 8);
one of the protocol data of lincoln vehicle
Throttle62 * set_disable()
set disable
Throttle62 * set_pedal(double pcmd)
set pedal based on pedal command
Throttle62 * set_enable()
set enable
virtual uint32_t GetPeriod() const
get the data period
virtual void Reset()
reset the private variables
virtual void UpdateData(uint8_t *data)
update the data
the class of Throttle62 (for lincoln vehicle)