GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: src/catkin/dg_control/dynamic_graph_manager/src/tools.cpp Lines: 21 21 100.0 %
Date: 2020-04-15 11:50:02 Branches: 42 80 52.5 %

Line Branch Exec Source
1
/**
2
 * @file tools.cpp
3
 * @author Maximilien Naveau (maximilien.naveau@gmail.com)
4
 * @license License BSD-3-Clause
5
 * @copyright Copyright (c) 2019, New York University and Max Planck Gesellschaft.
6
 * @date 2019-05-22
7
 */
8
9
#include <dynamic_graph_manager/tools.hh>
10
11
namespace dynamic_graph{
12
13
43
void parse_yaml_node(
14
    const YAML::Node& sensors_and_controls,
15
    VectorDGMap& out_sensors_map,
16
    VectorDGMap& out_motor_controls_map)
17
{
18
86
  const YAML::Node& sensors = sensors_and_controls["sensors"];
19
86
  const YAML::Node& controls = sensors_and_controls["controls"];
20
86
  std::string hardware_name ("");
21
86
  dynamicgraph::Vector init_value (1);
22
43
  int size (0);
23
24
43
  out_sensors_map.clear();
25
43
  out_motor_controls_map.clear();
26
27
  /*******************************
28
   * We iterate over the sensors *
29
   *******************************/
30


597
  for (YAML::const_iterator sensor_it = sensors.begin();
31
398
       sensor_it != sensors.end(); ++sensor_it)
32
  {
33


156
    hardware_name = sensor_it->first.as<std::string>();
34


156
    size = sensor_it->second["size"].as<int>();
35

156
    out_sensors_map[hardware_name] = dynamicgraph::Vector(size);
36

156
    out_sensors_map[hardware_name].setZero();
37
  }
38
39
  /********************************
40
   * We iterate over the controls *
41
   ********************************/
42


363
  for (YAML::const_iterator control_it = controls.begin();
43
242
       control_it != controls.end(); ++control_it)
44
  {
45


78
    hardware_name = control_it->first.as<std::string>();
46


78
    size = control_it->second["size"].as<int>();
47

78
    out_motor_controls_map[hardware_name] = dynamicgraph::Vector(size);
48

78
    out_motor_controls_map[hardware_name].setZero();
49
  }
50
43
}
51
52
} // namespace