Apollo  6.0
Open source self driving car software
radar_config_200.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Copyright 2017 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 
20 #include "modules/drivers/proto/conti_radar.pb.h"
21 
22 namespace apollo {
23 namespace drivers {
24 namespace conti_radar {
25 
26 using apollo::drivers::ContiRadar;
27 using apollo::drivers::conti_radar::OutputType;
28 using apollo::drivers::conti_radar::RadarConf;
29 using apollo::drivers::conti_radar::RcsThreshold;
30 
32  : public apollo::drivers::canbus::ProtocolData<ContiRadar> {
33  public:
34  static const uint32_t ID;
41  uint32_t GetPeriod() const override;
42 
47  void UpdateData(uint8_t* data) override;
48 
52  void Reset() override;
53 
64 
65  RadarConfig200* set_max_distance(uint16_t data);
66  RadarConfig200* set_sensor_id(uint8_t data);
67  RadarConfig200* set_output_type(OutputType type);
68  RadarConfig200* set_radar_power(uint8_t data);
69  RadarConfig200* set_ctrl_relay(uint8_t data);
70  RadarConfig200* set_send_ext_info(uint8_t data);
71  RadarConfig200* set_send_quality(uint8_t data);
72  RadarConfig200* set_sort_index(uint8_t data);
73  RadarConfig200* set_store_in_nvm(uint8_t data);
74  RadarConfig200* set_rcs_threshold(RcsThreshold rcs_theshold);
76  RadarConf radar_conf();
77 
78  void set_max_distance_valid_p(uint8_t* data, bool valid);
79  void set_sensor_id_valid_p(uint8_t* data, bool valid);
80  void set_radar_power_valid_p(uint8_t* data, bool valid);
81  void set_output_type_valid_p(uint8_t* data, bool valid);
82  void set_send_quality_valid_p(uint8_t* data, bool valid);
83  void set_send_ext_info_valid_p(uint8_t* data, bool valid);
84  void set_sort_index_valid_p(uint8_t* data, bool valid);
85  void set_store_in_nvm_valid_p(uint8_t* data, bool valid);
86  void set_ctrl_relay_valid_p(uint8_t* data, bool valid);
87  void set_rcs_threshold_valid_p(uint8_t* data, bool valid);
88 
89  void set_max_distance_p(uint8_t* data, uint16_t value);
90  void set_sensor_id_p(uint8_t* data, uint8_t value);
91  void set_output_type_p(uint8_t* data, OutputType type);
92  void set_radar_power_p(uint8_t* data, uint8_t value);
93  void set_ctrl_relay_p(uint8_t* data, uint8_t value);
94  void set_send_ext_info_p(uint8_t* data, uint8_t value);
95  void set_send_quality_p(uint8_t* data, uint8_t value);
96  void set_sort_index_p(uint8_t* data, uint8_t value);
97  void set_store_in_nvm_p(uint8_t* data, uint8_t value);
98  void set_rcs_threshold_p(uint8_t* data, RcsThreshold rcs_theshold);
99 
100  private:
101  RadarConf radar_conf_;
102 };
103 
104 } // namespace conti_radar
105 } // namespace drivers
106 } // namespace apollo
void set_send_ext_info_p(uint8_t *data, uint8_t value)
void set_sensor_id_valid_p(uint8_t *data, bool valid)
void set_ctrl_relay_valid_p(uint8_t *data, bool valid)
RadarConfig200 * set_sensor_id_valid(bool valid)
Definition: radar_config_200.h:31
void set_send_ext_info_valid_p(uint8_t *data, bool valid)
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
void set_rcs_threshold_valid_p(uint8_t *data, bool valid)
This is the base class of protocol data.
Definition: protocol_data.h:44
RadarConfig200 * set_radar_conf(RadarConf radar_conf)
RadarConfig200 * set_output_type_valid(bool valid)
void set_rcs_threshold_p(uint8_t *data, RcsThreshold rcs_theshold)
RadarConfig200 * set_store_in_nvm_valid(bool valid)
RadarConfig200 * set_send_quality_valid(bool valid)
static const uint32_t ID
Definition: radar_config_200.h:34
RadarConfig200 * set_max_distance_valid(bool valid)
void set_max_distance_valid_p(uint8_t *data, bool valid)
RadarConfig200 * set_sensor_id(uint8_t data)
RadarConfig200 * set_ctrl_relay_valid(bool valid)
void set_output_type_valid_p(uint8_t *data, bool valid)
void set_sort_index_valid_p(uint8_t *data, bool valid)
RadarConfig200 * set_sort_index(uint8_t data)
RadarConfig200 * set_sort_index_valid(bool valid)
uint32_t GetPeriod() const override
get the data period
void UpdateData(uint8_t *data) override
update the data
RadarConfig200 * set_radar_power_valid(bool valid)
void set_max_distance_p(uint8_t *data, uint16_t value)
void set_send_quality_valid_p(uint8_t *data, bool valid)
void set_sensor_id_p(uint8_t *data, uint8_t value)
RadarConfig200 * set_max_distance(uint16_t data)
RadarConfig200 * set_rcs_threshold(RcsThreshold rcs_theshold)
void set_output_type_p(uint8_t *data, OutputType type)
RadarConfig200 * set_store_in_nvm(uint8_t data)
void set_send_quality_p(uint8_t *data, uint8_t value)
RadarConfig200 * set_send_quality(uint8_t data)
void set_store_in_nvm_valid_p(uint8_t *data, bool valid)
void Reset() override
reset the private variables
void set_sort_index_p(uint8_t *data, uint8_t value)
RadarConfig200 * set_radar_power(uint8_t data)
RadarConfig200 * set_rcs_threshold_valid(bool valid)
void set_store_in_nvm_p(uint8_t *data, uint8_t value)
The class of ProtocolData.
apollo::cyber::base::std value
RadarConfig200 * set_ctrl_relay(uint8_t data)
RadarConfig200 * set_send_ext_info(uint8_t data)
void set_ctrl_relay_p(uint8_t *data, uint8_t value)
RadarConfig200 * set_output_type(OutputType type)
RadarConfig200 * set_send_ext_info_valid(bool valid)
void set_radar_power_p(uint8_t *data, uint8_t value)
void set_radar_power_valid_p(uint8_t *data, bool valid)