25using ::apollo::drivers::canbus::Byte;
34 static const uint32_t PERIOD = 10 * 1000;
39 set_p_adc_cmd_steerwheelangle(data, adc_cmd_steerwheelangle_);
40 set_p_adc_cmd_steeringcontrolmode(data, adc_cmd_steeringcontrolmode_);
41 set_p_adc_cmd_parkingbrake(data, adc_cmd_parkingbrake_);
42 set_p_adc_cmd_gear(data, adc_cmd_gear_);
43 set_p_adc_motioncontrol1_checksum(data, adc_motioncontrol1_checksum_);
44 set_p_adc_cmd_brakepercentage(data, adc_cmd_brakepercentage_);
45 set_p_adc_cmd_throttleposition(data, adc_cmd_throttleposition_);
46 set_p_adc_motioncontrol1_counter(data, adc_motioncontrol1_counter_);
47 set_p_adc_cmd_autonomyrequest(data, adc_cmd_autonomyrequest_);
48 set_p_adc_cmd_longitudinalcontrolmode(data, adc_cmd_longitudinalcontrolmode_);
53 adc_cmd_steerwheelangle_ = 0.0;
54 adc_cmd_steeringcontrolmode_ =
56 adc_cmd_parkingbrake_ =
false;
58 adc_motioncontrol1_checksum_ = 0;
59 adc_cmd_brakepercentage_ = 0.0;
60 adc_cmd_throttleposition_ = 0.0;
61 adc_motioncontrol1_counter_ = 0;
62 adc_cmd_autonomyrequest_ =
64 adc_cmd_longitudinalcontrolmode_ =
69 double adc_cmd_steerwheelangle) {
70 adc_cmd_steerwheelangle_ = adc_cmd_steerwheelangle;
79void Adcmotioncontrol110::set_p_adc_cmd_steerwheelangle(
80 uint8_t* data,
double adc_cmd_steerwheelangle) {
81 adc_cmd_steerwheelangle =
82 ProtocolData::BoundedValue(-1638.4, 1638.35, adc_cmd_steerwheelangle);
83 int x =
static_cast<int>(adc_cmd_steerwheelangle / -0.050000);
86 t =
static_cast<uint8_t
>(x & 0x1F);
87 Byte to_set0(data + 3);
88 to_set0.set_value(t, 3, 5);
91 t =
static_cast<uint8_t
>(x & 0xFF);
92 Byte to_set1(data + 4);
93 to_set1.set_value(t, 0, 8);
96 t =
static_cast<uint8_t
>(x & 0x7);
97 Byte to_set2(data + 5);
98 to_set2.set_value(t, 0, 3);
103 adc_cmd_steeringcontrolmode) {
104 adc_cmd_steeringcontrolmode_ = adc_cmd_steeringcontrolmode;
115void Adcmotioncontrol110::set_p_adc_cmd_steeringcontrolmode(
117 adc_cmd_steeringcontrolmode) {
118 int x = adc_cmd_steeringcontrolmode;
120 Byte to_set(data + 0);
121 to_set.set_value(
static_cast<uint8_t
>(x), 4, 2);
125 bool adc_cmd_parkingbrake) {
126 adc_cmd_parkingbrake_ = adc_cmd_parkingbrake;
134void Adcmotioncontrol110::set_p_adc_cmd_parkingbrake(
135 uint8_t* data,
bool adc_cmd_parkingbrake) {
136 int x = adc_cmd_parkingbrake;
138 Byte to_set(data + 6);
139 to_set.set_value(
static_cast<uint8_t
>(x), 5, 1);
144 adc_cmd_gear_ = adc_cmd_gear;
154void Adcmotioncontrol110::set_p_adc_cmd_gear(
156 int x = adc_cmd_gear;
158 Byte to_set(data + 6);
159 to_set.set_value(
static_cast<uint8_t
>(x), 2, 3);
163 int adc_motioncontrol1_checksum) {
164 adc_motioncontrol1_checksum_ = adc_motioncontrol1_checksum;
172void Adcmotioncontrol110::set_p_adc_motioncontrol1_checksum(
173 uint8_t* data,
int adc_motioncontrol1_checksum) {
174 adc_motioncontrol1_checksum =
175 ProtocolData::BoundedValue(0, 255, adc_motioncontrol1_checksum);
176 int x = adc_motioncontrol1_checksum;
178 Byte to_set(data + 7);
179 to_set.set_value(
static_cast<uint8_t
>(x), 0, 8);
183 double adc_cmd_brakepercentage) {
184 adc_cmd_brakepercentage_ = adc_cmd_brakepercentage;
193void Adcmotioncontrol110::set_p_adc_cmd_brakepercentage(
194 uint8_t* data,
double adc_cmd_brakepercentage) {
195 adc_cmd_brakepercentage =
196 ProtocolData::BoundedValue(0.0, 113.8132, adc_cmd_brakepercentage);
197 int x =
static_cast<int>(adc_cmd_brakepercentage / 0.055600);
200 t =
static_cast<uint8_t
>(x & 0x3);
201 Byte to_set0(data + 0);
202 to_set0.set_value(t, 6, 2);
205 t =
static_cast<uint8_t
>(x & 0xFF);
206 Byte to_set1(data + 1);
207 to_set1.set_value(t, 0, 8);
210 t =
static_cast<uint8_t
>(x & 0x1);
211 Byte to_set2(data + 2);
212 to_set2.set_value(t, 0, 1);
216 double adc_cmd_throttleposition) {
217 adc_cmd_throttleposition_ = adc_cmd_throttleposition;
226void Adcmotioncontrol110::set_p_adc_cmd_throttleposition(
227 uint8_t* data,
double adc_cmd_throttleposition) {
228 adc_cmd_throttleposition =
229 ProtocolData::BoundedValue(0.0, 100.0, adc_cmd_throttleposition);
230 int x =
static_cast<int>(adc_cmd_throttleposition / 0.100000);
233 t =
static_cast<uint8_t
>(x & 0x7F);
234 Byte to_set0(data + 2);
235 to_set0.set_value(t, 1, 7);
238 t =
static_cast<uint8_t
>(x & 0x7);
239 Byte to_set1(data + 3);
240 to_set1.set_value(t, 0, 3);
244 int adc_motioncontrol1_counter) {
245 adc_motioncontrol1_counter_ = adc_motioncontrol1_counter;
253void Adcmotioncontrol110::set_p_adc_motioncontrol1_counter(
254 uint8_t* data,
int adc_motioncontrol1_counter) {
255 adc_motioncontrol1_counter =
256 ProtocolData::BoundedValue(0, 3, adc_motioncontrol1_counter);
257 int x = adc_motioncontrol1_counter;
259 Byte to_set(data + 6);
260 to_set.set_value(
static_cast<uint8_t
>(x), 6, 2);
265 adc_cmd_autonomyrequest) {
266 adc_cmd_autonomyrequest_ = adc_cmd_autonomyrequest;
277void Adcmotioncontrol110::set_p_adc_cmd_autonomyrequest(
279 adc_cmd_autonomyrequest) {
280 int x = adc_cmd_autonomyrequest;
282 Byte to_set(data + 0);
283 to_set.set_value(
static_cast<uint8_t
>(x), 0, 2);
288 adc_cmd_longitudinalcontrolmode) {
289 adc_cmd_longitudinalcontrolmode_ = adc_cmd_longitudinalcontrolmode;
301void Adcmotioncontrol110::set_p_adc_cmd_longitudinalcontrolmode(
303 adc_cmd_longitudinalcontrolmode) {
304 int x = adc_cmd_longitudinalcontrolmode;
306 Byte to_set(data + 0);
307 to_set.set_value(
static_cast<uint8_t
>(x), 2, 2);
Adcmotioncontrol110 * set_adc_cmd_gear(Adc_motioncontrol1_10::Adc_cmd_gearType adc_cmd_gear)
Adcmotioncontrol110 * set_adc_cmd_brakepercentage(double adc_cmd_brakepercentage)
Adcmotioncontrol110 * set_adc_cmd_throttleposition(double adc_cmd_throttleposition)
uint32_t GetPeriod() const override
Adcmotioncontrol110 * set_adc_cmd_parkingbrake(bool adc_cmd_parkingbrake)
Adcmotioncontrol110 * set_adc_cmd_longitudinalcontrolmode(Adc_motioncontrol1_10::Adc_cmd_longitudinalcontrolmodeType adc_cmd_longitudinalcontrolmode)
Adcmotioncontrol110 * set_adc_cmd_autonomyrequest(Adc_motioncontrol1_10::Adc_cmd_autonomyrequestType adc_cmd_autonomyrequest)
Adcmotioncontrol110 * set_adc_motioncontrol1_checksum(int adc_motioncontrol1_checksum)
Adcmotioncontrol110 * set_adc_cmd_steerwheelangle(double adc_cmd_steerwheelangle)
void UpdateData(uint8_t *data) override
Adcmotioncontrol110 * set_adc_cmd_steeringcontrolmode(Adc_motioncontrol1_10::Adc_cmd_steeringcontrolmodeType adc_cmd_steeringcontrolmode)
Adcmotioncontrol110 * set_adc_motioncontrol1_counter(int adc_motioncontrol1_counter)
Adc_cmd_autonomyrequestType
@ ADC_CMD_AUTONOMYREQUEST_AUTONOMY_NOT_REQUESTED
Adc_cmd_longitudinalcontrolmodeType
@ ADC_CMD_LONGITUDINALCONTROLMODE_NONE
Adc_cmd_steeringcontrolmodeType
@ ADC_CMD_STEERINGCONTROLMODE_NONE