Apollo 10.0
自动驾驶开放平台
ecu_status_3_517.cc
浏览该文件的文档.
1/******************************************************************************
2 * Copyright 2019 The Apollo Authors. All Rights Reserved.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *****************************************************************************/
16
18#include "glog/logging.h"
21
22namespace apollo {
23namespace canbus {
24namespace ch {
25
26using ::apollo::drivers::canbus::Byte;
27
29const int32_t Ecustatus3517::ID = 0x517;
30
31void Ecustatus3517::Parse(const std::uint8_t* bytes, int32_t length,
32 Ch* chassis) const {
33 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_1(
34 ultrasound_dist_1(bytes, length));
35 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_2(
36 ultrasound_dist_2(bytes, length));
37 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_3(
38 ultrasound_dist_3(bytes, length));
39 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_4(
40 ultrasound_dist_4(bytes, length));
41 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_5(
42 ultrasound_dist_5(bytes, length));
43 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_6(
44 ultrasound_dist_6(bytes, length));
45 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_7(
46 ultrasound_dist_7(bytes, length));
47 chassis->mutable_ecu_status_3_517()->set_ultrasound_dist_8(
48 ultrasound_dist_8(bytes, length));
49}
50
51// config detail: {'bit': 0, 'description': 'Ultrasonic detection distance 1
52// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
53// 'ultrasound_dist_1', 'offset': 0.0, 'order': 'intel', 'physical_range':
54// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
55double Ecustatus3517::ultrasound_dist_1(const std::uint8_t* bytes,
56 int32_t length) const {
57 Byte t0(bytes + 0);
58 int32_t x = t0.get_byte(0, 8);
59
60 double ret = x * 2.000000;
61 return ret;
62}
63
64// config detail: {'bit': 8, 'description': 'Ultrasonic detection distance 2
65// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
66// 'ultrasound_dist_2', 'offset': 0.0, 'order': 'intel', 'physical_range':
67// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
68double Ecustatus3517::ultrasound_dist_2(const std::uint8_t* bytes,
69 int32_t length) const {
70 Byte t0(bytes + 1);
71 int32_t x = t0.get_byte(0, 8);
72
73 double ret = x * 2.000000;
74 return ret;
75}
76
77// config detail: {'bit': 16, 'description': 'Ultrasonic detection distance 3
78// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
79// 'ultrasound_dist_3', 'offset': 0.0, 'order': 'intel', 'physical_range':
80// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
81double Ecustatus3517::ultrasound_dist_3(const std::uint8_t* bytes,
82 int32_t length) const {
83 Byte t0(bytes + 2);
84 int32_t x = t0.get_byte(0, 8);
85
86 double ret = x * 2.000000;
87 return ret;
88}
89
90// config detail: {'bit': 24, 'description': 'Ultrasonic detection distance 4
91// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
92// 'ultrasound_dist_4', 'offset': 0.0, 'order': 'intel', 'physical_range':
93// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
94double Ecustatus3517::ultrasound_dist_4(const std::uint8_t* bytes,
95 int32_t length) const {
96 Byte t0(bytes + 3);
97 int32_t x = t0.get_byte(0, 8);
98
99 double ret = x * 2.000000;
100 return ret;
101}
102
103// config detail: {'bit': 32, 'description': 'Ultrasonic detection distance 5
104// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
105// 'ultrasound_dist_5', 'offset': 0.0, 'order': 'intel', 'physical_range':
106// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
107double Ecustatus3517::ultrasound_dist_5(const std::uint8_t* bytes,
108 int32_t length) const {
109 Byte t0(bytes + 4);
110 int32_t x = t0.get_byte(0, 8);
111
112 double ret = x * 2.000000;
113 return ret;
114}
115
116// config detail: {'bit': 40, 'description': 'Ultrasonic detection distance 6
117// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
118// 'ultrasound_dist_6', 'offset': 0.0, 'order': 'intel', 'physical_range':
119// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
120double Ecustatus3517::ultrasound_dist_6(const std::uint8_t* bytes,
121 int32_t length) const {
122 Byte t0(bytes + 5);
123 int32_t x = t0.get_byte(0, 8);
124
125 int ret = x;
126 return ret;
127}
128
129// config detail: {'bit': 48, 'description': 'Ultrasonic detection distance 7
130// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
131// 'ultrasound_dist_7', 'offset': 0.0, 'order': 'intel', 'physical_range':
132// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
133double Ecustatus3517::ultrasound_dist_7(const std::uint8_t* bytes,
134 int32_t length) const {
135 Byte t0(bytes + 6);
136 int32_t x = t0.get_byte(0, 8);
137
138 double ret = x * 2.000000;
139 return ret;
140}
141
142// config detail: {'bit': 56, 'description': 'Ultrasonic detection distance 8
143// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
144// 'ultrasound_dist_8', 'offset': 0.0, 'order': 'intel', 'physical_range':
145// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
146double Ecustatus3517::ultrasound_dist_8(const std::uint8_t* bytes,
147 int32_t length) const {
148 Byte t0(bytes + 7);
149 int32_t x = t0.get_byte(0, 8);
150
151 double ret = x * 2.000000;
152 return ret;
153}
154} // namespace ch
155} // namespace canbus
156} // namespace apollo
Defines the Byte class.
void Parse(const std::uint8_t *bytes, int32_t length, Ch *chassis) const override
class register implement
Definition arena_queue.h:37