ardrone3_setting_callbacks.h
Go to the documentation of this file.
1 
29 #ifndef BEBOP_AUTONOMY_AUTOGENERATED_Ardrone3_SETTING_CALLBACKS_H
30 #define BEBOP_AUTONOMY_AUTOGENERATED_Ardrone3_SETTING_CALLBACKS_H
31 
32 extern "C"
33 {
34  #include "libARSAL/ARSAL.h"
35  #include "libARController/ARController.h"
36 }
37 
39 #include "bebop_driver/BebopArdrone3Config.h"
40 
41 namespace bebop_driver
42 {
43 namespace cb
44 {
45 
47 {
48 private:
51 
52 public:
54  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXALTITUDECHANGED, priv_nh)
55  , PilotingSettingsMaxAltitudeCurrent_bebop_sent_(false)
56  {}
57 
58  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
59  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
60  {
61  ::boost::lock_guard<boost::mutex> lock(mutex_);
62  bool changed = false;
63  bool all_inited = true;
64 
65  // This will likely fail for float or double values
66  if ((config.PilotingSettingsMaxAltitudeCurrent != PilotingSettingsMaxAltitudeCurrent_bebop_value_))
67  {
68  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
69  "PilotingSettingsMaxAltitudeCurrent changed!");
70  changed = true;
71  }
73 
74  if (changed && !all_inited)
75  {
76  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
77  "Value of PilotingSettingsMaxAltitude was not initialized either by Bebop or Params.");
78  }
79 
80  if (changed && all_inited)
81  {
82  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
83  "Sending PilotingSettingsMaxAltitude changes to bebop");
84 
85  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsMaxAltitude(bebop_ctrl_ptr_->aRDrone3
86  , (config.PilotingSettingsMaxAltitudeCurrent)
87  );
88  }
89  }
90 
91  // Runs in SDK's CommandReceivedCallback's context
92  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
93  {
94  if (arguments == NULL)
95  {
96  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
97  "PilotingSettingsMaxAltitude::Update() arguments is NULL");
98  return;
99  }
100 
101  ::boost::lock_guard<boost::mutex> lock(mutex_);
102 
103  arg = NULL;
104  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXALTITUDECHANGED_CURRENT, arg);
105  if (arg)
106  {
107  PilotingSettingsMaxAltitudeCurrent_bebop_sent_ = true;
108  ROS_INFO_STREAM("Value for PilotingSettingsMaxAltitudeCurrent recved: " << static_cast<double>(arg->value.Float));
109  PilotingSettingsMaxAltitudeCurrent_bebop_value_ = static_cast<double>(arg->value.Float);
110 
111  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsMaxAltitudeCurrent exists in params ...");
112  if (!priv_nh_.hasParam("PilotingSettingsMaxAltitudeCurrent"))
113  {
114  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
115  priv_nh_.setParam("PilotingSettingsMaxAltitudeCurrent", static_cast<double>(arg->value.Float));
116  }
117  else
118  {
119  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
120  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsMaxAltitudeCurrent_rosparam_value_);
121  }
122  }
123  }
124 }; // PilotingSettingsMaxAltitude
125 
127 {
128 private:
131 
132 public:
134  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXTILTCHANGED, priv_nh)
135  , PilotingSettingsMaxTiltCurrent_bebop_sent_(false)
136  {}
137 
138  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
139  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
140  {
141  ::boost::lock_guard<boost::mutex> lock(mutex_);
142  bool changed = false;
143  bool all_inited = true;
144 
145  // This will likely fail for float or double values
146  if ((config.PilotingSettingsMaxTiltCurrent != PilotingSettingsMaxTiltCurrent_bebop_value_))
147  {
148  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
149  "PilotingSettingsMaxTiltCurrent changed!");
150  changed = true;
151  }
152  all_inited &= PilotingSettingsMaxTiltCurrent_bebop_sent_;
153 
154  if (changed && !all_inited)
155  {
156  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
157  "Value of PilotingSettingsMaxTilt was not initialized either by Bebop or Params.");
158  }
159 
160  if (changed && all_inited)
161  {
162  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
163  "Sending PilotingSettingsMaxTilt changes to bebop");
164 
165  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsMaxTilt(bebop_ctrl_ptr_->aRDrone3
166  , (config.PilotingSettingsMaxTiltCurrent)
167  );
168  }
169  }
170 
171  // Runs in SDK's CommandReceivedCallback's context
172  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
173  {
174  if (arguments == NULL)
175  {
176  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
177  "PilotingSettingsMaxTilt::Update() arguments is NULL");
178  return;
179  }
180 
181  ::boost::lock_guard<boost::mutex> lock(mutex_);
182 
183  arg = NULL;
184  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXTILTCHANGED_CURRENT, arg);
185  if (arg)
186  {
187  PilotingSettingsMaxTiltCurrent_bebop_sent_ = true;
188  ROS_INFO_STREAM("Value for PilotingSettingsMaxTiltCurrent recved: " << static_cast<double>(arg->value.Float));
189  PilotingSettingsMaxTiltCurrent_bebop_value_ = static_cast<double>(arg->value.Float);
190 
191  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsMaxTiltCurrent exists in params ...");
192  if (!priv_nh_.hasParam("PilotingSettingsMaxTiltCurrent"))
193  {
194  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
195  priv_nh_.setParam("PilotingSettingsMaxTiltCurrent", static_cast<double>(arg->value.Float));
196  }
197  else
198  {
199  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
200  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsMaxTiltCurrent_rosparam_value_);
201  }
202  }
203  }
204 }; // PilotingSettingsMaxTilt
205 
207 {
208 private:
211 
212 public:
214  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_ABSOLUTCONTROLCHANGED, priv_nh)
215  , PilotingSettingsAbsolutControlOn_bebop_sent_(false)
216  {}
217 
218  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
219  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
220  {
221  ::boost::lock_guard<boost::mutex> lock(mutex_);
222  bool changed = false;
223  bool all_inited = true;
224 
225  // This will likely fail for float or double values
226  if ((config.PilotingSettingsAbsolutControlOn != PilotingSettingsAbsolutControlOn_bebop_value_))
227  {
228  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
229  "PilotingSettingsAbsolutControlOn changed!");
230  changed = true;
231  }
232  all_inited &= PilotingSettingsAbsolutControlOn_bebop_sent_;
233 
234  if (changed && !all_inited)
235  {
236  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
237  "Value of PilotingSettingsAbsolutControl was not initialized either by Bebop or Params.");
238  }
239 
240  if (changed && all_inited)
241  {
242  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
243  "Sending PilotingSettingsAbsolutControl changes to bebop");
244 
245  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsAbsolutControl(bebop_ctrl_ptr_->aRDrone3
246  , (config.PilotingSettingsAbsolutControlOn)
247  );
248  }
249  }
250 
251  // Runs in SDK's CommandReceivedCallback's context
252  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
253  {
254  if (arguments == NULL)
255  {
256  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
257  "PilotingSettingsAbsolutControl::Update() arguments is NULL");
258  return;
259  }
260 
261  ::boost::lock_guard<boost::mutex> lock(mutex_);
262 
263  arg = NULL;
264  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_ABSOLUTCONTROLCHANGED_ON, arg);
265  if (arg)
266  {
267  PilotingSettingsAbsolutControlOn_bebop_sent_ = true;
268  ROS_INFO_STREAM("Value for PilotingSettingsAbsolutControlOn recved: " << static_cast<int32_t>(arg->value.U8));
269  PilotingSettingsAbsolutControlOn_bebop_value_ = static_cast<int32_t>(arg->value.U8);
270 
271  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsAbsolutControlOn exists in params ...");
272  if (!priv_nh_.hasParam("PilotingSettingsAbsolutControlOn"))
273  {
274  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
275  priv_nh_.setParam("PilotingSettingsAbsolutControlOn", static_cast<int32_t>(arg->value.U8));
276  }
277  else
278  {
279  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
280  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsAbsolutControlOn_rosparam_value_);
281  }
282  }
283  }
284 }; // PilotingSettingsAbsolutControl
285 
287 {
288 private:
291 
292 public:
294  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED, priv_nh)
295  , PilotingSettingsMaxDistanceValue_bebop_sent_(false)
296  {}
297 
298  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
299  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
300  {
301  ::boost::lock_guard<boost::mutex> lock(mutex_);
302  bool changed = false;
303  bool all_inited = true;
304 
305  // This will likely fail for float or double values
306  if ((config.PilotingSettingsMaxDistanceValue != PilotingSettingsMaxDistanceValue_bebop_value_))
307  {
308  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
309  "PilotingSettingsMaxDistanceValue changed!");
310  changed = true;
311  }
312  all_inited &= PilotingSettingsMaxDistanceValue_bebop_sent_;
313 
314  if (changed && !all_inited)
315  {
316  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
317  "Value of PilotingSettingsMaxDistance was not initialized either by Bebop or Params.");
318  }
319 
320  if (changed && all_inited)
321  {
322  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
323  "Sending PilotingSettingsMaxDistance changes to bebop");
324 
325  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsMaxDistance(bebop_ctrl_ptr_->aRDrone3
326  , (config.PilotingSettingsMaxDistanceValue)
327  );
328  }
329  }
330 
331  // Runs in SDK's CommandReceivedCallback's context
332  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
333  {
334  if (arguments == NULL)
335  {
336  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
337  "PilotingSettingsMaxDistance::Update() arguments is NULL");
338  return;
339  }
340 
341  ::boost::lock_guard<boost::mutex> lock(mutex_);
342 
343  arg = NULL;
344  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MAXDISTANCECHANGED_CURRENT, arg);
345  if (arg)
346  {
347  PilotingSettingsMaxDistanceValue_bebop_sent_ = true;
348  ROS_INFO_STREAM("Value for PilotingSettingsMaxDistanceValue recved: " << static_cast<double>(arg->value.Float));
349  PilotingSettingsMaxDistanceValue_bebop_value_ = static_cast<double>(arg->value.Float);
350 
351  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsMaxDistanceValue exists in params ...");
352  if (!priv_nh_.hasParam("PilotingSettingsMaxDistanceValue"))
353  {
354  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
355  priv_nh_.setParam("PilotingSettingsMaxDistanceValue", static_cast<double>(arg->value.Float));
356  }
357  else
358  {
359  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
360  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsMaxDistanceValue_rosparam_value_);
361  }
362  }
363  }
364 }; // PilotingSettingsMaxDistance
365 
367 {
368 private:
371 
372 public:
374  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_NOFLYOVERMAXDISTANCECHANGED, priv_nh)
375  , PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_bebop_sent_(false)
376  {}
377 
378  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
379  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
380  {
381  ::boost::lock_guard<boost::mutex> lock(mutex_);
382  bool changed = false;
383  bool all_inited = true;
384 
385  // This will likely fail for float or double values
386  if ((config.PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover != PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_bebop_value_))
387  {
388  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
389  "PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover changed!");
390  changed = true;
391  }
392  all_inited &= PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_bebop_sent_;
393 
394  if (changed && !all_inited)
395  {
396  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
397  "Value of PilotingSettingsNoFlyOverMaxDistance was not initialized either by Bebop or Params.");
398  }
399 
400  if (changed && all_inited)
401  {
402  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
403  "Sending PilotingSettingsNoFlyOverMaxDistance changes to bebop");
404 
405  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsNoFlyOverMaxDistance(bebop_ctrl_ptr_->aRDrone3
406  , (config.PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover)
407  );
408  }
409  }
410 
411  // Runs in SDK's CommandReceivedCallback's context
412  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
413  {
414  if (arguments == NULL)
415  {
416  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
417  "PilotingSettingsNoFlyOverMaxDistance::Update() arguments is NULL");
418  return;
419  }
420 
421  ::boost::lock_guard<boost::mutex> lock(mutex_);
422 
423  arg = NULL;
424  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_NOFLYOVERMAXDISTANCECHANGED_SHOULDNOTFLYOVER, arg);
425  if (arg)
426  {
427  PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_bebop_sent_ = true;
428  ROS_INFO_STREAM("Value for PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover recved: " << static_cast<int32_t>(arg->value.U8));
429  PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_bebop_value_ = static_cast<int32_t>(arg->value.U8);
430 
431  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover exists in params ...");
432  if (!priv_nh_.hasParam("PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover"))
433  {
434  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
435  priv_nh_.setParam("PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover", static_cast<int32_t>(arg->value.U8));
436  }
437  else
438  {
439  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
440  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsNoFlyOverMaxDistanceShouldnotflyover_rosparam_value_);
441  }
442  }
443  }
444 }; // PilotingSettingsNoFlyOverMaxDistance
445 
447 {
448 private:
451 
452 public:
454  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_BANKEDTURNCHANGED, priv_nh)
455  , PilotingSettingsBankedTurnValue_bebop_sent_(false)
456  {}
457 
458  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
459  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
460  {
461  ::boost::lock_guard<boost::mutex> lock(mutex_);
462  bool changed = false;
463  bool all_inited = true;
464 
465  // This will likely fail for float or double values
466  if ((config.PilotingSettingsBankedTurnValue != PilotingSettingsBankedTurnValue_bebop_value_))
467  {
468  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
469  "PilotingSettingsBankedTurnValue changed!");
470  changed = true;
471  }
472  all_inited &= PilotingSettingsBankedTurnValue_bebop_sent_;
473 
474  if (changed && !all_inited)
475  {
476  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
477  "Value of PilotingSettingsBankedTurn was not initialized either by Bebop or Params.");
478  }
479 
480  if (changed && all_inited)
481  {
482  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
483  "Sending PilotingSettingsBankedTurn changes to bebop");
484 
485  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsBankedTurn(bebop_ctrl_ptr_->aRDrone3
486  , (config.PilotingSettingsBankedTurnValue)
487  );
488  }
489  }
490 
491  // Runs in SDK's CommandReceivedCallback's context
492  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
493  {
494  if (arguments == NULL)
495  {
496  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
497  "PilotingSettingsBankedTurn::Update() arguments is NULL");
498  return;
499  }
500 
501  ::boost::lock_guard<boost::mutex> lock(mutex_);
502 
503  arg = NULL;
504  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_BANKEDTURNCHANGED_STATE, arg);
505  if (arg)
506  {
507  PilotingSettingsBankedTurnValue_bebop_sent_ = true;
508  ROS_INFO_STREAM("Value for PilotingSettingsBankedTurnValue recved: " << static_cast<int32_t>(arg->value.U8));
509  PilotingSettingsBankedTurnValue_bebop_value_ = static_cast<int32_t>(arg->value.U8);
510 
511  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsBankedTurnValue exists in params ...");
512  if (!priv_nh_.hasParam("PilotingSettingsBankedTurnValue"))
513  {
514  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
515  priv_nh_.setParam("PilotingSettingsBankedTurnValue", static_cast<int32_t>(arg->value.U8));
516  }
517  else
518  {
519  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
520  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsBankedTurnValue_rosparam_value_);
521  }
522  }
523  }
524 }; // PilotingSettingsBankedTurn
525 
527 {
528 private:
531 
532 public:
534  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MINALTITUDECHANGED, priv_nh)
535  , PilotingSettingsMinAltitudeCurrent_bebop_sent_(false)
536  {}
537 
538  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
539  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
540  {
541  ::boost::lock_guard<boost::mutex> lock(mutex_);
542  bool changed = false;
543  bool all_inited = true;
544 
545  // This will likely fail for float or double values
546  if ((config.PilotingSettingsMinAltitudeCurrent != PilotingSettingsMinAltitudeCurrent_bebop_value_))
547  {
548  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
549  "PilotingSettingsMinAltitudeCurrent changed!");
550  changed = true;
551  }
552  all_inited &= PilotingSettingsMinAltitudeCurrent_bebop_sent_;
553 
554  if (changed && !all_inited)
555  {
556  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
557  "Value of PilotingSettingsMinAltitude was not initialized either by Bebop or Params.");
558  }
559 
560  if (changed && all_inited)
561  {
562  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
563  "Sending PilotingSettingsMinAltitude changes to bebop");
564 
565  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsMinAltitude(bebop_ctrl_ptr_->aRDrone3
566  , (config.PilotingSettingsMinAltitudeCurrent)
567  );
568  }
569  }
570 
571  // Runs in SDK's CommandReceivedCallback's context
572  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
573  {
574  if (arguments == NULL)
575  {
576  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
577  "PilotingSettingsMinAltitude::Update() arguments is NULL");
578  return;
579  }
580 
581  ::boost::lock_guard<boost::mutex> lock(mutex_);
582 
583  arg = NULL;
584  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_MINALTITUDECHANGED_CURRENT, arg);
585  if (arg)
586  {
587  PilotingSettingsMinAltitudeCurrent_bebop_sent_ = true;
588  ROS_INFO_STREAM("Value for PilotingSettingsMinAltitudeCurrent recved: " << static_cast<double>(arg->value.Float));
589  PilotingSettingsMinAltitudeCurrent_bebop_value_ = static_cast<double>(arg->value.Float);
590 
591  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsMinAltitudeCurrent exists in params ...");
592  if (!priv_nh_.hasParam("PilotingSettingsMinAltitudeCurrent"))
593  {
594  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
595  priv_nh_.setParam("PilotingSettingsMinAltitudeCurrent", static_cast<double>(arg->value.Float));
596  }
597  else
598  {
599  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
600  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsMinAltitudeCurrent_rosparam_value_);
601  }
602  }
603  }
604 }; // PilotingSettingsMinAltitude
605 
607 {
608 private:
611 
612 public:
614  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGDIRECTIONCHANGED, priv_nh)
615  , PilotingSettingsCirclingDirectionValue_bebop_sent_(false)
616  {}
617 
618  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
619  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
620  {
621  ::boost::lock_guard<boost::mutex> lock(mutex_);
622  bool changed = false;
623  bool all_inited = true;
624 
625  // This will likely fail for float or double values
626  if ((config.PilotingSettingsCirclingDirectionValue != PilotingSettingsCirclingDirectionValue_bebop_value_))
627  {
628  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
629  "PilotingSettingsCirclingDirectionValue changed!");
630  changed = true;
631  }
632  all_inited &= PilotingSettingsCirclingDirectionValue_bebop_sent_;
633 
634  if (changed && !all_inited)
635  {
636  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
637  "Value of PilotingSettingsCirclingDirection was not initialized either by Bebop or Params.");
638  }
639 
640  if (changed && all_inited)
641  {
642  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
643  "Sending PilotingSettingsCirclingDirection changes to bebop");
644 
645  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsCirclingDirection(bebop_ctrl_ptr_->aRDrone3
646  , static_cast<eARCOMMANDS_ARDRONE3_PILOTINGSETTINGS_CIRCLINGDIRECTION_VALUE>(config.PilotingSettingsCirclingDirectionValue)
647  );
648  }
649  }
650 
651  // Runs in SDK's CommandReceivedCallback's context
652  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
653  {
654  if (arguments == NULL)
655  {
656  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
657  "PilotingSettingsCirclingDirection::Update() arguments is NULL");
658  return;
659  }
660 
661  ::boost::lock_guard<boost::mutex> lock(mutex_);
662 
663  arg = NULL;
664  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGDIRECTIONCHANGED_VALUE, arg);
665  if (arg)
666  {
667  PilotingSettingsCirclingDirectionValue_bebop_sent_ = true;
668  ROS_INFO_STREAM("Value for PilotingSettingsCirclingDirectionValue recved: " << static_cast<int32_t>(arg->value.I32));
669  PilotingSettingsCirclingDirectionValue_bebop_value_ = static_cast<int32_t>(arg->value.I32);
670 
671  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsCirclingDirectionValue exists in params ...");
672  if (!priv_nh_.hasParam("PilotingSettingsCirclingDirectionValue"))
673  {
674  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
675  priv_nh_.setParam("PilotingSettingsCirclingDirectionValue", static_cast<int32_t>(arg->value.I32));
676  }
677  else
678  {
679  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
680  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsCirclingDirectionValue_rosparam_value_);
681  }
682  }
683  }
684 }; // PilotingSettingsCirclingDirection
685 
687 {
688 private:
691 
692 public:
694  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGRADIUSCHANGED, priv_nh)
695  , PilotingSettingsCirclingRadiusValue_bebop_sent_(false)
696  {}
697 
698  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
699  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
700  {
701  ::boost::lock_guard<boost::mutex> lock(mutex_);
702  bool changed = false;
703  bool all_inited = true;
704 
705  // This will likely fail for float or double values
706  if ((config.PilotingSettingsCirclingRadiusValue != PilotingSettingsCirclingRadiusValue_bebop_value_))
707  {
708  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
709  "PilotingSettingsCirclingRadiusValue changed!");
710  changed = true;
711  }
712  all_inited &= PilotingSettingsCirclingRadiusValue_bebop_sent_;
713 
714  if (changed && !all_inited)
715  {
716  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
717  "Value of PilotingSettingsCirclingRadius was not initialized either by Bebop or Params.");
718  }
719 
720  if (changed && all_inited)
721  {
722  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
723  "Sending PilotingSettingsCirclingRadius changes to bebop");
724 
725  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsCirclingRadius(bebop_ctrl_ptr_->aRDrone3
726  , (config.PilotingSettingsCirclingRadiusValue)
727  );
728  }
729  }
730 
731  // Runs in SDK's CommandReceivedCallback's context
732  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
733  {
734  if (arguments == NULL)
735  {
736  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
737  "PilotingSettingsCirclingRadius::Update() arguments is NULL");
738  return;
739  }
740 
741  ::boost::lock_guard<boost::mutex> lock(mutex_);
742 
743  arg = NULL;
744  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGRADIUSCHANGED_CURRENT, arg);
745  if (arg)
746  {
747  PilotingSettingsCirclingRadiusValue_bebop_sent_ = true;
748  ROS_INFO_STREAM("Value for PilotingSettingsCirclingRadiusValue recved: " << static_cast<int32_t>(arg->value.U16));
749  PilotingSettingsCirclingRadiusValue_bebop_value_ = static_cast<int32_t>(arg->value.U16);
750 
751  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsCirclingRadiusValue exists in params ...");
752  if (!priv_nh_.hasParam("PilotingSettingsCirclingRadiusValue"))
753  {
754  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
755  priv_nh_.setParam("PilotingSettingsCirclingRadiusValue", static_cast<int32_t>(arg->value.U16));
756  }
757  else
758  {
759  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
760  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsCirclingRadiusValue_rosparam_value_);
761  }
762  }
763  }
764 }; // PilotingSettingsCirclingRadius
765 
767 {
768 private:
771 
772 public:
774  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGALTITUDECHANGED, priv_nh)
775  , PilotingSettingsCirclingAltitudeValue_bebop_sent_(false)
776  {}
777 
778  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
779  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
780  {
781  ::boost::lock_guard<boost::mutex> lock(mutex_);
782  bool changed = false;
783  bool all_inited = true;
784 
785  // This will likely fail for float or double values
786  if ((config.PilotingSettingsCirclingAltitudeValue != PilotingSettingsCirclingAltitudeValue_bebop_value_))
787  {
788  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
789  "PilotingSettingsCirclingAltitudeValue changed!");
790  changed = true;
791  }
792  all_inited &= PilotingSettingsCirclingAltitudeValue_bebop_sent_;
793 
794  if (changed && !all_inited)
795  {
796  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
797  "Value of PilotingSettingsCirclingAltitude was not initialized either by Bebop or Params.");
798  }
799 
800  if (changed && all_inited)
801  {
802  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
803  "Sending PilotingSettingsCirclingAltitude changes to bebop");
804 
805  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsCirclingAltitude(bebop_ctrl_ptr_->aRDrone3
806  , (config.PilotingSettingsCirclingAltitudeValue)
807  );
808  }
809  }
810 
811  // Runs in SDK's CommandReceivedCallback's context
812  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
813  {
814  if (arguments == NULL)
815  {
816  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
817  "PilotingSettingsCirclingAltitude::Update() arguments is NULL");
818  return;
819  }
820 
821  ::boost::lock_guard<boost::mutex> lock(mutex_);
822 
823  arg = NULL;
824  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_CIRCLINGALTITUDECHANGED_CURRENT, arg);
825  if (arg)
826  {
827  PilotingSettingsCirclingAltitudeValue_bebop_sent_ = true;
828  ROS_INFO_STREAM("Value for PilotingSettingsCirclingAltitudeValue recved: " << static_cast<int32_t>(arg->value.U16));
829  PilotingSettingsCirclingAltitudeValue_bebop_value_ = static_cast<int32_t>(arg->value.U16);
830 
831  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsCirclingAltitudeValue exists in params ...");
832  if (!priv_nh_.hasParam("PilotingSettingsCirclingAltitudeValue"))
833  {
834  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
835  priv_nh_.setParam("PilotingSettingsCirclingAltitudeValue", static_cast<int32_t>(arg->value.U16));
836  }
837  else
838  {
839  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
840  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsCirclingAltitudeValue_rosparam_value_);
841  }
842  }
843  }
844 }; // PilotingSettingsCirclingAltitude
845 
847 {
848 private:
851 
852 public:
854  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_PITCHMODECHANGED, priv_nh)
855  , PilotingSettingsPitchModeValue_bebop_sent_(false)
856  {}
857 
858  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
859  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
860  {
861  ::boost::lock_guard<boost::mutex> lock(mutex_);
862  bool changed = false;
863  bool all_inited = true;
864 
865  // This will likely fail for float or double values
866  if ((config.PilotingSettingsPitchModeValue != PilotingSettingsPitchModeValue_bebop_value_))
867  {
868  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
869  "PilotingSettingsPitchModeValue changed!");
870  changed = true;
871  }
872  all_inited &= PilotingSettingsPitchModeValue_bebop_sent_;
873 
874  if (changed && !all_inited)
875  {
876  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
877  "Value of PilotingSettingsPitchMode was not initialized either by Bebop or Params.");
878  }
879 
880  if (changed && all_inited)
881  {
882  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
883  "Sending PilotingSettingsPitchMode changes to bebop");
884 
885  bebop_ctrl_ptr_->aRDrone3->sendPilotingSettingsPitchMode(bebop_ctrl_ptr_->aRDrone3
886  , static_cast<eARCOMMANDS_ARDRONE3_PILOTINGSETTINGS_PITCHMODE_VALUE>(config.PilotingSettingsPitchModeValue)
887  );
888  }
889  }
890 
891  // Runs in SDK's CommandReceivedCallback's context
892  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
893  {
894  if (arguments == NULL)
895  {
896  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
897  "PilotingSettingsPitchMode::Update() arguments is NULL");
898  return;
899  }
900 
901  ::boost::lock_guard<boost::mutex> lock(mutex_);
902 
903  arg = NULL;
904  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PILOTINGSETTINGSSTATE_PITCHMODECHANGED_VALUE, arg);
905  if (arg)
906  {
907  PilotingSettingsPitchModeValue_bebop_sent_ = true;
908  ROS_INFO_STREAM("Value for PilotingSettingsPitchModeValue recved: " << static_cast<int32_t>(arg->value.I32));
909  PilotingSettingsPitchModeValue_bebop_value_ = static_cast<int32_t>(arg->value.I32);
910 
911  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PilotingSettingsPitchModeValue exists in params ...");
912  if (!priv_nh_.hasParam("PilotingSettingsPitchModeValue"))
913  {
914  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
915  priv_nh_.setParam("PilotingSettingsPitchModeValue", static_cast<int32_t>(arg->value.I32));
916  }
917  else
918  {
919  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
920  //ROS_INFO_STREAM("New value for ros interanal variable: " << PilotingSettingsPitchModeValue_rosparam_value_);
921  }
922  }
923  }
924 }; // PilotingSettingsPitchMode
925 
927 {
928 private:
931 
932 public:
934  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_MAXVERTICALSPEEDCHANGED, priv_nh)
935  , SpeedSettingsMaxVerticalSpeedCurrent_bebop_sent_(false)
936  {}
937 
938  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
939  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
940  {
941  ::boost::lock_guard<boost::mutex> lock(mutex_);
942  bool changed = false;
943  bool all_inited = true;
944 
945  // This will likely fail for float or double values
946  if ((config.SpeedSettingsMaxVerticalSpeedCurrent != SpeedSettingsMaxVerticalSpeedCurrent_bebop_value_))
947  {
948  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
949  "SpeedSettingsMaxVerticalSpeedCurrent changed!");
950  changed = true;
951  }
952  all_inited &= SpeedSettingsMaxVerticalSpeedCurrent_bebop_sent_;
953 
954  if (changed && !all_inited)
955  {
956  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
957  "Value of SpeedSettingsMaxVerticalSpeed was not initialized either by Bebop or Params.");
958  }
959 
960  if (changed && all_inited)
961  {
962  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
963  "Sending SpeedSettingsMaxVerticalSpeed changes to bebop");
964 
965  bebop_ctrl_ptr_->aRDrone3->sendSpeedSettingsMaxVerticalSpeed(bebop_ctrl_ptr_->aRDrone3
966  , (config.SpeedSettingsMaxVerticalSpeedCurrent)
967  );
968  }
969  }
970 
971  // Runs in SDK's CommandReceivedCallback's context
972  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
973  {
974  if (arguments == NULL)
975  {
976  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
977  "SpeedSettingsMaxVerticalSpeed::Update() arguments is NULL");
978  return;
979  }
980 
981  ::boost::lock_guard<boost::mutex> lock(mutex_);
982 
983  arg = NULL;
984  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_MAXVERTICALSPEEDCHANGED_CURRENT, arg);
985  if (arg)
986  {
987  SpeedSettingsMaxVerticalSpeedCurrent_bebop_sent_ = true;
988  ROS_INFO_STREAM("Value for SpeedSettingsMaxVerticalSpeedCurrent recved: " << static_cast<double>(arg->value.Float));
989  SpeedSettingsMaxVerticalSpeedCurrent_bebop_value_ = static_cast<double>(arg->value.Float);
990 
991  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if SpeedSettingsMaxVerticalSpeedCurrent exists in params ...");
992  if (!priv_nh_.hasParam("SpeedSettingsMaxVerticalSpeedCurrent"))
993  {
994  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
995  priv_nh_.setParam("SpeedSettingsMaxVerticalSpeedCurrent", static_cast<double>(arg->value.Float));
996  }
997  else
998  {
999  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1000  //ROS_INFO_STREAM("New value for ros interanal variable: " << SpeedSettingsMaxVerticalSpeedCurrent_rosparam_value_);
1001  }
1002  }
1003  }
1004 }; // SpeedSettingsMaxVerticalSpeed
1005 
1007 {
1008 private:
1011 
1012 public:
1014  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_MAXROTATIONSPEEDCHANGED, priv_nh)
1015  , SpeedSettingsMaxRotationSpeedCurrent_bebop_sent_(false)
1016  {}
1017 
1018  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1019  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1020  {
1021  ::boost::lock_guard<boost::mutex> lock(mutex_);
1022  bool changed = false;
1023  bool all_inited = true;
1024 
1025  // This will likely fail for float or double values
1026  if ((config.SpeedSettingsMaxRotationSpeedCurrent != SpeedSettingsMaxRotationSpeedCurrent_bebop_value_))
1027  {
1028  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1029  "SpeedSettingsMaxRotationSpeedCurrent changed!");
1030  changed = true;
1031  }
1032  all_inited &= SpeedSettingsMaxRotationSpeedCurrent_bebop_sent_;
1033 
1034  if (changed && !all_inited)
1035  {
1036  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1037  "Value of SpeedSettingsMaxRotationSpeed was not initialized either by Bebop or Params.");
1038  }
1039 
1040  if (changed && all_inited)
1041  {
1042  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1043  "Sending SpeedSettingsMaxRotationSpeed changes to bebop");
1044 
1045  bebop_ctrl_ptr_->aRDrone3->sendSpeedSettingsMaxRotationSpeed(bebop_ctrl_ptr_->aRDrone3
1046  , (config.SpeedSettingsMaxRotationSpeedCurrent)
1047  );
1048  }
1049  }
1050 
1051  // Runs in SDK's CommandReceivedCallback's context
1052  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1053  {
1054  if (arguments == NULL)
1055  {
1056  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1057  "SpeedSettingsMaxRotationSpeed::Update() arguments is NULL");
1058  return;
1059  }
1060 
1061  ::boost::lock_guard<boost::mutex> lock(mutex_);
1062 
1063  arg = NULL;
1064  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_MAXROTATIONSPEEDCHANGED_CURRENT, arg);
1065  if (arg)
1066  {
1067  SpeedSettingsMaxRotationSpeedCurrent_bebop_sent_ = true;
1068  ROS_INFO_STREAM("Value for SpeedSettingsMaxRotationSpeedCurrent recved: " << static_cast<double>(arg->value.Float));
1069  SpeedSettingsMaxRotationSpeedCurrent_bebop_value_ = static_cast<double>(arg->value.Float);
1070 
1071  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if SpeedSettingsMaxRotationSpeedCurrent exists in params ...");
1072  if (!priv_nh_.hasParam("SpeedSettingsMaxRotationSpeedCurrent"))
1073  {
1074  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1075  priv_nh_.setParam("SpeedSettingsMaxRotationSpeedCurrent", static_cast<double>(arg->value.Float));
1076  }
1077  else
1078  {
1079  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1080  //ROS_INFO_STREAM("New value for ros interanal variable: " << SpeedSettingsMaxRotationSpeedCurrent_rosparam_value_);
1081  }
1082  }
1083  }
1084 }; // SpeedSettingsMaxRotationSpeed
1085 
1087 {
1088 private:
1091 
1092 public:
1094  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_HULLPROTECTIONCHANGED, priv_nh)
1095  , SpeedSettingsHullProtectionPresent_bebop_sent_(false)
1096  {}
1097 
1098  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1099  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1100  {
1101  ::boost::lock_guard<boost::mutex> lock(mutex_);
1102  bool changed = false;
1103  bool all_inited = true;
1104 
1105  // This will likely fail for float or double values
1106  if ((config.SpeedSettingsHullProtectionPresent != SpeedSettingsHullProtectionPresent_bebop_value_))
1107  {
1108  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1109  "SpeedSettingsHullProtectionPresent changed!");
1110  changed = true;
1111  }
1112  all_inited &= SpeedSettingsHullProtectionPresent_bebop_sent_;
1113 
1114  if (changed && !all_inited)
1115  {
1116  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1117  "Value of SpeedSettingsHullProtection was not initialized either by Bebop or Params.");
1118  }
1119 
1120  if (changed && all_inited)
1121  {
1122  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1123  "Sending SpeedSettingsHullProtection changes to bebop");
1124 
1125  bebop_ctrl_ptr_->aRDrone3->sendSpeedSettingsHullProtection(bebop_ctrl_ptr_->aRDrone3
1126  , (config.SpeedSettingsHullProtectionPresent)
1127  );
1128  }
1129  }
1130 
1131  // Runs in SDK's CommandReceivedCallback's context
1132  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1133  {
1134  if (arguments == NULL)
1135  {
1136  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1137  "SpeedSettingsHullProtection::Update() arguments is NULL");
1138  return;
1139  }
1140 
1141  ::boost::lock_guard<boost::mutex> lock(mutex_);
1142 
1143  arg = NULL;
1144  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_HULLPROTECTIONCHANGED_PRESENT, arg);
1145  if (arg)
1146  {
1147  SpeedSettingsHullProtectionPresent_bebop_sent_ = true;
1148  ROS_INFO_STREAM("Value for SpeedSettingsHullProtectionPresent recved: " << static_cast<int32_t>(arg->value.U8));
1149  SpeedSettingsHullProtectionPresent_bebop_value_ = static_cast<int32_t>(arg->value.U8);
1150 
1151  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if SpeedSettingsHullProtectionPresent exists in params ...");
1152  if (!priv_nh_.hasParam("SpeedSettingsHullProtectionPresent"))
1153  {
1154  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1155  priv_nh_.setParam("SpeedSettingsHullProtectionPresent", static_cast<int32_t>(arg->value.U8));
1156  }
1157  else
1158  {
1159  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1160  //ROS_INFO_STREAM("New value for ros interanal variable: " << SpeedSettingsHullProtectionPresent_rosparam_value_);
1161  }
1162  }
1163  }
1164 }; // SpeedSettingsHullProtection
1165 
1167 {
1168 private:
1171 
1172 public:
1174  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_OUTDOORCHANGED, priv_nh)
1175  , SpeedSettingsOutdoorOutdoor_bebop_sent_(false)
1176  {}
1177 
1178  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1179  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1180  {
1181  ::boost::lock_guard<boost::mutex> lock(mutex_);
1182  bool changed = false;
1183  bool all_inited = true;
1184 
1185  // This will likely fail for float or double values
1186  if ((config.SpeedSettingsOutdoorOutdoor != SpeedSettingsOutdoorOutdoor_bebop_value_))
1187  {
1188  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1189  "SpeedSettingsOutdoorOutdoor changed!");
1190  changed = true;
1191  }
1192  all_inited &= SpeedSettingsOutdoorOutdoor_bebop_sent_;
1193 
1194  if (changed && !all_inited)
1195  {
1196  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1197  "Value of SpeedSettingsOutdoor was not initialized either by Bebop or Params.");
1198  }
1199 
1200  if (changed && all_inited)
1201  {
1202  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1203  "Sending SpeedSettingsOutdoor changes to bebop");
1204 
1205  bebop_ctrl_ptr_->aRDrone3->sendSpeedSettingsOutdoor(bebop_ctrl_ptr_->aRDrone3
1206  , (config.SpeedSettingsOutdoorOutdoor)
1207  );
1208  }
1209  }
1210 
1211  // Runs in SDK's CommandReceivedCallback's context
1212  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1213  {
1214  if (arguments == NULL)
1215  {
1216  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1217  "SpeedSettingsOutdoor::Update() arguments is NULL");
1218  return;
1219  }
1220 
1221  ::boost::lock_guard<boost::mutex> lock(mutex_);
1222 
1223  arg = NULL;
1224  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_OUTDOORCHANGED_OUTDOOR, arg);
1225  if (arg)
1226  {
1227  SpeedSettingsOutdoorOutdoor_bebop_sent_ = true;
1228  ROS_INFO_STREAM("Value for SpeedSettingsOutdoorOutdoor recved: " << static_cast<int32_t>(arg->value.U8));
1229  SpeedSettingsOutdoorOutdoor_bebop_value_ = static_cast<int32_t>(arg->value.U8);
1230 
1231  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if SpeedSettingsOutdoorOutdoor exists in params ...");
1232  if (!priv_nh_.hasParam("SpeedSettingsOutdoorOutdoor"))
1233  {
1234  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1235  priv_nh_.setParam("SpeedSettingsOutdoorOutdoor", static_cast<int32_t>(arg->value.U8));
1236  }
1237  else
1238  {
1239  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1240  //ROS_INFO_STREAM("New value for ros interanal variable: " << SpeedSettingsOutdoorOutdoor_rosparam_value_);
1241  }
1242  }
1243  }
1244 }; // SpeedSettingsOutdoor
1245 
1247 {
1248 private:
1251 
1252 public:
1254  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_MAXPITCHROLLROTATIONSPEEDCHANGED, priv_nh)
1255  , SpeedSettingsMaxPitchRollRotationSpeedCurrent_bebop_sent_(false)
1256  {}
1257 
1258  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1259  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1260  {
1261  ::boost::lock_guard<boost::mutex> lock(mutex_);
1262  bool changed = false;
1263  bool all_inited = true;
1264 
1265  // This will likely fail for float or double values
1266  if ((config.SpeedSettingsMaxPitchRollRotationSpeedCurrent != SpeedSettingsMaxPitchRollRotationSpeedCurrent_bebop_value_))
1267  {
1268  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1269  "SpeedSettingsMaxPitchRollRotationSpeedCurrent changed!");
1270  changed = true;
1271  }
1272  all_inited &= SpeedSettingsMaxPitchRollRotationSpeedCurrent_bebop_sent_;
1273 
1274  if (changed && !all_inited)
1275  {
1276  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1277  "Value of SpeedSettingsMaxPitchRollRotationSpeed was not initialized either by Bebop or Params.");
1278  }
1279 
1280  if (changed && all_inited)
1281  {
1282  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1283  "Sending SpeedSettingsMaxPitchRollRotationSpeed changes to bebop");
1284 
1285  bebop_ctrl_ptr_->aRDrone3->sendSpeedSettingsMaxPitchRollRotationSpeed(bebop_ctrl_ptr_->aRDrone3
1286  , (config.SpeedSettingsMaxPitchRollRotationSpeedCurrent)
1287  );
1288  }
1289  }
1290 
1291  // Runs in SDK's CommandReceivedCallback's context
1292  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1293  {
1294  if (arguments == NULL)
1295  {
1296  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1297  "SpeedSettingsMaxPitchRollRotationSpeed::Update() arguments is NULL");
1298  return;
1299  }
1300 
1301  ::boost::lock_guard<boost::mutex> lock(mutex_);
1302 
1303  arg = NULL;
1304  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_SPEEDSETTINGSSTATE_MAXPITCHROLLROTATIONSPEEDCHANGED_CURRENT, arg);
1305  if (arg)
1306  {
1307  SpeedSettingsMaxPitchRollRotationSpeedCurrent_bebop_sent_ = true;
1308  ROS_INFO_STREAM("Value for SpeedSettingsMaxPitchRollRotationSpeedCurrent recved: " << static_cast<double>(arg->value.Float));
1309  SpeedSettingsMaxPitchRollRotationSpeedCurrent_bebop_value_ = static_cast<double>(arg->value.Float);
1310 
1311  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if SpeedSettingsMaxPitchRollRotationSpeedCurrent exists in params ...");
1312  if (!priv_nh_.hasParam("SpeedSettingsMaxPitchRollRotationSpeedCurrent"))
1313  {
1314  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1315  priv_nh_.setParam("SpeedSettingsMaxPitchRollRotationSpeedCurrent", static_cast<double>(arg->value.Float));
1316  }
1317  else
1318  {
1319  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1320  //ROS_INFO_STREAM("New value for ros interanal variable: " << SpeedSettingsMaxPitchRollRotationSpeedCurrent_rosparam_value_);
1321  }
1322  }
1323  }
1324 }; // SpeedSettingsMaxPitchRollRotationSpeed
1325 
1327 {
1328 private:
1335 
1336 public:
1338  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_NETWORKSETTINGSSTATE_WIFISELECTIONCHANGED, priv_nh)
1339  , NetworkSettingsWifiSelectionType_bebop_sent_(false)
1340  , NetworkSettingsWifiSelectionBand_bebop_sent_(false)
1341  , NetworkSettingsWifiSelectionChannel_bebop_sent_(false)
1342  {}
1343 
1344  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1345  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1346  {
1347  ::boost::lock_guard<boost::mutex> lock(mutex_);
1348  bool changed = false;
1349  bool all_inited = true;
1350 
1351  // This will likely fail for float or double values
1352  if ((config.NetworkSettingsWifiSelectionType != NetworkSettingsWifiSelectionType_bebop_value_))
1353  {
1354  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1355  "NetworkSettingsWifiSelectionType changed!");
1356  changed = true;
1357  }
1358  all_inited &= NetworkSettingsWifiSelectionType_bebop_sent_;
1359 
1360  // This will likely fail for float or double values
1361  if ((config.NetworkSettingsWifiSelectionBand != NetworkSettingsWifiSelectionBand_bebop_value_))
1362  {
1363  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1364  "NetworkSettingsWifiSelectionBand changed!");
1365  changed = true;
1366  }
1367  all_inited &= NetworkSettingsWifiSelectionBand_bebop_sent_;
1368 
1369  // This will likely fail for float or double values
1370  if ((config.NetworkSettingsWifiSelectionChannel != NetworkSettingsWifiSelectionChannel_bebop_value_))
1371  {
1372  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1373  "NetworkSettingsWifiSelectionChannel changed!");
1374  changed = true;
1375  }
1376  all_inited &= NetworkSettingsWifiSelectionChannel_bebop_sent_;
1377 
1378  if (changed && !all_inited)
1379  {
1380  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1381  "Value of NetworkSettingsWifiSelection was not initialized either by Bebop or Params.");
1382  }
1383 
1384  if (changed && all_inited)
1385  {
1386  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1387  "Sending NetworkSettingsWifiSelection changes to bebop");
1388 
1389  bebop_ctrl_ptr_->aRDrone3->sendNetworkSettingsWifiSelection(bebop_ctrl_ptr_->aRDrone3
1390  , static_cast<eARCOMMANDS_ARDRONE3_NETWORKSETTINGS_WIFISELECTION_TYPE>(config.NetworkSettingsWifiSelectionType)
1391  , static_cast<eARCOMMANDS_ARDRONE3_NETWORKSETTINGS_WIFISELECTION_BAND>(config.NetworkSettingsWifiSelectionBand)
1392  , (config.NetworkSettingsWifiSelectionChannel)
1393  );
1394  }
1395  }
1396 
1397  // Runs in SDK's CommandReceivedCallback's context
1398  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1399  {
1400  if (arguments == NULL)
1401  {
1402  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1403  "NetworkSettingsWifiSelection::Update() arguments is NULL");
1404  return;
1405  }
1406 
1407  ::boost::lock_guard<boost::mutex> lock(mutex_);
1408 
1409  arg = NULL;
1410  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_NETWORKSETTINGSSTATE_WIFISELECTIONCHANGED_TYPE, arg);
1411  if (arg)
1412  {
1413  NetworkSettingsWifiSelectionType_bebop_sent_ = true;
1414  ROS_INFO_STREAM("Value for NetworkSettingsWifiSelectionType recved: " << static_cast<int32_t>(arg->value.I32));
1415  NetworkSettingsWifiSelectionType_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1416 
1417  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if NetworkSettingsWifiSelectionType exists in params ...");
1418  if (!priv_nh_.hasParam("NetworkSettingsWifiSelectionType"))
1419  {
1420  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1421  priv_nh_.setParam("NetworkSettingsWifiSelectionType", static_cast<int32_t>(arg->value.I32));
1422  }
1423  else
1424  {
1425  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1426  //ROS_INFO_STREAM("New value for ros interanal variable: " << NetworkSettingsWifiSelectionType_rosparam_value_);
1427  }
1428  }
1429 
1430  arg = NULL;
1431  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_NETWORKSETTINGSSTATE_WIFISELECTIONCHANGED_BAND, arg);
1432  if (arg)
1433  {
1434  NetworkSettingsWifiSelectionBand_bebop_sent_ = true;
1435  ROS_INFO_STREAM("Value for NetworkSettingsWifiSelectionBand recved: " << static_cast<int32_t>(arg->value.I32));
1436  NetworkSettingsWifiSelectionBand_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1437 
1438  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if NetworkSettingsWifiSelectionBand exists in params ...");
1439  if (!priv_nh_.hasParam("NetworkSettingsWifiSelectionBand"))
1440  {
1441  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1442  priv_nh_.setParam("NetworkSettingsWifiSelectionBand", static_cast<int32_t>(arg->value.I32));
1443  }
1444  else
1445  {
1446  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1447  //ROS_INFO_STREAM("New value for ros interanal variable: " << NetworkSettingsWifiSelectionBand_rosparam_value_);
1448  }
1449  }
1450 
1451  arg = NULL;
1452  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_NETWORKSETTINGSSTATE_WIFISELECTIONCHANGED_CHANNEL, arg);
1453  if (arg)
1454  {
1455  NetworkSettingsWifiSelectionChannel_bebop_sent_ = true;
1456  ROS_INFO_STREAM("Value for NetworkSettingsWifiSelectionChannel recved: " << static_cast<int32_t>(arg->value.U8));
1457  NetworkSettingsWifiSelectionChannel_bebop_value_ = static_cast<int32_t>(arg->value.U8);
1458 
1459  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if NetworkSettingsWifiSelectionChannel exists in params ...");
1460  if (!priv_nh_.hasParam("NetworkSettingsWifiSelectionChannel"))
1461  {
1462  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1463  priv_nh_.setParam("NetworkSettingsWifiSelectionChannel", static_cast<int32_t>(arg->value.U8));
1464  }
1465  else
1466  {
1467  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1468  //ROS_INFO_STREAM("New value for ros interanal variable: " << NetworkSettingsWifiSelectionChannel_rosparam_value_);
1469  }
1470  }
1471  }
1472 }; // NetworkSettingsWifiSelection
1473 
1475 {
1476 private:
1479 
1480 public:
1482  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEOSTABILIZATIONMODECHANGED, priv_nh)
1483  , PictureSettingsVideoStabilizationModeMode_bebop_sent_(false)
1484  {}
1485 
1486  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1487  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1488  {
1489  ::boost::lock_guard<boost::mutex> lock(mutex_);
1490  bool changed = false;
1491  bool all_inited = true;
1492 
1493  // This will likely fail for float or double values
1494  if ((config.PictureSettingsVideoStabilizationModeMode != PictureSettingsVideoStabilizationModeMode_bebop_value_))
1495  {
1496  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1497  "PictureSettingsVideoStabilizationModeMode changed!");
1498  changed = true;
1499  }
1500  all_inited &= PictureSettingsVideoStabilizationModeMode_bebop_sent_;
1501 
1502  if (changed && !all_inited)
1503  {
1504  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1505  "Value of PictureSettingsVideoStabilizationMode was not initialized either by Bebop or Params.");
1506  }
1507 
1508  if (changed && all_inited)
1509  {
1510  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1511  "Sending PictureSettingsVideoStabilizationMode changes to bebop");
1512 
1513  bebop_ctrl_ptr_->aRDrone3->sendPictureSettingsVideoStabilizationMode(bebop_ctrl_ptr_->aRDrone3
1514  , static_cast<eARCOMMANDS_ARDRONE3_PICTURESETTINGS_VIDEOSTABILIZATIONMODE_MODE>(config.PictureSettingsVideoStabilizationModeMode)
1515  );
1516  }
1517  }
1518 
1519  // Runs in SDK's CommandReceivedCallback's context
1520  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1521  {
1522  if (arguments == NULL)
1523  {
1524  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1525  "PictureSettingsVideoStabilizationMode::Update() arguments is NULL");
1526  return;
1527  }
1528 
1529  ::boost::lock_guard<boost::mutex> lock(mutex_);
1530 
1531  arg = NULL;
1532  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEOSTABILIZATIONMODECHANGED_MODE, arg);
1533  if (arg)
1534  {
1535  PictureSettingsVideoStabilizationModeMode_bebop_sent_ = true;
1536  ROS_INFO_STREAM("Value for PictureSettingsVideoStabilizationModeMode recved: " << static_cast<int32_t>(arg->value.I32));
1537  PictureSettingsVideoStabilizationModeMode_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1538 
1539  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PictureSettingsVideoStabilizationModeMode exists in params ...");
1540  if (!priv_nh_.hasParam("PictureSettingsVideoStabilizationModeMode"))
1541  {
1542  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1543  priv_nh_.setParam("PictureSettingsVideoStabilizationModeMode", static_cast<int32_t>(arg->value.I32));
1544  }
1545  else
1546  {
1547  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1548  //ROS_INFO_STREAM("New value for ros interanal variable: " << PictureSettingsVideoStabilizationModeMode_rosparam_value_);
1549  }
1550  }
1551  }
1552 }; // PictureSettingsVideoStabilizationMode
1553 
1555 {
1556 private:
1559 
1560 public:
1562  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEORECORDINGMODECHANGED, priv_nh)
1563  , PictureSettingsVideoRecordingModeMode_bebop_sent_(false)
1564  {}
1565 
1566  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1567  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1568  {
1569  ::boost::lock_guard<boost::mutex> lock(mutex_);
1570  bool changed = false;
1571  bool all_inited = true;
1572 
1573  // This will likely fail for float or double values
1574  if ((config.PictureSettingsVideoRecordingModeMode != PictureSettingsVideoRecordingModeMode_bebop_value_))
1575  {
1576  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1577  "PictureSettingsVideoRecordingModeMode changed!");
1578  changed = true;
1579  }
1580  all_inited &= PictureSettingsVideoRecordingModeMode_bebop_sent_;
1581 
1582  if (changed && !all_inited)
1583  {
1584  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1585  "Value of PictureSettingsVideoRecordingMode was not initialized either by Bebop or Params.");
1586  }
1587 
1588  if (changed && all_inited)
1589  {
1590  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1591  "Sending PictureSettingsVideoRecordingMode changes to bebop");
1592 
1593  bebop_ctrl_ptr_->aRDrone3->sendPictureSettingsVideoRecordingMode(bebop_ctrl_ptr_->aRDrone3
1594  , static_cast<eARCOMMANDS_ARDRONE3_PICTURESETTINGS_VIDEORECORDINGMODE_MODE>(config.PictureSettingsVideoRecordingModeMode)
1595  );
1596  }
1597  }
1598 
1599  // Runs in SDK's CommandReceivedCallback's context
1600  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1601  {
1602  if (arguments == NULL)
1603  {
1604  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1605  "PictureSettingsVideoRecordingMode::Update() arguments is NULL");
1606  return;
1607  }
1608 
1609  ::boost::lock_guard<boost::mutex> lock(mutex_);
1610 
1611  arg = NULL;
1612  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEORECORDINGMODECHANGED_MODE, arg);
1613  if (arg)
1614  {
1615  PictureSettingsVideoRecordingModeMode_bebop_sent_ = true;
1616  ROS_INFO_STREAM("Value for PictureSettingsVideoRecordingModeMode recved: " << static_cast<int32_t>(arg->value.I32));
1617  PictureSettingsVideoRecordingModeMode_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1618 
1619  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PictureSettingsVideoRecordingModeMode exists in params ...");
1620  if (!priv_nh_.hasParam("PictureSettingsVideoRecordingModeMode"))
1621  {
1622  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1623  priv_nh_.setParam("PictureSettingsVideoRecordingModeMode", static_cast<int32_t>(arg->value.I32));
1624  }
1625  else
1626  {
1627  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1628  //ROS_INFO_STREAM("New value for ros interanal variable: " << PictureSettingsVideoRecordingModeMode_rosparam_value_);
1629  }
1630  }
1631  }
1632 }; // PictureSettingsVideoRecordingMode
1633 
1635 {
1636 private:
1639 
1640 public:
1642  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEOFRAMERATECHANGED, priv_nh)
1643  , PictureSettingsVideoFramerateFramerate_bebop_sent_(false)
1644  {}
1645 
1646  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1647  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1648  {
1649  ::boost::lock_guard<boost::mutex> lock(mutex_);
1650  bool changed = false;
1651  bool all_inited = true;
1652 
1653  // This will likely fail for float or double values
1654  if ((config.PictureSettingsVideoFramerateFramerate != PictureSettingsVideoFramerateFramerate_bebop_value_))
1655  {
1656  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1657  "PictureSettingsVideoFramerateFramerate changed!");
1658  changed = true;
1659  }
1660  all_inited &= PictureSettingsVideoFramerateFramerate_bebop_sent_;
1661 
1662  if (changed && !all_inited)
1663  {
1664  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1665  "Value of PictureSettingsVideoFramerate was not initialized either by Bebop or Params.");
1666  }
1667 
1668  if (changed && all_inited)
1669  {
1670  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1671  "Sending PictureSettingsVideoFramerate changes to bebop");
1672 
1673  bebop_ctrl_ptr_->aRDrone3->sendPictureSettingsVideoFramerate(bebop_ctrl_ptr_->aRDrone3
1674  , static_cast<eARCOMMANDS_ARDRONE3_PICTURESETTINGS_VIDEOFRAMERATE_FRAMERATE>(config.PictureSettingsVideoFramerateFramerate)
1675  );
1676  }
1677  }
1678 
1679  // Runs in SDK's CommandReceivedCallback's context
1680  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1681  {
1682  if (arguments == NULL)
1683  {
1684  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1685  "PictureSettingsVideoFramerate::Update() arguments is NULL");
1686  return;
1687  }
1688 
1689  ::boost::lock_guard<boost::mutex> lock(mutex_);
1690 
1691  arg = NULL;
1692  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEOFRAMERATECHANGED_FRAMERATE, arg);
1693  if (arg)
1694  {
1695  PictureSettingsVideoFramerateFramerate_bebop_sent_ = true;
1696  ROS_INFO_STREAM("Value for PictureSettingsVideoFramerateFramerate recved: " << static_cast<int32_t>(arg->value.I32));
1697  PictureSettingsVideoFramerateFramerate_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1698 
1699  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PictureSettingsVideoFramerateFramerate exists in params ...");
1700  if (!priv_nh_.hasParam("PictureSettingsVideoFramerateFramerate"))
1701  {
1702  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1703  priv_nh_.setParam("PictureSettingsVideoFramerateFramerate", static_cast<int32_t>(arg->value.I32));
1704  }
1705  else
1706  {
1707  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1708  //ROS_INFO_STREAM("New value for ros interanal variable: " << PictureSettingsVideoFramerateFramerate_rosparam_value_);
1709  }
1710  }
1711  }
1712 }; // PictureSettingsVideoFramerate
1713 
1715 {
1716 private:
1719 
1720 public:
1722  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEORESOLUTIONSCHANGED, priv_nh)
1723  , PictureSettingsVideoResolutionsType_bebop_sent_(false)
1724  {}
1725 
1726  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1727  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1728  {
1729  ::boost::lock_guard<boost::mutex> lock(mutex_);
1730  bool changed = false;
1731  bool all_inited = true;
1732 
1733  // This will likely fail for float or double values
1734  if ((config.PictureSettingsVideoResolutionsType != PictureSettingsVideoResolutionsType_bebop_value_))
1735  {
1736  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1737  "PictureSettingsVideoResolutionsType changed!");
1738  changed = true;
1739  }
1740  all_inited &= PictureSettingsVideoResolutionsType_bebop_sent_;
1741 
1742  if (changed && !all_inited)
1743  {
1744  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1745  "Value of PictureSettingsVideoResolutions was not initialized either by Bebop or Params.");
1746  }
1747 
1748  if (changed && all_inited)
1749  {
1750  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1751  "Sending PictureSettingsVideoResolutions changes to bebop");
1752 
1753  bebop_ctrl_ptr_->aRDrone3->sendPictureSettingsVideoResolutions(bebop_ctrl_ptr_->aRDrone3
1754  , static_cast<eARCOMMANDS_ARDRONE3_PICTURESETTINGS_VIDEORESOLUTIONS_TYPE>(config.PictureSettingsVideoResolutionsType)
1755  );
1756  }
1757  }
1758 
1759  // Runs in SDK's CommandReceivedCallback's context
1760  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1761  {
1762  if (arguments == NULL)
1763  {
1764  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1765  "PictureSettingsVideoResolutions::Update() arguments is NULL");
1766  return;
1767  }
1768 
1769  ::boost::lock_guard<boost::mutex> lock(mutex_);
1770 
1771  arg = NULL;
1772  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_PICTURESETTINGSSTATE_VIDEORESOLUTIONSCHANGED_TYPE, arg);
1773  if (arg)
1774  {
1775  PictureSettingsVideoResolutionsType_bebop_sent_ = true;
1776  ROS_INFO_STREAM("Value for PictureSettingsVideoResolutionsType recved: " << static_cast<int32_t>(arg->value.I32));
1777  PictureSettingsVideoResolutionsType_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1778 
1779  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if PictureSettingsVideoResolutionsType exists in params ...");
1780  if (!priv_nh_.hasParam("PictureSettingsVideoResolutionsType"))
1781  {
1782  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1783  priv_nh_.setParam("PictureSettingsVideoResolutionsType", static_cast<int32_t>(arg->value.I32));
1784  }
1785  else
1786  {
1787  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1788  //ROS_INFO_STREAM("New value for ros interanal variable: " << PictureSettingsVideoResolutionsType_rosparam_value_);
1789  }
1790  }
1791  }
1792 }; // PictureSettingsVideoResolutions
1793 
1795 {
1796 private:
1799 
1800 public:
1802  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_GPSSETTINGSSTATE_HOMETYPECHANGED, priv_nh)
1803  , GPSSettingsHomeTypeType_bebop_sent_(false)
1804  {}
1805 
1806  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1807  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1808  {
1809  ::boost::lock_guard<boost::mutex> lock(mutex_);
1810  bool changed = false;
1811  bool all_inited = true;
1812 
1813  // This will likely fail for float or double values
1814  if ((config.GPSSettingsHomeTypeType != GPSSettingsHomeTypeType_bebop_value_))
1815  {
1816  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1817  "GPSSettingsHomeTypeType changed!");
1818  changed = true;
1819  }
1820  all_inited &= GPSSettingsHomeTypeType_bebop_sent_;
1821 
1822  if (changed && !all_inited)
1823  {
1824  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1825  "Value of GPSSettingsHomeType was not initialized either by Bebop or Params.");
1826  }
1827 
1828  if (changed && all_inited)
1829  {
1830  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1831  "Sending GPSSettingsHomeType changes to bebop");
1832 
1833  bebop_ctrl_ptr_->aRDrone3->sendGPSSettingsHomeType(bebop_ctrl_ptr_->aRDrone3
1834  , static_cast<eARCOMMANDS_ARDRONE3_GPSSETTINGS_HOMETYPE_TYPE>(config.GPSSettingsHomeTypeType)
1835  );
1836  }
1837  }
1838 
1839  // Runs in SDK's CommandReceivedCallback's context
1840  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1841  {
1842  if (arguments == NULL)
1843  {
1844  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1845  "GPSSettingsHomeType::Update() arguments is NULL");
1846  return;
1847  }
1848 
1849  ::boost::lock_guard<boost::mutex> lock(mutex_);
1850 
1851  arg = NULL;
1852  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_GPSSETTINGSSTATE_HOMETYPECHANGED_TYPE, arg);
1853  if (arg)
1854  {
1855  GPSSettingsHomeTypeType_bebop_sent_ = true;
1856  ROS_INFO_STREAM("Value for GPSSettingsHomeTypeType recved: " << static_cast<int32_t>(arg->value.I32));
1857  GPSSettingsHomeTypeType_bebop_value_ = static_cast<int32_t>(arg->value.I32);
1858 
1859  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if GPSSettingsHomeTypeType exists in params ...");
1860  if (!priv_nh_.hasParam("GPSSettingsHomeTypeType"))
1861  {
1862  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1863  priv_nh_.setParam("GPSSettingsHomeTypeType", static_cast<int32_t>(arg->value.I32));
1864  }
1865  else
1866  {
1867  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1868  //ROS_INFO_STREAM("New value for ros interanal variable: " << GPSSettingsHomeTypeType_rosparam_value_);
1869  }
1870  }
1871  }
1872 }; // GPSSettingsHomeType
1873 
1875 {
1876 private:
1879 
1880 public:
1882  : AbstractSetting(ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_GPSSETTINGSSTATE_RETURNHOMEDELAYCHANGED, priv_nh)
1883  , GPSSettingsReturnHomeDelayDelay_bebop_sent_(false)
1884  {}
1885 
1886  // Runs in Nodelet's main thread's context (Dynamic Reconfigure Update Callback)
1887  void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t* bebop_ctrl_ptr_)
1888  {
1889  ::boost::lock_guard<boost::mutex> lock(mutex_);
1890  bool changed = false;
1891  bool all_inited = true;
1892 
1893  // This will likely fail for float or double values
1894  if ((config.GPSSettingsReturnHomeDelayDelay != GPSSettingsReturnHomeDelayDelay_bebop_value_))
1895  {
1896  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1897  "GPSSettingsReturnHomeDelayDelay changed!");
1898  changed = true;
1899  }
1900  all_inited &= GPSSettingsReturnHomeDelayDelay_bebop_sent_;
1901 
1902  if (changed && !all_inited)
1903  {
1904  ARSAL_PRINT(ARSAL_PRINT_ERROR, "CB",
1905  "Value of GPSSettingsReturnHomeDelay was not initialized either by Bebop or Params.");
1906  }
1907 
1908  if (changed && all_inited)
1909  {
1910  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB",
1911  "Sending GPSSettingsReturnHomeDelay changes to bebop");
1912 
1913  bebop_ctrl_ptr_->aRDrone3->sendGPSSettingsReturnHomeDelay(bebop_ctrl_ptr_->aRDrone3
1914  , (config.GPSSettingsReturnHomeDelayDelay)
1915  );
1916  }
1917  }
1918 
1919  // Runs in SDK's CommandReceivedCallback's context
1920  void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time& t)
1921  {
1922  if (arguments == NULL)
1923  {
1924  ARSAL_PRINT(ARSAL_PRINT_WARNING, "CB",
1925  "GPSSettingsReturnHomeDelay::Update() arguments is NULL");
1926  return;
1927  }
1928 
1929  ::boost::lock_guard<boost::mutex> lock(mutex_);
1930 
1931  arg = NULL;
1932  HASH_FIND_STR (arguments, ARCONTROLLER_DICTIONARY_KEY_ARDRONE3_GPSSETTINGSSTATE_RETURNHOMEDELAYCHANGED_DELAY, arg);
1933  if (arg)
1934  {
1935  GPSSettingsReturnHomeDelayDelay_bebop_sent_ = true;
1936  ROS_INFO_STREAM("Value for GPSSettingsReturnHomeDelayDelay recved: " << static_cast<int32_t>(arg->value.U16));
1937  GPSSettingsReturnHomeDelayDelay_bebop_value_ = static_cast<int32_t>(arg->value.U16);
1938 
1939  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", "Checking if GPSSettingsReturnHomeDelayDelay exists in params ...");
1940  if (!priv_nh_.hasParam("GPSSettingsReturnHomeDelayDelay"))
1941  {
1942  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " No");
1943  priv_nh_.setParam("GPSSettingsReturnHomeDelayDelay", static_cast<int32_t>(arg->value.U16));
1944  }
1945  else
1946  {
1947  ARSAL_PRINT(ARSAL_PRINT_INFO, "CB", " Yes");
1948  //ROS_INFO_STREAM("New value for ros interanal variable: " << GPSSettingsReturnHomeDelayDelay_rosparam_value_);
1949  }
1950  }
1951  }
1952 }; // GPSSettingsReturnHomeDelay
1953 
1954 } // namespace cb
1955 } // namespace bebop_driver
1956 #endif // BEBOP_AUTONOMY_AUTOGENERATED_Ardrone3_SETTING_CALLBACKS_H
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
#define ROS_INFO_STREAM(args)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
ARCONTROLLER_DICTIONARY_ARG_t * arg
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
bool hasParam(const std::string &key) const
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void setParam(const std::string &key, const XmlRpc::XmlRpcValue &v) const
void Update(const ARCONTROLLER_DICTIONARY_ARG_t *arguments, const ::ros::Time &t)
void UpdateBebopFromROS(const BebopArdrone3Config &config, const ARCONTROLLER_Device_t *bebop_ctrl_ptr_)


bebop_driver
Author(s): Mani Monajjemi
autogenerated on Mon Jun 10 2019 12:58:55