6 std::shared_ptr<ScanParameters> params)
23 auto resp =
get_parameter(
"angular_fov",
"radial_range_min",
"radial_range_max",
"measure_start_angle",
24 "measure_stop_angle",
"scan_frequency");
30 params_->angle_min = start_stop.first;
31 params_->angle_max = start_stop.second;
38 param_server_R2300_ = std::make_unique<dynamic_reconfigure::Server<pf_driver::PFDriverR2300Config>>();
48 std::vector<bool> enabled_layers(vals.size(),
false);
49 for (
int i = 0; i < vals.size(); i++)
51 if (vals[i].compare(
"on") == 0)
61 float measure_start_angle =
get_parameter_float(
"measure_start_angle") / 10000.0 * M_PI / 180.0;
62 float measure_stop_angle =
get_parameter_float(
"measure_stop_angle") / 10000.0 * M_PI / 180.0;
63 start_angle = start_angle * M_PI / 180.0;
67 return std::pair<float, float>(measure_start_angle, measure_stop_angle);
72 return std::string(
"start_angle");
111 set_parameter({
KV(
"measure_start_angle", config.measure_start_angle) });
113 else if (level == 10)
115 set_parameter({
KV(
"measure_stop_angle", config.measure_stop_angle) });
117 else if (level == 11)
119 set_parameter({
KV(
"locator_indication", config.locator_indication) });
121 else if (level == 12)
125 else if (level == 13)
129 else if (level == 14)
133 else if (level == 15)
137 else if (level == 18)
139 config_->packet_type = config.packet_type;
141 else if (level == 19)
146 else if (level == 20)
148 config_->watchdog = (config.watchdog ==
"on") ?
true :
false;
150 else if (level == 21)
152 config_->watchdogtimeout = config.watchdogtimeout;
154 else if (level == 22)
156 config_->start_angle = config.start_angle;
158 else if (level == 23)
160 config_->max_num_points_scan = config.max_num_points_scan;
162 else if (level == 24)
164 config_->skip_scans = config.skip_scans;
float to_float(const std::string &s)
std::unique_ptr< dynamic_reconfigure::Server< pf_driver::PFDriverR2300Config > > param_server_R2300_
const std::vector< std::string > split(const std::string &str, const char delim=';')
void reconfig_callback(pf_driver::PFDriverR2300Config &config, uint32_t level)
void setup_param_server()
std::string get_parameter_str(const std::string ¶m)
void get_layers_enabled(uint16_t &enabled, uint16_t &highest)
virtual std::pair< float, float > get_angle_start_stop(int start_angle)
virtual std::string get_start_angle_str()
virtual std::string get_product()
std::map< std::string, std::string > get_parameter(const Ts &... ts)
PFSDP_2300(std::shared_ptr< HandleInfo > info, std::shared_ptr< ScanConfig > config, std::shared_ptr< ScanParameters > params)
bool set_parameter(const std::initializer_list< param_type > params)
INLINE Rall1d< T, V, S > pow(const Rall1d< T, V, S > &arg, double m)
virtual void get_scan_parameters()
bool update_scanoutput_config()
float get_parameter_float(const std::string ¶m)
std::shared_ptr< ScanConfig > config_
std::shared_ptr< ScanParameters > params_
virtual std::string get_part()