Apollo  6.0
Open source self driving car software
dash_controls_right_rpt_210.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2018 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 
17 #pragma once
18 
19 #include "modules/canbus/proto/chassis_detail.pb.h"
21 
22 namespace apollo {
23 namespace canbus {
24 namespace lexus {
25 
27  ::apollo::canbus::ChassisDetail> {
28  public:
29  static const int32_t ID;
30 
32 
33  uint32_t GetPeriod() const override;
34 
35  void UpdateData(uint8_t* data) override;
36 
37  void Reset() override;
38 
39  // config detail: {'name': 'OUTPUT_VALUE', 'enum': {0:
40  // 'OUTPUT_VALUE_DASH_CONTROL_NONE', 1: 'OUTPUT_VALUE_DASH_CONTROL_OK', 2:
41  // 'OUTPUT_VALUE_DASH_CONTROL_LEFT', 3: 'OUTPUT_VALUE_DASH_CONTROL_RIGHT', 4:
42  // 'OUTPUT_VALUE_DASH_CONTROL_UP', 5: 'OUTPUT_VALUE_DASH_CONTROL_DOWN'},
43  // 'precision': 1.0, 'len': 8, 'is_signed_var': False, 'offset': 0.0,
44  // 'physical_range': '[0|255]', 'bit': 31, 'type': 'enum', 'order':
45  // 'motorola', 'physical_unit': ''}
47  Dash_controls_right_rpt_210::Output_valueType output_value);
48 
49  // config detail: {'name': 'COMMANDED_VALUE', 'enum': {0:
50  // 'COMMANDED_VALUE_DASH_CONTROL_NONE', 1: 'COMMANDED_VALUE_DASH_CONTROL_OK',
51  // 2: 'COMMANDED_VALUE_DASH_CONTROL_LEFT', 3:
52  // 'COMMANDED_VALUE_DASH_CONTROL_RIGHT', 4: 'COMMANDED_VALUE_DASH_CONTROL_UP',
53  // 5: 'COMMANDED_VALUE_DASH_CONTROL_DOWN'}, 'precision': 1.0, 'len': 8,
54  // 'is_signed_var': False, 'offset': 0.0, 'physical_range': '[0|255]', 'bit':
55  // 23, 'type': 'enum', 'order': 'motorola', 'physical_unit': ''}
57  Dash_controls_right_rpt_210::Commanded_valueType commanded_value);
58 
59  // config detail: {'name': 'VEHICLE_FAULT', 'offset': 0.0, 'precision': 1.0,
60  // 'len': 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 6,
61  // 'type': 'bool', 'order': 'motorola', 'physical_unit': ''}
62  Dashcontrolsrightrpt210* set_vehicle_fault(bool vehicle_fault);
63 
64  // config detail: {'name': 'PACMOD_FAULT', 'offset': 0.0, 'precision': 1.0,
65  // 'len': 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 5,
66  // 'type': 'bool', 'order': 'motorola', 'physical_unit': ''}
67  Dashcontrolsrightrpt210* set_pacmod_fault(bool pacmod_fault);
68 
69  // config detail: {'name': 'OVERRIDE_ACTIVE', 'offset': 0.0, 'precision': 1.0,
70  // 'len': 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 1,
71  // 'type': 'bool', 'order': 'motorola', 'physical_unit': ''}
72  Dashcontrolsrightrpt210* set_override_active(bool override_active);
73 
74  // config detail: {'name': 'OUTPUT_REPORTED_FAULT', 'offset': 0.0,
75  // 'precision': 1.0, 'len': 1, 'is_signed_var': False, 'physical_range':
76  // '[0|1]', 'bit': 4, 'type': 'bool', 'order': 'motorola', 'physical_unit':
77  // ''}
79  bool output_reported_fault);
80 
81  // config detail: {'name': 'INPUT_OUTPUT_FAULT', 'offset': 0.0,
82  // 'precision': 1.0, 'len': 1, 'is_signed_var': False, 'physical_range':
83  // '[0|1]', 'bit': 3, 'type': 'bool', 'order': 'motorola', 'physical_unit':
84  // ''}
85  Dashcontrolsrightrpt210* set_input_output_fault(bool input_output_fault);
86 
87  // config detail: {'name': 'ENABLED', 'offset': 0.0, 'precision': 1.0, 'len':
88  // 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 0, 'type':
89  // 'bool', 'order': 'motorola', 'physical_unit': ''}
90  Dashcontrolsrightrpt210* set_enabled(bool enabled);
91 
92  // config detail: {'name': 'COMMAND_OUTPUT_FAULT', 'offset': 0.0,
93  // 'precision': 1.0, 'len': 1, 'is_signed_var': False, 'physical_range':
94  // '[0|1]', 'bit': 2, 'type': 'bool', 'order': 'motorola', 'physical_unit':
95  // ''}
96  Dashcontrolsrightrpt210* set_command_output_fault(bool command_output_fault);
97 
98  // config detail: {'name': 'MANUAL_INPUT', 'enum': {0:
99  // 'MANUAL_INPUT_DASH_CONTROL_NONE', 1: 'MANUAL_INPUT_DASH_CONTROL_OK', 2:
100  // 'MANUAL_INPUT_DASH_CONTROL_LEFT', 3: 'MANUAL_INPUT_DASH_CONTROL_RIGHT', 4:
101  // 'MANUAL_INPUT_DASH_CONTROL_UP', 5: 'MANUAL_INPUT_DASH_CONTROL_DOWN'},
102  // 'precision': 1.0, 'len': 8, 'is_signed_var': False, 'offset': 0.0,
103  // 'physical_range': '[0|255]', 'bit': 15, 'type': 'enum', 'order':
104  // 'motorola', 'physical_unit': ''}
106  Dash_controls_right_rpt_210::Manual_inputType manual_input);
107 
108  private:
109  // config detail: {'name': 'OUTPUT_VALUE', 'enum': {0:
110  // 'OUTPUT_VALUE_DASH_CONTROL_NONE', 1: 'OUTPUT_VALUE_DASH_CONTROL_OK', 2:
111  // 'OUTPUT_VALUE_DASH_CONTROL_LEFT', 3: 'OUTPUT_VALUE_DASH_CONTROL_RIGHT', 4:
112  // 'OUTPUT_VALUE_DASH_CONTROL_UP', 5: 'OUTPUT_VALUE_DASH_CONTROL_DOWN'},
113  // 'precision': 1.0, 'len': 8, 'is_signed_var': False, 'offset': 0.0,
114  // 'physical_range': '[0|255]', 'bit': 31, 'type': 'enum', 'order':
115  // 'motorola', 'physical_unit': ''}
116  void set_p_output_value(
117  uint8_t* data,
118  Dash_controls_right_rpt_210::Output_valueType output_value);
119 
120  // config detail: {'name': 'COMMANDED_VALUE', 'enum': {0:
121  // 'COMMANDED_VALUE_DASH_CONTROL_NONE', 1: 'COMMANDED_VALUE_DASH_CONTROL_OK',
122  // 2: 'COMMANDED_VALUE_DASH_CONTROL_LEFT', 3:
123  // 'COMMANDED_VALUE_DASH_CONTROL_RIGHT', 4: 'COMMANDED_VALUE_DASH_CONTROL_UP',
124  // 5: 'COMMANDED_VALUE_DASH_CONTROL_DOWN'}, 'precision': 1.0, 'len': 8,
125  // 'is_signed_var': False, 'offset': 0.0, 'physical_range': '[0|255]', 'bit':
126  // 23, 'type': 'enum', 'order': 'motorola', 'physical_unit': ''}
127  void set_p_commanded_value(
128  uint8_t* data,
129  Dash_controls_right_rpt_210::Commanded_valueType commanded_value);
130 
131  // config detail: {'name': 'VEHICLE_FAULT', 'offset': 0.0, 'precision': 1.0,
132  // 'len': 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 6,
133  // 'type': 'bool', 'order': 'motorola', 'physical_unit': ''}
134  void set_p_vehicle_fault(uint8_t* data, bool vehicle_fault);
135 
136  // config detail: {'name': 'PACMOD_FAULT', 'offset': 0.0, 'precision': 1.0,
137  // 'len': 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 5,
138  // 'type': 'bool', 'order': 'motorola', 'physical_unit': ''}
139  void set_p_pacmod_fault(uint8_t* data, bool pacmod_fault);
140 
141  // config detail: {'name': 'OVERRIDE_ACTIVE', 'offset': 0.0, 'precision': 1.0,
142  // 'len': 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 1,
143  // 'type': 'bool', 'order': 'motorola', 'physical_unit': ''}
144  void set_p_override_active(uint8_t* data, bool override_active);
145 
146  // config detail: {'name': 'OUTPUT_REPORTED_FAULT', 'offset': 0.0,
147  // 'precision': 1.0, 'len': 1, 'is_signed_var': False, 'physical_range':
148  // '[0|1]', 'bit': 4, 'type': 'bool', 'order': 'motorola', 'physical_unit':
149  // ''}
150  void set_p_output_reported_fault(uint8_t* data, bool output_reported_fault);
151 
152  // config detail: {'name': 'INPUT_OUTPUT_FAULT', 'offset': 0.0,
153  // 'precision': 1.0, 'len': 1, 'is_signed_var': False, 'physical_range':
154  // '[0|1]', 'bit': 3, 'type': 'bool', 'order': 'motorola', 'physical_unit':
155  // ''}
156  void set_p_input_output_fault(uint8_t* data, bool input_output_fault);
157 
158  // config detail: {'name': 'ENABLED', 'offset': 0.0, 'precision': 1.0, 'len':
159  // 1, 'is_signed_var': False, 'physical_range': '[0|1]', 'bit': 0, 'type':
160  // 'bool', 'order': 'motorola', 'physical_unit': ''}
161  void set_p_enabled(uint8_t* data, bool enabled);
162 
163  // config detail: {'name': 'COMMAND_OUTPUT_FAULT', 'offset': 0.0,
164  // 'precision': 1.0, 'len': 1, 'is_signed_var': False, 'physical_range':
165  // '[0|1]', 'bit': 2, 'type': 'bool', 'order': 'motorola', 'physical_unit':
166  // ''}
167  void set_p_command_output_fault(uint8_t* data, bool command_output_fault);
168 
169  // config detail: {'name': 'MANUAL_INPUT', 'enum': {0:
170  // 'MANUAL_INPUT_DASH_CONTROL_NONE', 1: 'MANUAL_INPUT_DASH_CONTROL_OK', 2:
171  // 'MANUAL_INPUT_DASH_CONTROL_LEFT', 3: 'MANUAL_INPUT_DASH_CONTROL_RIGHT', 4:
172  // 'MANUAL_INPUT_DASH_CONTROL_UP', 5: 'MANUAL_INPUT_DASH_CONTROL_DOWN'},
173  // 'precision': 1.0, 'len': 8, 'is_signed_var': False, 'offset': 0.0,
174  // 'physical_range': '[0|255]', 'bit': 15, 'type': 'enum', 'order':
175  // 'motorola', 'physical_unit': ''}
176  void set_p_manual_input(
177  uint8_t* data,
178  Dash_controls_right_rpt_210::Manual_inputType manual_input);
179 
180  private:
181  Dash_controls_right_rpt_210::Output_valueType output_value_;
182  Dash_controls_right_rpt_210::Commanded_valueType commanded_value_;
183  bool vehicle_fault_;
184  bool pacmod_fault_;
185  bool override_active_;
186  bool output_reported_fault_;
187  bool input_output_fault_;
188  bool enabled_;
189  bool command_output_fault_;
190  Dash_controls_right_rpt_210::Manual_inputType manual_input_;
191 };
192 
193 } // namespace lexus
194 } // namespace canbus
195 } // namespace apollo
Dashcontrolsrightrpt210 * set_commanded_value(Dash_controls_right_rpt_210::Commanded_valueType commanded_value)
Dashcontrolsrightrpt210 * set_output_value(Dash_controls_right_rpt_210::Output_valueType output_value)
Definition: dash_controls_right_rpt_210.h:26
Dashcontrolsrightrpt210 * set_enabled(bool enabled)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
This is the base class of protocol data.
Definition: protocol_data.h:44
static const int32_t ID
Definition: dash_controls_right_rpt_210.h:29
Dashcontrolsrightrpt210 * set_output_reported_fault(bool output_reported_fault)
Dashcontrolsrightrpt210 * set_input_output_fault(bool input_output_fault)
Dashcontrolsrightrpt210 * set_override_active(bool override_active)
Dashcontrolsrightrpt210 * set_manual_input(Dash_controls_right_rpt_210::Manual_inputType manual_input)
Dashcontrolsrightrpt210 * set_command_output_fault(bool command_output_fault)
void UpdateData(uint8_t *data) override
The class of ProtocolData.
Dashcontrolsrightrpt210 * set_vehicle_fault(bool vehicle_fault)
Dashcontrolsrightrpt210 * set_pacmod_fault(bool pacmod_fault)