Apollo 10.0
自动驾驶开放平台
ecu_status_4_518.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
19#include "glog/logging.h"
20
23
24namespace apollo {
25namespace canbus {
26namespace ch {
27
28using ::apollo::drivers::canbus::Byte;
29
31const int32_t Ecustatus4518::ID = 0x518;
32
33void Ecustatus4518::Parse(const std::uint8_t* bytes, int32_t length,
34 Ch* chassis) const {
35 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_9(
36 ultrasound_dist_9(bytes, length));
37 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_10(
38 ultrasound_dist_10(bytes, length));
39 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_11(
40 ultrasound_dist_11(bytes, length));
41 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_12(
42 ultrasound_dist_12(bytes, length));
43 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_13(
44 ultrasound_dist_13(bytes, length));
45 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_14(
46 ultrasound_dist_14(bytes, length));
47 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_15(
48 ultrasound_dist_15(bytes, length));
49 chassis->mutable_ecu_status_4_518()->set_ultrasound_dist_16(
50 ultrasound_dist_16(bytes, length));
51}
52
53// config detail: {'bit': 0, 'description': 'Ultrasonic detection distance 9
54// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
55// 'ultrasound_dist_9', 'offset': 0.0, 'order': 'intel', 'physical_range':
56// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
57double Ecustatus4518::ultrasound_dist_9(const std::uint8_t* bytes,
58 int32_t length) const {
59 Byte t0(bytes + 0);
60 int32_t x = t0.get_byte(0, 8);
61
62 double ret = x * 2.000000;
63 return ret;
64}
65
66// config detail: {'bit': 8, 'description': 'Ultrasonic detection distance 10
67// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
68// 'ultrasound_dist_10', 'offset': 0.0, 'order': 'intel', 'physical_range':
69// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
70double Ecustatus4518::ultrasound_dist_10(const std::uint8_t* bytes,
71 int32_t length) const {
72 Byte t0(bytes + 1);
73 int32_t x = t0.get_byte(0, 8);
74
75 double ret = x * 2.000000;
76 return ret;
77}
78
79// config detail: {'bit': 16, 'description': 'Ultrasonic detection distance 11
80// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
81// 'ultrasound_dist_11', 'offset': 0.0, 'order': 'intel', 'physical_range':
82// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
83double Ecustatus4518::ultrasound_dist_11(const std::uint8_t* bytes,
84 int32_t length) const {
85 Byte t0(bytes + 2);
86 int32_t x = t0.get_byte(0, 8);
87
88 double ret = x * 2.000000;
89 return ret;
90}
91
92// config detail: {'bit': 24, 'description': 'Ultrasonic detection distance 12
93// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
94// 'ultrasound_dist_12', 'offset': 0.0, 'order': 'intel', 'physical_range':
95// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
96double Ecustatus4518::ultrasound_dist_12(const std::uint8_t* bytes,
97 int32_t length) const {
98 Byte t0(bytes + 3);
99 int32_t x = t0.get_byte(0, 8);
100
101 double ret = x * 2.000000;
102 return ret;
103}
104
105// config detail: {'bit': 32, 'description': 'Ultrasonic detection distance 13
106// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
107// 'ultrasound_dist_13', 'offset': 0.0, 'order': 'intel', 'physical_range':
108// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
109double Ecustatus4518::ultrasound_dist_13(const std::uint8_t* bytes,
110 int32_t length) const {
111 Byte t0(bytes + 4);
112 int32_t x = t0.get_byte(0, 8);
113
114 double ret = x * 2.000000;
115 return ret;
116}
117
118// config detail: {'bit': 40, 'description': 'Ultrasonic detection distance 14
119// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
120// 'ultrasound_dist_14', 'offset': 0.0, 'order': 'intel', 'physical_range':
121// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
122double Ecustatus4518::ultrasound_dist_14(const std::uint8_t* bytes,
123 int32_t length) const {
124 Byte t0(bytes + 5);
125 int32_t x = t0.get_byte(0, 8);
126
127 double ret = x * 2.000000;
128 return ret;
129}
130
131// config detail: {'bit': 48, 'description': 'Ultrasonic detection distance 15
132// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
133// 'ultrasound_dist_15', 'offset': 0.0, 'order': 'intel', 'physical_range':
134// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
135double Ecustatus4518::ultrasound_dist_15(const std::uint8_t* bytes,
136 int32_t length) const {
137 Byte t0(bytes + 6);
138 int32_t x = t0.get_byte(0, 8);
139
140 double ret = x * 2.000000;
141 return ret;
142}
143
144// config detail: {'bit': 56, 'description': 'Ultrasonic detection distance 16
145// (Ultrasound status)', 'is_signed_var': False, 'len': 8, 'name':
146// 'ultrasound_dist_16', 'offset': 0.0, 'order': 'intel', 'physical_range':
147// '[0|500]', 'physical_unit': 'cm', 'precision': 2.0, 'type': 'double'}
148double Ecustatus4518::ultrasound_dist_16(const std::uint8_t* bytes,
149 int32_t length) const {
150 Byte t0(bytes + 7);
151 int32_t x = t0.get_byte(0, 8);
152
153 double ret = x * 2.000000;
154 return ret;
155}
156} // namespace ch
157} // namespace canbus
158} // 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