<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<tagfile>
  <compound kind="file">
    <name>active_zoneset_node.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/src/</path>
    <filename>active__zoneset__node_8cpp.html</filename>
    <includes id="active__zoneset__node_8h" name="active_zoneset_node.h" local="yes" imported="no">psen_scan_v2/active_zoneset_node.h</includes>
    <includes id="zoneset__to__marker__conversion_8h" name="zoneset_to_marker_conversion.h" local="yes" imported="no">psen_scan_v2/zoneset_to_marker_conversion.h</includes>
    <namespace>psen_scan_v2</namespace>
  </compound>
  <compound kind="file">
    <name>active_zoneset_node.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>active__zoneset__node_8h.html</filename>
    <class kind="class">psen_scan_v2::ActiveZonesetNode</class>
    <namespace>psen_scan_v2</namespace>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ACTIVE_ZONESET_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a864a814012e0ad655fa9efe0cf25d0a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ZONECONFIGURATION_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>ad41ca2cbec31b9d4dc8a39e948a47a11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ZONESET_MARKER_ARRAY_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>afcb96c53a54e6e01b058eb39720d751a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>active_zoneset_node_main.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/src/</path>
    <filename>active__zoneset__node__main_8cpp.html</filename>
    <includes id="active__zoneset__node_8h" name="active_zoneset_node.h" local="yes" imported="no">psen_scan_v2/active_zoneset_node.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>active__zoneset__node__main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>angle_conversions.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>angle__conversions_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>degreeToRadian</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a5e01e42042789b90efa1398cb4fba22e</anchor>
      <arglist>(const double &amp;angle_in_degree)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int16_t</type>
      <name>degreeToTenthDegree</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a25a75bc5244c2cdd39ddd8f474466bf6</anchor>
      <arglist>(const double &amp;angle_in_degree)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>radianToDegree</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>af5ab2e74b8df0ca65b26bb436b9f6557</anchor>
      <arglist>(const double &amp;angle_in_rad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int16_t</type>
      <name>radToTenthDegree</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>abb7b7972ae0193214e335f921a267a6e</anchor>
      <arglist>(const double &amp;angle_in_rad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>tenthDegreeToRad</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a293424d86c86208bba1242a389170674</anchor>
      <arglist>(const int16_t &amp;angle_in_tenth_degree)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>async_barrier.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>async__barrier_8h.html</filename>
    <class kind="class">psen_scan_v2_standalone::util::Barrier</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
  </compound>
  <compound kind="file">
    <name>config_server_node.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/src/</path>
    <filename>config__server__node_8cpp.html</filename>
    <includes id="config__server__node_8h" name="config_server_node.h" local="yes" imported="no">psen_scan_v2/config_server_node.h</includes>
    <includes id="zoneset__configuration__ros__conversion_8h" name="zoneset_configuration_ros_conversion.h" local="yes" imported="no">psen_scan_v2/zoneset_configuration_ros_conversion.h</includes>
    <includes id="xml__configuration__parsing_8h" name="xml_configuration_parsing.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/xml_configuration_parsing.h</includes>
    <includes id="zoneset__configuration_8h" name="zoneset_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/zoneset_configuration.h</includes>
  </compound>
  <compound kind="file">
    <name>config_server_node.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>config__server__node_8h.html</filename>
    <class kind="class">psen_scan_v2::ConfigServerNode</class>
    <namespace>psen_scan_v2</namespace>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ZONESET_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a9ea73b86c8dc81a2bd3fd8f66bdc8e6d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>config_server_node_main.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/src/</path>
    <filename>config__server__node__main_8cpp.html</filename>
    <includes id="config__server__node_8h" name="config_server_node.h" local="yes" imported="no">psen_scan_v2/config_server_node.h</includes>
    <includes id="ros__parameter__handler_8h" name="ros_parameter_handler.h" local="yes" imported="no">psen_scan_v2/ros_parameter_handler.h</includes>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>config__server__node__main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>CONFIG_FILE</name>
      <anchorfile>config__server__node__main_8cpp.html</anchorfile>
      <anchor>ae6a0ab22b1685639e0f2d27a2e297509</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>FRAME_ID</name>
      <anchorfile>config__server__node__main_8cpp.html</anchorfile>
      <anchor>a00bc0eaa1abd6d235c519fd92eec9201</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>core.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>core_8h.html</filename>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <includes id="scanner__config__builder_8h" name="scanner_config_builder.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_config_builder.h</includes>
    <includes id="scanner__v2_8h" name="scanner_v2.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_v2.h</includes>
    <includes id="scan__range_8h" name="scan_range.h" local="yes" imported="no">psen_scan_v2_standalone/scan_range.h</includes>
  </compound>
  <compound kind="file">
    <name>default_parameters.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/configuration/</path>
    <filename>default__parameters_8h.html</filename>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_ANGLE_END</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae8dd1a363593d2d362e597c22fb1b836</anchor>
      <arglist>(data_conversion_layer::degreeToRadian(137.4))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_ANGLE_START</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a817527c81b8d3f03e04bbfe0578262af</anchor>
      <arglist>(-data_conversion_layer::degreeToRadian(137.4))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_SCAN_ANGLE_RESOLUTION</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a4da05751fbf6723f6ea181eef6703b86</anchor>
      <arglist>(data_conversion_layer::degreeToRadian(0.1))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const util::TenthOfDegree</type>
      <name>DEFAULT_ZONESET_ANGLE_STEP</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a3363f12e919e712ef64ae8ae85e9da30</anchor>
      <arglist>(5)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>CONTROL_PORT_OF_HOST_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a726ca4b8fdd2ae8c2a896997f69bce9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>CONTROL_PORT_OF_SCANNER_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ab68cb4acd61d1a34043495460cc19fbe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>DATA_PORT_OF_HOST_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ab2e8e5a3af549d8956094a07d0afe591</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>DATA_PORT_OF_SCANNER_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a2f4ed2a62a963eaf992acaac73bb53a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_HOST_IP_STRING</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ac575c01cbe87535b898d5916aaef5a3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr bool</type>
      <name>DIAGNOSTICS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae71bf22bdf3262ea2f3e5349d8ec6402</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr bool</type>
      <name>FRAGMENTED_SCANS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a6fd7eff3fafe167485e4c560a1d223a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr bool</type>
      <name>INTENSITIES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>aa93d8d97dfafe9ea0b8778a25b8402e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>RANGE_MAX_IN_M</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae0c1af3cfa9cc72b93a4ccc8616ca945</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>RANGE_MIN_IN_M</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a7a3b96341ad4db781679d2387dbbf009</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>TIME_PER_SCAN_IN_S</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>af6476df7266a2d3531d13dd441857c19</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>default_ros_parameters.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>default__ros__parameters_8h.html</filename>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <namespace>psen_scan_v2</namespace>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_X_AXIS_ROTATION</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>aff6fb0c724b36f597ccaa41b12098395</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>diagnostics.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>diagnostics_8cpp.html</filename>
    <includes id="diagnostics_8h" name="diagnostics.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/diagnostics.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a34055fb54b3ad7222c6a19f6c151595e</anchor>
      <arglist>(std::ostream &amp;os, const diagnostic::Message &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>diagnostics.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>diagnostics_8h.html</filename>
    <includes id="scanner__ids_8h" name="scanner_ids.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/scanner_ids.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::ErrorLocation</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::Message</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic</namespace>
    <member kind="define">
      <type>#define</type>
      <name>REV</name>
      <anchorfile>diagnostics_8h.html</anchorfile>
      <anchor>ab822dc1be90fd8173c9911ff3b25ccc2</anchor>
      <arglist>(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)</arglist>
    </member>
    <member kind="typedef">
      <type>std::string</type>
      <name>ErrorMessage</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a7d7af71bb04dbd63763b04d11c0d6981</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ErrorType</type>
      <name>Et</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>ad1df3b46987cfe2c3074f5643b3cb804</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::array&lt; uint8_t, diagnostic::RAW_CHUNK_LENGTH_IN_BYTES &gt;</type>
      <name>RawChunk</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a7a46cdcee945b5fb2d0f359a0a08a9a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ErrorType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a21ec6fc474ed0858edf998ca2822a8bd</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda58098ab4228e9f2ea6daf1a1117d15af">ossd1_oc</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda18bbc32c050249cc009701b775167c40">ossd_shrt_c</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda85d2f5e5081040619f90003fd1d2ae3e">ossd_integr</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda081d29b9330707cc21a1bf4132f7d3f7">intern</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdabafed929074227ed59e366758ed21961">win_cln_al</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda5b707c19ace588b0304807d6fff7b0d5">power_supply</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda7b842928e52bfe9429ad91f8791171b6">netw_prb</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdad485e38bb37b75afd169cc01b24d2db1">dust_crc_fl</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdacaaa78af06ab36d469e53912c14ec06a">ossd2_overcur</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda5b289a8d37fa77baa96701df4b55ecac">meas_prob</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda1be2dd4318d5b87c0d9ad0b5d63769e2">incoherence</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdad287d228100b0277d86524ffc96aa53d">zone_inval_trans</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda05fdeb93ecd756888d39a8f6dead85cd">zone_invalid_conf</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdacd320587c535880916f9e5ccb4c420c6">win_cln_warn</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdae71141bd7bab7e7fcc369770eb2a7ef2">int_com_prb</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdabb541b37600b892121da4a66fbbbbf33">generic_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda63dc5d51e564925806bc1d6e32b13010">disp_com_prb</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda94fcffc66e2696a50b326001fff7ea8a">temp_meas_prob</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdaffb1bc7b19dc7d58c7d9db91e48bd828">encod_oor</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda92edfc05deb51497d293ad2808a63a87">edm2_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda51d0cb3cf59328812a05237a4d71ffcf">edm1_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda39986f008671fcf4a594663899cfb21d">conf_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda05a488b8067a8d9fd6ff01baa2ceb7dc">out_of_range_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda3ccede321bdfd7939ff7c12b0b054962">temp_range_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda57a90f2a4a4039e888498fa38be42e40">encoder_generic_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdafd94c6a26d6b6571e8d9398446227ae8">unused</enumvalue>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isAmbiguous</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a283982149e4ec68593f324c767557896</anchor>
      <arglist>(const ErrorType &amp;code)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a34055fb54b3ad7222c6a19f6c151595e</anchor>
      <arglist>(std::ostream &amp;os, const diagnostic::Message &amp;msg)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::set&lt; Et &gt;</type>
      <name>AMBIGUOUS_DIAGNOSTIC_CODES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>ac96f22367c251d3dbf91ebb3a30a7dbe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; std::array&lt; ErrorType, 8 &gt;, 9 &gt;</type>
      <name>ERROR_BITS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a56751e6b90d3723907f5a463d5a18798</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; ErrorType, ErrorMessage &gt;</type>
      <name>ERROR_CODE_TO_STRING</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>ae0faaaf8ef9ef2201e220e40e827f59e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a7592d5aed33b52a8b6d2ba8ddfb4b4fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>abd3fbc2e5faace6ef282a7e20409bbb4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_UNUSED_OFFSET_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>af016203da37efdc9bb7f4275f0486451</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>format_range.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>format__range_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
    <member kind="function">
      <type>std::string</type>
      <name>formatRange</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1util.html</anchorfile>
      <anchor>a120a34b7a3d930f36248992b111449ac</anchor>
      <arglist>(const T &amp;range)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>function_pointers.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/protocol_layer/</path>
    <filename>function__pointers_8h.html</filename>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer</namespace>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>ErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a6fb9007e893e9f540df0cce3ce500794</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const LaserScan &amp;)&gt;</type>
      <name>LaserScanCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>ac76149132996a1d1806c09fba5e39cd3</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const data_conversion_layer::monitoring_frame::Message &amp;)&gt;</type>
      <name>MonitoringFrameCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a71a7e94c7f2b19b9d3c5a284dbe0535e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>ReplyCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a8795523f397d91ac1793ffa492e3eb85</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>SendRequestCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a9d280571cc47a8698c3531327dd1ce22</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>get_ros_parameter_exception.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>get__ros__parameter__exception_8h.html</filename>
    <class kind="class">psen_scan_v2::ParamMissingOnServer</class>
    <class kind="class">psen_scan_v2::WrongParameterType</class>
    <namespace>psen_scan_v2</namespace>
  </compound>
  <compound kind="file">
    <name>io_constants.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>io__constants_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io</namespace>
    <member kind="define">
      <type>#define</type>
      <name>REV</name>
      <anchorfile>io__constants_8h.html</anchorfile>
      <anchor>ab822dc1be90fd8173c9911ff3b25ccc2</anchor>
      <arglist>(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)</arglist>
    </member>
    <member kind="typedef">
      <type>std::string</type>
      <name>IoName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a6304309dba41623789aafc2985a3b9ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>LogicalInputType</type>
      <name>Lit</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a581867a9e179bf79670e1c73f90c41cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>OutputType</type>
      <name>Ot</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a2193171004b0d9b72e40f2782324eab4</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::array&lt; uint8_t, io::RAW_CHUNK_LENGTH_IN_BYTES &gt;</type>
      <name>RawChunk</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ac31f2aa86123869e8c2b63a75ebf96ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>LogicalInputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ab48fd35f4c5d21807a3cbc07c03166bf</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa41d9f707b32775c999e9a0f54a5b0f1c">zone_sw_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa611acbc5b74eece8c23a370432a93a75">zone_sw_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfab8dbb838d41f984a63cd538e57b13155">overr_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa07d706d2c4a4d35235accde0659648ca">overr_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa324dd2cd17feb0f3da8754cb4dbc0025">muting_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa90589121c1bfa3e600eb55f774dc8830">muting_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfaaba28fa936aea262a422c3616c177dde">reset_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa91f38f6e1cc687a45920dfcc3e70116f">zone_sw_8</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfac7b370bc34e9a14346d98a7ca7bd0240">zone_sw_7</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa61d8d7b9e6f13a505089ea7877724b61">zone_sw_6</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfaecc5fc6778db4ca268e63ad31c328fc3">zone_sw_5</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa52cd68c5d81ca1f629a45fd7892fea85">zone_sw_4</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa842f6f6942100a12b92201a0e2b01bfe">zone_sw_3</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa12c309d262b33d660ad4ee6885e6333f">cor_seq_mut_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfae99703eb64265649c8501e35ad10c8c5">mut_en_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa62f7058c2ae4481f1858a10ee82b06b0">restart_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa3bf97b2900bc70bd50d88076dc709f27">cor_seq_or_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa1d4e89f5dde41a224d4c9838fc306a36">cor_seq_mut_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa09cf75a0a53039c41417e7d9199fc6de">mut_en_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfaaac55f1779c2138415ee3b0b15512236">restart_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa66169976810b3ea653b8471af3dd02ec">cor_seq_or_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfafd94c6a26d6b6571e8d9398446227ae8">unused</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>OutputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a618ce6ac7f79da651fd528f584a4e267</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267afd94c6a26d6b6571e8d9398446227ae8">unused</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267ab1d00cb0d7665f3b448c5a2122607ce8">ossd1_refpts</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a7cf1dcf669d1b35922c2a3756f0f89fc">warn_2_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a8fc5a7da2f886e72d9f969d4415a12ab">warn_1_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a2c17a21a4b48c1e0c4c2656b095741fe">ossd3_lock</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267aafc7472e187c4e8e4a7a2cdf1c209182">safe_3_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a8449f48c7c0cf60e3a86a72223c51f4a">int_lock_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a67a71cbfd702f944c699f20844e93b87">safe_2_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267af11b331858d6e1208802ee49111fa2d9">int_lock_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a9ca63b3ba116e0838088233cb4ce81bf">safe_1_int</enumvalue>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; Lit, IoName &gt;</type>
      <name>LOGICAL_INPUT_BIT_TO_NAME</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a515b4876e0901ef5682e460fe8312c43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; std::array&lt; Lit, 8 &gt;, RAW_CHUNK_LOGICAL_INPUT_SIGNALS_IN_BYTES &gt;</type>
      <name>LOGICAL_INPUT_BITS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a05efffbaa799bb0221ba2abbf6d643e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; Ot, IoName &gt;</type>
      <name>OUTPUT_BIT_TO_NAME</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a9245262cf85a03973713d7ae81301eda</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; std::array&lt; Ot, 8 &gt;, RAW_CHUNK_OUTPUT_SIGNALS_IN_BYTES &gt;</type>
      <name>OUTPUT_BITS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a7ebddb187aab23a1b5ce534c5f3f9c92</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ab53cb24b85ca273e2536334d2b9bcb60</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_RESERVED_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>aa6ac2c9de6692f50d334763bcc8d909c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LOGICAL_INPUT_SIGNALS_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a90851522f164a1218b0f133338e74420</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_OUTPUT_SIGNALS_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a1527a326a9f23045d05ac2bd0cdd3833</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_PHYSICAL_INPUT_SIGNALS_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a03b027bb39079cade1d9aa221312ea29</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>io_pin_data.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>io__pin__data_8h.html</filename>
    <includes id="io__constants_8h" name="io_constants.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_constants.h</includes>
    <includes id="format__range_8h" name="format_range.h" local="yes" imported="no">psen_scan_v2_standalone/util/format_range.h</includes>
    <class kind="struct">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io::PinData</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io</namespace>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>getInputName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>adfc55a383b487a77e66b7931cba9d167</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static LogicalInputType</type>
      <name>getInputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ab33df6c019d153fbfe82807708dd1aea</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>getOutputName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a9d661a9d14ec0adde9552fe9f48b709c</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static OutputType</type>
      <name>getOutputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a4f843c91cd47f5081983158d578ce01b</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ae8133302147e3ea0bc9b1f1f1e6f4286</anchor>
      <arglist>(std::ostream &amp;os, const PinData &amp;pd)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>NUMBER_OF_INPUT_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>afef288d35aae31f911f60ff2e106a5bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>NUMBER_OF_OUTPUT_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a7a43131b97c30cbaffd5017f66c6fd45</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>io_state.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/</path>
    <filename>io__state_8cpp.html</filename>
    <includes id="io__state_8h" name="io_state.h" local="yes" imported="no">psen_scan_v2_standalone/io_state.h</includes>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <includes id="io__state__conversions_8h" name="io_state_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_state_conversions.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>aa62188ef4ba51f304fb3d827d2a7ce87</anchor>
      <arglist>(std::ostream &amp;os, const IOState &amp;io_state)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a49db5dd4df388f106ebf73daf52bb8cd</anchor>
      <arglist>(std::ostream &amp;os, const PinState &amp;pin_state)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>io_state.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>io__state_8h.html</filename>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <class kind="class">psen_scan_v2_standalone::IOState</class>
    <class kind="class">psen_scan_v2_standalone::PinState</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <member kind="function">
      <type>std::string</type>
      <name>formatPinState</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a27f318bcfa29a5cc724b44858b2c6c03</anchor>
      <arglist>(const PinState &amp;pin)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>formatPinStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>ace8cd3e14714c671276016ca962a5c08</anchor>
      <arglist>(const std::vector&lt; PinState &gt; &amp;pins)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>aa62188ef4ba51f304fb3d827d2a7ce87</anchor>
      <arglist>(std::ostream &amp;os, const IOState &amp;io_state)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a49db5dd4df388f106ebf73daf52bb8cd</anchor>
      <arglist>(std::ostream &amp;os, const PinState &amp;pin_state)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>io_state_conversions.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>io__state__conversions_8h.html</filename>
    <includes id="io__state_8h" name="io_state.h" local="yes" imported="no">psen_scan_v2_standalone/io_state.h</includes>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateChangedInputStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aed1dd1502909c991564a41ebfad85388</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;new_state, const monitoring_frame::io::PinData &amp;old_state)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateChangedOutputStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a20c0f7df6d57de13feca0969fedab7c3</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;new_state, const monitoring_frame::io::PinData &amp;old_state)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static PinState</type>
      <name>generateInputPinState</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a29a582267533f6b08c675bab7ee54c24</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data, std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateInputPinStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a2be14e4dbb909819dd78a4a57275318b</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static PinState</type>
      <name>generateOutputPinState</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aa796ad3aaaa9d84fed2a040e6158f73a</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data, std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateOutputPinStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>ac1e420400fc28adabb24ab51a0d0d59d</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>isUsedInputBit</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a68864c21de8efc0cf19f19746303a005</anchor>
      <arglist>(std::size_t byte_n, std::size_t bit_n)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>isUsedOutputBit</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a3684e6c3e45f5996276d309ab7603795</anchor>
      <arglist>(std::size_t byte_n, std::size_t bit_n)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>io_state_ros_conversion.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>io__state__ros__conversion_8h.html</filename>
    <includes id="io__state_8h" name="io_state.h" local="yes" imported="no">psen_scan_v2_standalone/io_state.h</includes>
    <namespace>psen_scan_v2</namespace>
    <member kind="function">
      <type>psen_scan_v2::IOState</type>
      <name>toIOStateMsg</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a0afe50a719524df69f2e1fb87401e89c</anchor>
      <arglist>(const psen_scan_v2_standalone::IOState &amp;io_state, const std::string &amp;frame_id)</arglist>
    </member>
    <member kind="function">
      <type>PinStateType</type>
      <name>toPinStateMsg</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>adaff28b1c7de1964523dc7a1720dd7fd</anchor>
      <arglist>(const psen_scan_v2_standalone::PinState &amp;pin)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ip_conversion.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>ip__conversion_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
    <member kind="function">
      <type>uint16_t</type>
      <name>convertPort</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1util.html</anchorfile>
      <anchor>a84408983c8110350f5daefe5f2e0c8be</anchor>
      <arglist>(const int &amp;port)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>laserscan.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/</path>
    <filename>laserscan_8cpp.html</filename>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <includes id="io__state_8h" name="io_state.h" local="yes" imported="no">psen_scan_v2_standalone/io_state.h</includes>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <includes id="format__range_8h" name="format_range.h" local="yes" imported="no">psen_scan_v2_standalone/util/format_range.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a1fd0e69a3a34e6f1dcdc492c13f4efd9</anchor>
      <arglist>(std::ostream &amp;os, const LaserScan &amp;scan)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const util::TenthOfDegree</type>
      <name>MAX_X_AXIS_ROTATION</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a8c984cceac7005d6be45b47135961501</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>laserscan.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>laserscan_8h.html</filename>
    <includes id="io__state_8h" name="io_state.h" local="yes" imported="no">psen_scan_v2_standalone/io_state.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <class kind="class">psen_scan_v2_standalone::LaserScan</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a1fd0e69a3a34e6f1dcdc492c13f4efd9</anchor>
      <arglist>(std::ostream &amp;os, const LaserScan &amp;scan)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>laserscan_conversions.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>laserscan__conversions_8h.html</filename>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::LaserScanConverter</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::ScannerProtocolViolationError</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
  </compound>
  <compound kind="file">
    <name>laserscan_ros_conversions.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>laserscan__ros__conversions_8h.html</filename>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <namespace>psen_scan_v2</namespace>
    <member kind="function">
      <type>sensor_msgs::LaserScan</type>
      <name>toLaserScanMsg</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>ae9328a5ada8c52ee9857b6034fe9eeba</anchor>
      <arglist>(const LaserScan &amp;laserscan, const std::string &amp;frame_id, const double x_axis_rotation)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>logging.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>logging_8h.html</filename>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_DEBUG</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a482b4c292e562babed04d2fe64ca8f0f</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_DEBUG_ONCE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a91a76dd37e12e0670b4280dd71e159ba</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_DEBUG_THROTTLE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a2dde5125a529cfe08d543f66baee9107</anchor>
      <arglist>(period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_DEBUG_THROTTLE_INTERNAL</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>ad07d718eb842146ab47b526d2b26fd63</anchor>
      <arglist>(now, period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_ERROR</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a8069b2664ec27c59e4800bee4b715f03</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_ERROR_ONCE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a1502bb9eab4e5ab428cafae5f1b585f1</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_ERROR_THROTTLE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a1afc397fa1722caf12ea9e418000528f</anchor>
      <arglist>(period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_ERROR_THROTTLE_INTERNAL</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a837d05d87ee4af785bb7d9fc9aa7edc6</anchor>
      <arglist>(now, period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_INFO</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a118f06821a566394af07bbb56dbccff3</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_INFO_ONCE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>ae2bdf010f379e33e84218d9fa54d551c</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_INFO_THROTTLE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>aeb895e16622b96ca98ec3468e3ce4066</anchor>
      <arglist>(period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_INFO_THROTTLE_INTERNAL</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a33494b0a6355af776b3f565558a2b478</anchor>
      <arglist>(now, period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_LOG</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>aa512a7345c70ffca6c26189478c6c57c</anchor>
      <arglist>(name, file, line, level,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_LOG_ONCE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a78f5041f2b77490fd66bb51a893455a5</anchor>
      <arglist>(name, file, line, level,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_LOG_THROTTLE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a43efd533a1a6641afaffcc112e387077</anchor>
      <arglist>(period, name, file, line, level,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_LOG_THROTTLE_INTERNAL</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a0595034c9e2bbc6124a0821cf239e47a</anchor>
      <arglist>(now, period, name, file, line, level,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_WARN</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a79cbbb2d5a12183057d1dabef0602828</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_WARN_ONCE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a92a42970954428ad47ca909d618c93d4</anchor>
      <arglist>(name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_WARN_THROTTLE</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>aaf8cba94a01ab16f22d40a62c57ebb99</anchor>
      <arglist>(period, name,...)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>PSENSCAN_WARN_THROTTLE_INTERNAL</name>
      <anchorfile>logging_8h.html</anchorfile>
      <anchor>a7ad42dce889c46bbf0b0c37f63c10627</anchor>
      <arglist>(now, period, name,...)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>main.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/</path>
    <filename>main_8cpp.html</filename>
    <includes id="core_8h" name="core.h" local="no" imported="no">psen_scan_v2_standalone/core.h</includes>
    <member kind="function">
      <type>void</type>
      <name>laserScanCallback</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>af0c8e11999decb37b5a126c0a9bacee6</anchor>
      <arglist>(const LaserScan &amp;scan)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="variable">
      <type>const util::TenthOfDegree</type>
      <name>ANGLE_END</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>af1202b4d9d2c2587105a847b301cf687</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const util::TenthOfDegree</type>
      <name>ANGLE_START</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a8d7fc0d8e15b41d1feeccd3f8b4a0f01</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>SCANNER_IP</name>
      <anchorfile>main_8cpp.html</anchorfile>
      <anchor>a348684e7960853c639ecc42d61b33d60</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>monitoring_frame_deserialization.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>monitoring__frame__deserialization_8cpp.html</filename>
    <includes id="diagnostics_8h" name="diagnostics.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/diagnostics.h</includes>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <includes id="monitoring__frame__deserialization_8h" name="monitoring_frame_deserialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_deserialization.h</includes>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="monitoring__frame__msg__builder_8h" name="monitoring_frame_msg_builder.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg_builder.h</includes>
    <includes id="raw__processing_8h" name="raw_processing.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_processing.h</includes>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <includes id="io__state_8h" name="io_state.h" local="yes" imported="no">psen_scan_v2_standalone/io_state.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io</namespace>
    <member kind="function">
      <type>monitoring_frame::Message</type>
      <name>deserialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ab47e64a350fb1a97293f722a12803f53</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data, const std::size_t &amp;num_bytes)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; diagnostic::Message &gt;</type>
      <name>deserializeMessages</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>abc2a1722fc39915f31ad5950e735ba0b</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>PinData</type>
      <name>deserializePins</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a84083ec126f5786cab209ad1951d6f32</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>AdditionalFieldHeader</type>
      <name>readAdditionalField</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a3bbc8d20ff5d4c362a1e75aac2c9acbc</anchor>
      <arglist>(std::istream &amp;is, const std::size_t &amp;max_num_bytes)</arglist>
    </member>
    <member kind="function">
      <type>FixedFields</type>
      <name>readFixedFields</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>acbead152bd15f3f0b4e672da6b7c0502</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>toIntensities</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a8025060080827f9f5edddf3e426749da</anchor>
      <arglist>(const uint16_t &amp;value)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>toMeter</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a5b0b628538cb66e4e40ee03ade109a3d</anchor>
      <arglist>(const uint16_t &amp;value)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>monitoring_frame_deserialization.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>monitoring__frame__deserialization_8h.html</filename>
    <includes id="scanner__ids_8h" name="scanner_ids.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/scanner_ids.h</includes>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <includes id="diagnostics_8h" name="diagnostics.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/diagnostics.h</includes>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="raw__processing_8h" name="raw_processing.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_processing.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldHeader</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldUnexpectedSize</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::DecodingFailure</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::FixedFields</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io</namespace>
    <member kind="enumeration">
      <type></type>
      <name>AdditionalFieldHeaderID</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a239137f6275527d355e6a2742c972774</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774ae67eb7b02dca6828ce88cadcc6fc81ed">io_pin_data</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774aee39ddbeab64e23cd60aba10f1cf5f38">scan_counter</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774a4e43eaf4601d8ff66965e079a9981e10">zone_set</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774ae7781bd03c1d3248aa3fc03afe6bfc54">diagnostics</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774ac37be74d84f98bd288693a6bbee7a334">measurements</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774a6932348967a63a2a372931f9320087f3">intensities</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774afcca430f0fd3b8a653d394bb52ea932f">end_of_frame</enumvalue>
    </member>
    <member kind="function">
      <type>monitoring_frame::Message</type>
      <name>deserialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ab47e64a350fb1a97293f722a12803f53</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data, const std::size_t &amp;num_bytes)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; diagnostic::Message &gt;</type>
      <name>deserializeMessages</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>abc2a1722fc39915f31ad5950e735ba0b</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>deserializePinField</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ae5e12e6d8a94c312748e5c01a8d5d949</anchor>
      <arglist>(std::istream &amp;is, std::array&lt; std::bitset&lt; 8 &gt;, ChunkSize &gt; &amp;pin_states)</arglist>
    </member>
    <member kind="function">
      <type>PinData</type>
      <name>deserializePins</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a84083ec126f5786cab209ad1951d6f32</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>AdditionalFieldHeader</type>
      <name>readAdditionalField</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a3bbc8d20ff5d4c362a1e75aac2c9acbc</anchor>
      <arglist>(std::istream &amp;is, const std::size_t &amp;max_num_bytes)</arglist>
    </member>
    <member kind="function">
      <type>FixedFields</type>
      <name>readFixedFields</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>acbead152bd15f3f0b4e672da6b7c0502</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>DEFAULT_DEVICE_STATUS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>aeb808b48acb2cbe687df9f272d62e8f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>GUI_MONITORING_TRANSACTION</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a465b3e007a409d8663310d1d452e4248</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NO_SIGNAL_ARRIVED</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ac5ae23ea0b9d2bb6bfff283da4b86426</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_SCAN_COUNTER</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a0b1c41680d23bf3a03d71aa75422342f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_SINGLE_INTENSITY</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a6395dca11c089b4573fa896148d44f56</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_SINGLE_MEASUREMENT</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>acb99951ae7191d03ca3df3fe21291165</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_ZONE_SET</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ad7f089ed6218ee7bc0becba007577514</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>ONLINE_WORKING_MODE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a8fa29959079a9ae847e72a157f45f7ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>OP_CODE_MONITORING_FRAME</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a57644ea3534626e00f174d18b63dd463</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>SIGNAL_TOO_LATE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ab3897c3882965cd8f4c75f46b4bb2b21</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>monitoring_frame_msg.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>monitoring__frame__msg_8cpp.html</filename>
    <includes id="scanner__ids_8h" name="scanner_ids.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/scanner_ids.h</includes>
    <includes id="diagnostics_8h" name="diagnostics.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/diagnostics.h</includes>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
  </compound>
  <compound kind="file">
    <name>monitoring_frame_msg.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>monitoring__frame__msg_8h.html</filename>
    <includes id="scanner__ids_8h" name="scanner_ids.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/scanner_ids.h</includes>
    <includes id="diagnostics_8h" name="diagnostics.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/diagnostics.h</includes>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldMissing</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::Message</class>
    <class kind="struct">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::MessageStamped</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <member kind="variable" static="yes">
      <type>static constexpr uint8_t</type>
      <name>MAX_SCANNER_ID</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a047b2b173b55cba71df52843315c5422</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>monitoring_frame_msg_builder.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>monitoring__frame__msg__builder_8h.html</filename>
    <includes id="diagnostics_8h" name="diagnostics.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/diagnostics.h</includes>
    <includes id="io__pin__data_8h" name="io_pin_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/io_pin_data.h</includes>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::MessageBuilder</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
  </compound>
  <compound kind="file">
    <name>psen_scan_driver.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/src/</path>
    <filename>psen__scan__driver_8cpp.html</filename>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <includes id="function__pointers_8h" name="function_pointers.h" local="yes" imported="no">psen_scan_v2_standalone/protocol_layer/function_pointers.h</includes>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <includes id="scanner__config__builder_8h" name="scanner_config_builder.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_config_builder.h</includes>
    <includes id="scan__range_8h" name="scan_range.h" local="yes" imported="no">psen_scan_v2_standalone/scan_range.h</includes>
    <includes id="default__ros__parameters_8h" name="default_ros_parameters.h" local="yes" imported="no">psen_scan_v2/default_ros_parameters.h</includes>
    <includes id="ros__parameter__handler_8h" name="ros_parameter_handler.h" local="yes" imported="no">psen_scan_v2/ros_parameter_handler.h</includes>
    <includes id="ros__scanner__node_8h" name="ros_scanner_node.h" local="yes" imported="no">psen_scan_v2/ros_scanner_node.h</includes>
    <member kind="function">
      <type>void</type>
      <name>delayed_shutdown_sig_handler</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a7231fe4b978f9e038a2f01db91bc561a</anchor>
      <arglist>(int sig)</arglist>
    </member>
    <member kind="function">
      <type>int</type>
      <name>main</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a3c04138a5bfe5d72780bb7e82a18e627</anchor>
      <arglist>(int argc, char **argv)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_PUBLISH_TOPIC</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a5ab0e538f74b735deba5aa6cba780eb7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_TF_PREFIX</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>ad94efdc90fe262e09e604e212c9795bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::function&lt; void()&gt;</type>
      <name>NODE_TERMINATE_CALLBACK</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a3809dc3796cc9cd473d4e2268412dace</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_ANGLE_END</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a70e215871a56e6e9d47ee2898a68ca3c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_ANGLE_START</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a560ddae8e5b5192925ced636eeaaf011</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_FRAGMENTED_SCANS</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>af5891c15070f97cd1ee19c384ad13ddb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_HOST_CONTROL_PORT</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a2a02f3791bf5cbfd1fad46792583764d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_HOST_DATA_PORT</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>ac706f9a476f270a39314f2ab1110b79a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_HOST_IP</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>afaf40a675ccedf8eb3658b8d04043d8f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_INTENSITIES</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a1fbcf3e303f3a510332583f38961b22a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_RESOLUTION</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a6efaecb59f4f5f240485e50267558a7e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_SCANNER_IP</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a93fa09b4584c55d7154f01cdfb19c226</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_TF_PREFIX</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a52e23b3742ae8612d777d79eac779328</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::string</type>
      <name>PARAM_X_AXIS_ROTATION</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>afd66893c4c5874967aab913b0611626d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type></type>
      <name>REGISTER_ROSCONSOLE_BRIDGE</name>
      <anchorfile>psen__scan__driver_8cpp.html</anchorfile>
      <anchor>a80e7dfb22c8ffe9b9c6d4afe20338e98</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>raw_processing.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>raw__processing_8h.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::raw_processing::StringStreamFailure</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::raw_processing</namespace>
    <member kind="typedef">
      <type>std::function&lt; ReturnType(const RawType &amp;)&gt;</type>
      <name>ConversionFunc</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a3236bb7d357cc595950834a020e9c75e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a2350596c2c6d3f357f5e9ef02dc72984</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>ReturnType</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a81f692fc22161aa0abf8cbc69310539f</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>ReturnType</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>ae4e75a30a30e1004fcc09553b5078168</anchor>
      <arglist>(std::istream &amp;is, const ConversionFunc&lt; ReturnType, RawType &gt; &amp;conversion_fcn)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>acc6dba5a0fd00e0b750970056ffac2a6</anchor>
      <arglist>(std::istream &amp;is, T &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>readArray</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>aa4f61776e7b312d0a0317bf5db1dc8f6</anchor>
      <arglist>(std::istream &amp;is, std::vector&lt; ReturnType &gt; &amp;data, const size_t &amp;number_of_samples, const ConversionFunc&lt; ReturnType, RawType &gt; &amp;conversion_fcn)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>toArray</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a986fd6703d199939af5b9bc9ae93c3bd</anchor>
      <arglist>(std::ostringstream &amp;os)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a0465c72ac4ebebd7ace343e463f2250a</anchor>
      <arglist>(std::ostringstream &amp;os, const T &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeArray</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>aba47021f28e04e3688c055fb389a0897</anchor>
      <arglist>(std::ostringstream &amp;os, const std::vector&lt; ArrayElemType &gt; &amp;array, ConversionFunc&lt; RawType, ArrayElemType &gt; conversion_fcn)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>raw_scanner_data.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>raw__scanner__data_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <member kind="typedef">
      <type>std::vector&lt; char &gt;</type>
      <name>RawData</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>ad26fa30a29adc8e28fa8b141d3b062e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const RawData &gt;</type>
      <name>RawDataConstPtr</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aaa672ce36ecf0bd21155ae5866236183</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; RawData &gt;</type>
      <name>RawDataPtr</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aeaad884e57ff8443bb8e7f7f1a4df1e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::size_t</type>
      <name>MAX_UDP_PAKET_SIZE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a73e5c593147df097711e7fdb1d90239b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>doc/README.md</name>
    <path>/tmp/ws/src/psen_scan_v2/doc/</path>
    <filename>doc_2README_8md.html</filename>
  </compound>
  <compound kind="file">
    <name>README.md</name>
    <path>/tmp/ws/src/psen_scan_v2/</path>
    <filename>README_8md.html</filename>
  </compound>
  <compound kind="file">
    <name>standalone/README.md</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/</path>
    <filename>standalone_2README_8md.html</filename>
  </compound>
  <compound kind="file">
    <name>ros_parameter_handler.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>ros__parameter__handler_8h.html</filename>
    <includes id="get__ros__parameter__exception_8h" name="get_ros_parameter_exception.h" local="yes" imported="no">psen_scan_v2/get_ros_parameter_exception.h</includes>
    <namespace>psen_scan_v2</namespace>
    <member kind="function">
      <type>T</type>
      <name>getOptionalParamFromServer</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>afd2325c1dfc7abc3bd0cb27b560ac6a9</anchor>
      <arglist>(const ros::NodeHandle &amp;node_handle, const std::string &amp;key, const T &amp;default_value)</arglist>
    </member>
    <member kind="function">
      <type>boost::optional&lt; T &gt;</type>
      <name>getParam</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>abff6987a5618f35ee3d2aa8e9ee27426</anchor>
      <arglist>(const ros::NodeHandle &amp;node_handle, const std::string &amp;key)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>getRequiredParamFromServer</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a4d37bedb669d727fa2ae9da18d5e8b61</anchor>
      <arglist>(const ros::NodeHandle &amp;node_handle, const std::string &amp;key)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>ros_scanner_node.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>ros__scanner__node_8h.html</filename>
    <includes id="scanner__v2_8h" name="scanner_v2.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_v2.h</includes>
    <includes id="laserscan__ros__conversions_8h" name="laserscan_ros_conversions.h" local="yes" imported="no">psen_scan_v2/laserscan_ros_conversions.h</includes>
    <includes id="io__state__ros__conversion_8h" name="io_state_ros_conversion.h" local="yes" imported="no">psen_scan_v2/io_state_ros_conversion.h</includes>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <includes id="format__range_8h" name="format_range.h" local="yes" imported="no">psen_scan_v2_standalone/util/format_range.h</includes>
    <class kind="class">psen_scan_v2::ROSScannerNodeT</class>
    <namespace>psen_scan_v2</namespace>
    <member kind="typedef">
      <type>ROSScannerNodeT</type>
      <name>ROSScannerNode</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>aa08e4eed6297d0e0db442f1c35cecce2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scan_buffer.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/protocol_layer/</path>
    <filename>scan__buffer_8h.html</filename>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::OutdatedMessageError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanBuffer</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanRoundEndedEarlyError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanRoundError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanRoundOversaturatedError</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer</namespace>
  </compound>
  <compound kind="file">
    <name>scan_range.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>scan__range_8h.html</filename>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <class kind="class">psen_scan_v2_standalone::ScanRangeTemplated</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <member kind="typedef">
      <type>ScanRangeTemplated&lt; 1, 2749 &gt;</type>
      <name>ScanRange</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>ac569893a6ecd1e24c10d9420bfb41fe7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scanner_config_builder.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>scanner__config__builder_8h.html</filename>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <includes id="scan__range_8h" name="scan_range.h" local="yes" imported="no">psen_scan_v2_standalone/scan_range.h</includes>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <includes id="ip__conversion_8h" name="ip_conversion.h" local="yes" imported="no">psen_scan_v2_standalone/util/ip_conversion.h</includes>
    <class kind="class">psen_scan_v2_standalone::ScannerConfigurationBuilder</class>
    <namespace>psen_scan_v2_standalone</namespace>
  </compound>
  <compound kind="file">
    <name>scanner_configuration.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>scanner__configuration_8h.html</filename>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <includes id="scan__range_8h" name="scan_range.h" local="yes" imported="no">psen_scan_v2_standalone/scan_range.h</includes>
    <class kind="class">psen_scan_v2_standalone::ScannerConfiguration</class>
    <namespace>psen_scan_v2_standalone</namespace>
  </compound>
  <compound kind="file">
    <name>scanner_events.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/protocol_layer/</path>
    <filename>scanner__events_8h.html</filename>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::MonitoringFrameReceivedError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::MonitoringFrameTimeout</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::RawMonitoringFrameReceived</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::RawReplyReceived</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::ReplyReceiveError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::StartRequest</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::StartTimeout</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::StopRequest</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer::scanner_events</namespace>
  </compound>
  <compound kind="file">
    <name>scanner_ids.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/configuration/</path>
    <filename>scanner__ids_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
    <member kind="enumeration">
      <type></type>
      <name>ScannerId</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a429b2f57e89058c9a6d49712897a0789</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789aeb0a191797624dd3a48fa681d3061212">master</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789a589cf79ae83ef77fbd0a0e7c4fc1530f">subscriber0</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789a6fc4ab51119236e253c6f51763f11c21">subscriber1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789a9048690f0bedbdc80c24aa57b6245655">subscriber2</enumvalue>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; ScannerId, std::string &gt;</type>
      <name>SCANNER_ID_TO_STRING</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae0ab3d3aab7013a3b5c5efb47986b078</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; ScannerId, 4 &gt;</type>
      <name>VALID_SCANNER_IDS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a2e3d88b358f92beac566214a7e075510</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scanner_interface.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>scanner__interface_8h.html</filename>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <class kind="class">psen_scan_v2_standalone::IScanner</class>
    <namespace>psen_scan_v2_standalone</namespace>
  </compound>
  <compound kind="file">
    <name>scanner_reply_msg.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>scanner__reply__msg_8h.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::scanner_reply::Message</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::scanner_reply</namespace>
  </compound>
  <compound kind="file">
    <name>scanner_reply_serialization_deserialization.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>scanner__reply__serialization__deserialization_8cpp.html</filename>
    <includes id="scanner__reply__serialization__deserialization_8h" name="scanner_reply_serialization_deserialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/scanner_reply_serialization_deserialization.h</includes>
    <includes id="raw__processing_8h" name="raw_processing.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_processing.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
  </compound>
  <compound kind="file">
    <name>scanner_reply_serialization_deserialization.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>scanner__reply__serialization__deserialization_8h.html</filename>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <includes id="scanner__reply__msg_8h" name="scanner_reply_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/scanner_reply_msg.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::scanner_reply::CRCMismatch</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::scanner_reply</namespace>
    <member kind="function">
      <type>Message</type>
      <name>deserialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</anchorfile>
      <anchor>ad806a55db5ac9a7b869ddf778f0d7144</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</anchorfile>
      <anchor>a647ab4cad76704b94e63023380da460e</anchor>
      <arglist>(const Message &amp;reply)</arglist>
    </member>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</anchorfile>
      <anchor>ab3f4c51b0da4096c56a5a882aad1c572</anchor>
      <arglist>(const uint32_t op_code, const uint32_t res_code)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scanner_state_machine.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/protocol_layer/</path>
    <filename>scanner__state__machine_8h.html</filename>
    <includes id="scanner__events_8h" name="scanner_events.h" local="yes" imported="no">psen_scan_v2_standalone/protocol_layer/scanner_events.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <includes id="format__range_8h" name="format_range.h" local="yes" imported="no">psen_scan_v2_standalone/util/format_range.h</includes>
    <includes id="ip__conversion_8h" name="ip_conversion.h" local="yes" imported="no">psen_scan_v2_standalone/util/ip_conversion.h</includes>
    <includes id="udp__client_8h" name="udp_client.h" local="yes" imported="no">psen_scan_v2_standalone/communication_layer/udp_client.h</includes>
    <includes id="laserscan_8h" name="laserscan.h" local="yes" imported="no">psen_scan_v2_standalone/laserscan.h</includes>
    <includes id="laserscan__conversions_8h" name="laserscan_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/laserscan_conversions.h</includes>
    <includes id="start__request_8h" name="start_request.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/start_request.h</includes>
    <includes id="stop__request__serialization_8h" name="stop_request_serialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/stop_request_serialization.h</includes>
    <includes id="scanner__reply__msg_8h" name="scanner_reply_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/scanner_reply_msg.h</includes>
    <includes id="scanner__reply__serialization__deserialization_8h" name="scanner_reply_serialization_deserialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/scanner_reply_serialization_deserialization.h</includes>
    <includes id="monitoring__frame__msg_8h" name="monitoring_frame_msg.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_msg.h</includes>
    <includes id="monitoring__frame__deserialization_8h" name="monitoring_frame_deserialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/monitoring_frame_deserialization.h</includes>
    <includes id="scan__buffer_8h" name="scan_buffer.h" local="yes" imported="no">psen_scan_v2_standalone/protocol_layer/scan_buffer.h</includes>
    <includes id="watchdog_8h" name="watchdog.h" local="yes" imported="no">psen_scan_v2_standalone/util/watchdog.h</includes>
    <includes id="scanner__state__machine__def_8h" name="scanner_state_machine_def.h" local="yes" imported="no">psen_scan_v2_standalone/protocol_layer/scanner_state_machine_def.h</includes>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::InternalScannerReplyError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::IWatchdogFactory</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef</class>
    <class kind="struct">psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::transition_table</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::WatchdogFactory</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer</namespace>
    <member kind="define">
      <type>#define</type>
      <name>BOOST_MSM_CONSTRUCTOR_ARG_SIZE</name>
      <anchorfile>scanner__state__machine_8h.html</anchorfile>
      <anchor>ad7205b754af5c462616ddb77706d0d6d</anchor>
      <arglist></arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>STATE</name>
      <anchorfile>scanner__state__machine_8h.html</anchorfile>
      <anchor>a5d168354bed15873b425ad03eb037bf0</anchor>
      <arglist>(state_name)</arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const LaserScan &amp;)&gt;</type>
      <name>InformUserAboutLaserScanCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>af46eed8c0cc91f4d968af86f4d487ce8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>ScannerStartedCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a94667e18cea66bfd5fb9f966c2b7d294</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>msm::back::state_machine&lt; ScannerProtocolDef &gt;</type>
      <name>ScannerStateMachine</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>aad87afb55de01ddf0b605fda3e8855e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>ScannerStoppedCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a97ab8f27cec4a953e13356a228c7b340</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>StartErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a87c97c37c4faaaf8f3195451261c3456</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>StopErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a29b8c52e8e271d5962624d531df335ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>TimeoutCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>afafe07b661e693f00cdf64f34aa1d16d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>DEFAULT_NUM_MSG_PER_ROUND</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a9b50d50470b8c22fe28c8077bd3d47ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::chrono::milliseconds</type>
      <name>WATCHDOG_TIMEOUT</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a4f3abc4edc461f5dbdf6ce1c3785559a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scanner_state_machine_def.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/protocol_layer/</path>
    <filename>scanner__state__machine__def_8h.html</filename>
    <includes id="start__request__serialization_8h" name="start_request_serialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/start_request_serialization.h</includes>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <includes id="udp__client_8h" name="udp_client.h" local="yes" imported="no">psen_scan_v2_standalone/communication_layer/udp_client.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer</namespace>
    <member kind="define">
      <type>#define</type>
      <name>DEFAULT_ON_ENTRY_IMPL</name>
      <anchorfile>scanner__state__machine__def_8h.html</anchorfile>
      <anchor>a84a25cd246232030b5f221a8e54364f2</anchor>
      <arglist>(state_name)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>DEFAULT_ON_EXIT_IMPL</name>
      <anchorfile>scanner__state__machine__def_8h.html</anchorfile>
      <anchor>aff9d4bbb4b73df736092c1481fb7deb9</anchor>
      <arglist>(state_name)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>DEFAULT_STATE_IMPL</name>
      <anchorfile>scanner__state__machine__def_8h.html</anchorfile>
      <anchor>a8e2818cd1e7f20622be8f86a81d3d462</anchor>
      <arglist>(state_name)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>classNameShort</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a0b752049014363847de872c30f0f00be</anchor>
      <arglist>(const T &amp;t)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>getStateName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a46f3cf56fd3a93606ed957ea40025433</anchor>
      <arglist>(const int &amp;state_id)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scanner_v2.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/</path>
    <filename>scanner__v2_8cpp.html</filename>
    <includes id="scanner__v2_8h" name="scanner_v2.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_v2.h</includes>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <member kind="define">
      <type>#define</type>
      <name>BIND_EVENT</name>
      <anchorfile>scanner__v2_8cpp.html</anchorfile>
      <anchor>a712a8329ee64003289cb8a466d2f4ea9</anchor>
      <arglist>(event_name)</arglist>
    </member>
    <member kind="define">
      <type>#define</type>
      <name>BIND_RAW_DATA_EVENT</name>
      <anchorfile>scanner__v2_8cpp.html</anchorfile>
      <anchor>a78f5e0483535146e3dbf1bdcb9b2339f</anchor>
      <arglist>(event_name)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>scanner_v2.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/</path>
    <filename>scanner__v2_8h.html</filename>
    <includes id="scanner__interface_8h" name="scanner_interface.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_interface.h</includes>
    <includes id="scanner__events_8h" name="scanner_events.h" local="yes" imported="no">psen_scan_v2_standalone/protocol_layer/scanner_events.h</includes>
    <includes id="scanner__state__machine_8h" name="scanner_state_machine.h" local="yes" imported="no">psen_scan_v2_standalone/protocol_layer/scanner_state_machine.h</includes>
    <includes id="watchdog_8h" name="watchdog.h" local="yes" imported="no">psen_scan_v2_standalone/util/watchdog.h</includes>
    <class kind="class">psen_scan_v2_standalone::ScannerV2</class>
    <namespace>psen_scan_v2_standalone</namespace>
  </compound>
  <compound kind="file">
    <name>start_request.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>start__request_8cpp.html</filename>
    <includes id="start__request_8h" name="start_request.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/start_request.h</includes>
    <includes id="scanner__configuration_8h" name="scanner_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/scanner_configuration.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::start_request</namespace>
  </compound>
  <compound kind="file">
    <name>start_request.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>start__request_8h.html</filename>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <includes id="scan__range_8h" name="scan_range.h" local="yes" imported="no">psen_scan_v2_standalone/scan_range.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::start_request::Message::DeviceSettings</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::start_request::Message::LaserScanSettings</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::start_request::Message</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::start_request</namespace>
  </compound>
  <compound kind="file">
    <name>start_request_serialization.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>start__request__serialization_8cpp.html</filename>
    <includes id="start__request_8h" name="start_request.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/start_request.h</includes>
    <includes id="start__request__serialization_8h" name="start_request_serialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/start_request_serialization.h</includes>
    <includes id="raw__processing_8h" name="raw_processing.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_processing.h</includes>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::start_request</namespace>
    <member kind="function">
      <type>uint32_t</type>
      <name>calculateCRC</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a698f79df81fd45a56e7c6e9039c6fba2</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>OPCODE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a95305e55aae59431eff863cb2afe1489</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint64_t</type>
      <name>RESERVED</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a3ebabdc88977d58edc49de7d4e3e8108</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>start_request_serialization.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>start__request__serialization_8h.html</filename>
    <includes id="start__request_8h" name="start_request.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/start_request.h</includes>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::start_request</namespace>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a86868fa7827b222f6441691cce4544ee</anchor>
      <arglist>(const data_conversion_layer::start_request::Message &amp;start_request, const uint32_t &amp;seq_number=DEFAULT_SEQ_NUMBER)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>DEFAULT_SEQ_NUMBER</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a77c36ee8186368c7d8296d0286473bac</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>stop_request_serialization.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/data_conversion_layer/</path>
    <filename>stop__request__serialization_8cpp.html</filename>
    <includes id="stop__request__serialization_8h" name="stop_request_serialization.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/stop_request_serialization.h</includes>
    <includes id="raw__processing_8h" name="raw_processing.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_processing.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
  </compound>
  <compound kind="file">
    <name>stop_request_serialization.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/data_conversion_layer/</path>
    <filename>stop__request__serialization_8h.html</filename>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::stop_request</namespace>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>acb8d68b545bd32b87498e9d1cdb37ff1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::size_t</type>
      <name>NUM_RESERVED_FIELDS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>af7dba97c64bf1a8286ab9731946b157e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>OPCODE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>a12783c6c35e3cde204ec75ed179438a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; uint8_t, NUM_RESERVED_FIELDS &gt;</type>
      <name>RESERVED</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>a617f1226d87ff2f568947c9cd9c82a84</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>tenth_of_degree.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>tenth__of__degree_8h.html</filename>
    <includes id="angle__conversions_8h" name="angle_conversions.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/angle_conversions.h</includes>
    <class kind="class">psen_scan_v2_standalone::util::TenthOfDegree</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
  </compound>
  <compound kind="file">
    <name>timestamp.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>timestamp_8h.html</filename>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
    <member kind="function" static="yes">
      <type>static auto</type>
      <name>getCurrentTime</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1util.html</anchorfile>
      <anchor>a8813aade6ea63ecde35953a2846ad601</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>udp_client.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/communication_layer/</path>
    <filename>udp__client_8h.html</filename>
    <includes id="raw__scanner__data_8h" name="raw_scanner_data.h" local="yes" imported="no">psen_scan_v2_standalone/data_conversion_layer/raw_scanner_data.h</includes>
    <includes id="logging_8h" name="logging.h" local="yes" imported="no">psen_scan_v2_standalone/util/logging.h</includes>
    <includes id="timestamp_8h" name="timestamp.h" local="yes" imported="no">psen_scan_v2_standalone/util/timestamp.h</includes>
    <class kind="class">psen_scan_v2_standalone::communication_layer::UdpClientImpl::CloseConnectionFailure</class>
    <class kind="class">psen_scan_v2_standalone::communication_layer::UdpClientImpl::OpenConnectionFailure</class>
    <class kind="class">psen_scan_v2_standalone::communication_layer::UdpClientImpl</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::communication_layer</namespace>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>ErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1communication__layer.html</anchorfile>
      <anchor>a431dfe9b03e216c8017ba369bbd979aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const data_conversion_layer::RawDataConstPtr &amp;, const std::size_t &amp;, const int64_t &amp;timestamp)&gt;</type>
      <name>NewMessageCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1communication__layer.html</anchorfile>
      <anchor>a0683afe8718bdc2242c6683d189043c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ReceiveMode</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1communication__layer.html</anchorfile>
      <anchor>a9ca891da85bc6c3c18f64cd7a3e83210</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1communication__layer.html" anchor="a9ca891da85bc6c3c18f64cd7a3e83210add5c07036f2975ff4bce568b6511d3bc">single</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1communication__layer.html" anchor="a9ca891da85bc6c3c18f64cd7a3e83210ad2884efee751eb4746b685827c7efcd9">continuous</enumvalue>
    </member>
  </compound>
  <compound kind="file">
    <name>watchdog.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/util/</path>
    <filename>watchdog_8h.html</filename>
    <includes id="async__barrier_8h" name="async_barrier.h" local="yes" imported="no">psen_scan_v2_standalone/util/async_barrier.h</includes>
    <class kind="class">psen_scan_v2_standalone::util::Watchdog</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
  </compound>
  <compound kind="file">
    <name>xml_configuration_parsing.cpp</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/src/configuration/</path>
    <filename>xml__configuration__parsing_8cpp.html</filename>
    <includes id="xml__configuration__parsing_8h" name="xml_configuration_parsing.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/xml_configuration_parsing.h</includes>
    <includes id="zoneset__configuration_8h" name="zoneset_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/zoneset_configuration.h</includes>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
    <namespace>psen_scan_v2_standalone::configuration::xml_config_parsing</namespace>
    <member kind="function">
      <type>const tinyxml2::XMLElement *</type>
      <name>getFirstChildElement</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a25ed200788a19dddf8d5a3b96e342370</anchor>
      <arglist>(const tinyxml2::XMLElement *parent, const char *name)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>getText</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a770d5f3f22c683bcf41a6542b6204402</anchor>
      <arglist>(const tinyxml2::XMLElement *element)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEncoderEnabled</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a6f6646edfd08d18fedc029142d87304f</anchor>
      <arglist>(const tinyxml2::XMLConstHandle &amp;doc_handle)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseFile</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a8141fedf24ae92eb771c8c22112f2615</anchor>
      <arglist>(const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; ZoneSetSpeedRange &gt;</type>
      <name>parseSpeedRanges</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>aee5c648279ecbb4c1c67b3290cf9f530</anchor>
      <arglist>(const tinyxml2::XMLConstHandle &amp;doc_handle)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseString</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a1a80529a67b1d5c0e902d1265166899f</anchor>
      <arglist>(const char *xml)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseTinyXML</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>ae2f8bd540fb574ee0384a1e6bd2b6930</anchor>
      <arglist>(const tinyxml2::XMLDocument &amp;doc)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSet</type>
      <name>parseZoneSet</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a66ec5e7124fd2397f7e6d1069b8a1f83</anchor>
      <arglist>(const tinyxml2::XMLElement *xml_set_element)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; ZoneSet &gt;</type>
      <name>parseZoneSets</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a552387858a0973b3efdaeb600acda812</anchor>
      <arglist>(const tinyxml2::XMLConstHandle &amp;doc_handle)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetSpeedRange</type>
      <name>parseZoneSetSpeedRange</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a88233d06b65d07cf9d05174f04f85f49</anchor>
      <arglist>(const tinyxml2::XMLElement *xml_zone_set_select_element)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>textIsEqual</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>ade7ed384a4ae1cb1fc9b18796afdd566</anchor>
      <arglist>(const tinyxml2::XMLElement *element, const char *str)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>xml_configuration_parsing.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/configuration/</path>
    <filename>xml__configuration__parsing_8h.html</filename>
    <includes id="zoneset__configuration_8h" name="zoneset_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/zoneset_configuration.h</includes>
    <class kind="class">psen_scan_v2_standalone::configuration::xml_config_parsing::XMLConfigurationParserException</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
    <namespace>psen_scan_v2_standalone::configuration::xml_config_parsing</namespace>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseFile</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a8141fedf24ae92eb771c8c22112f2615</anchor>
      <arglist>(const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseString</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a1a80529a67b1d5c0e902d1265166899f</anchor>
      <arglist>(const char *xml)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>ro_string_to_vec</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>af51c04374c1b66e6ccb950a061b48cfb</anchor>
      <arglist>(const std::string &amp;ro_string)</arglist>
    </member>
    <member kind="function">
      <type>unsigned long</type>
      <name>ro_value_to_uint</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>abd1092491336d76cd06865772d11a01b</anchor>
      <arglist>(const std::string &amp;ro_value)</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zoneset.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/configuration/</path>
    <filename>zoneset_8h.html</filename>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSet</class>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSetSpeedRange</class>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSetSpeedRangeException</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
  </compound>
  <compound kind="file">
    <name>zoneset_configuration.h</name>
    <path>/tmp/ws/src/psen_scan_v2/standalone/include/psen_scan_v2_standalone/configuration/</path>
    <filename>zoneset__configuration_8h.html</filename>
    <includes id="zoneset_8h" name="zoneset.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/zoneset.h</includes>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSetConfiguration</class>
    <namespace>psen_scan_v2_standalone</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
  </compound>
  <compound kind="file">
    <name>zoneset_configuration_ros_conversion.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>zoneset__configuration__ros__conversion_8h.html</filename>
    <includes id="default__ros__parameters_8h" name="default_ros_parameters.h" local="yes" imported="no">psen_scan_v2/default_ros_parameters.h</includes>
    <includes id="zoneset__msg__builder_8h" name="zoneset_msg_builder.h" local="yes" imported="no">psen_scan_v2/zoneset_msg_builder.h</includes>
    <includes id="zoneset__configuration_8h" name="zoneset_configuration.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/zoneset_configuration.h</includes>
    <includes id="default__parameters_8h" name="default_parameters.h" local="yes" imported="no">psen_scan_v2_standalone/configuration/default_parameters.h</includes>
    <includes id="tenth__of__degree_8h" name="tenth_of_degree.h" local="yes" imported="no">psen_scan_v2_standalone/util/tenth_of_degree.h</includes>
    <member kind="typedef">
      <type>psen_scan_v2_standalone::util::TenthOfDegree</type>
      <name>TenthOfDegree</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>a3afe5b95a34d9f4447f7d97fda4a7d3b</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>psen_scan_v2_standalone::configuration::ZoneSetConfiguration</type>
      <name>ZoneSetConfigurationStandalone</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>ac62c2fea789c9fcdb7c86239c8baa312</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>psen_scan_v2_standalone::configuration::ZoneSet</type>
      <name>ZoneSetStandalone</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>a92c10d9f12a9fbb6c8802973e80752d2</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static double</type>
      <name>deg_to_rad</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>af0366b84aa0c8db18a5214dfb2fbc3ad</anchor>
      <arglist>(double deg)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Polygon</type>
      <name>fromPolar</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>a9dc906ad94430518001e709be3efeed2</anchor>
      <arglist>(const std::vector&lt; unsigned long &gt; &amp;radii_in_mm, const TenthOfDegree &amp;phi_step, const double &amp;x_axis_rotation)</arglist>
    </member>
    <member kind="function">
      <type>psen_scan_v2::ZoneSetConfiguration</type>
      <name>toRosMsg</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>a145c88cccf6cac326da2bee32eb56bbd</anchor>
      <arglist>(const ZoneSetConfigurationStandalone &amp;zoneset_configuration, const std::string &amp;frame_id, const ros::Time &amp;stamp=ros::Time::now())</arglist>
    </member>
    <member kind="function">
      <type>psen_scan_v2::ZoneSet</type>
      <name>toRosMsg</name>
      <anchorfile>zoneset__configuration__ros__conversion_8h.html</anchorfile>
      <anchor>aa3a3b8b892e5a14faf652a6865f04665</anchor>
      <arglist>(const ZoneSetStandalone &amp;zoneset, const std::string &amp;frame_id, const ros::Time &amp;stamp=ros::Time::now())</arglist>
    </member>
  </compound>
  <compound kind="file">
    <name>zoneset_msg_builder.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>zoneset__msg__builder_8h.html</filename>
    <class kind="class">psen_scan_v2::ZoneSetMsgBuilder</class>
    <namespace>psen_scan_v2</namespace>
  </compound>
  <compound kind="file">
    <name>zoneset_to_marker_conversion.h</name>
    <path>/tmp/ws/src/psen_scan_v2/include/psen_scan_v2/</path>
    <filename>zoneset__to__marker__conversion_8h.html</filename>
    <namespace>psen_scan_v2</namespace>
    <member kind="define">
      <type>#define</type>
      <name>TO_MARKER</name>
      <anchorfile>zoneset__to__marker__conversion_8h.html</anchorfile>
      <anchor>a3d9a58f2ec65be009dbe606b3a51c62b</anchor>
      <arglist>(zoneset_obj, polygon_type, polygon_index)</arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>createMarker</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>adbb5ae88ad9bb5c0cd1f0f864385ddf3</anchor>
      <arglist>(const std::string &amp;ns, const std_msgs::ColorRGBA &amp;color, const std::string &amp;frame_id, const std::vector&lt; geometry_msgs::Point32 &gt; &amp;points, const double &amp;z_offset=0)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Point</type>
      <name>createPoint</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a70e08f69734683fcdc41f803dcdfc343</anchor>
      <arglist>(const double &amp;x, const double &amp;y, const double &amp;z)</arglist>
    </member>
    <member kind="function">
      <type>std_msgs::ColorRGBA</type>
      <name>createRGBA</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>aabf5d4f4e529e4852d56d170b41f5732</anchor>
      <arglist>(const float &amp;r, const float &amp;g, const float &amp;b, const float &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getRangeInfo</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>ac30b800784b66057d1cc9e02823c56c6</anchor>
      <arglist>(const ZoneSet &amp;zoneset)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; visualization_msgs::Marker &gt;</type>
      <name>toMarkers</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a77146436d398c36a63845cc344b6ff79</anchor>
      <arglist>(const ZoneSet &amp;zoneset)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2::ActiveZonesetNode</name>
    <filename>classpsen__scan__v2_1_1ActiveZonesetNode.html</filename>
    <member kind="function">
      <type>void</type>
      <name>activeZonesetCallback</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a9e0c9fbc2786066095c0055feb982fde</anchor>
      <arglist>(const std_msgs::UInt8 &amp;zoneset_config)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ActiveZonesetNode</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a06564e662fbe1a0dce4bd322e1e35f97</anchor>
      <arglist>(ros::NodeHandle &amp;nh)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>zonesetCallback</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a0b8122019af1756061f655c251ab04eb</anchor>
      <arglist>(const ZoneSetConfiguration &amp;zoneset_config)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>ZoneSet</type>
      <name>activeZoneset</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>ab6c3839345dc8f41f14234faf26668b3</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>addDeleteMessageForUnusedLastMarkers</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a570d9891f44289b8a4e807eb5d61b9a3</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>addMarkers</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a541154c5478453fc7ffdaeb6cda811dd</anchor>
      <arglist>(std::vector&lt; visualization_msgs::Marker &gt; &amp;new_markers)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>ZoneSet</type>
      <name>getActiveZoneset</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a0036359778aafd47b1d54972e0244916</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isAllInformationAvailable</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a959dac28ac0778060afc7e09e60791b9</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publishCurrentMarkers</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>af46241cfbe929b975721fdbcd206354b</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>updateMarkers</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>afd28a4a9bf30e958c473c57b662c107f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; std_msgs::UInt8 &gt;</type>
      <name>active_zoneset_id_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>ae51583799337f7051a5fc0a1edd4bc17</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>active_zoneset_subscriber_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>ac5a393a7b528c439968e897a83a573a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; visualization_msgs::Marker &gt;</type>
      <name>current_markers_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a623873c1848fc49077b9e389149da6ca</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; visualization_msgs::Marker &gt;</type>
      <name>last_markers_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>afdb5b8eaa676a49f08a01bcfe12dead2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a6d2bb3bddd2b0d50215a9e1d7b54c5be</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; ZoneSetConfiguration &gt;</type>
      <name>zoneset_config_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>afd68b36e3cd7a2862e2ba8350f0a6f9e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>zoneset_markers_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>ad59b729da9034c4dec755c5e99576956</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Subscriber</type>
      <name>zoneset_subscriber_</name>
      <anchorfile>classpsen__scan__v2_1_1ActiveZonesetNode.html</anchorfile>
      <anchor>a002861f0148fcce083c4b02bfac97ace</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldHeader</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</filename>
    <member kind="typedef">
      <type>uint8_t</type>
      <name>Id</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>a8bba10713b7f26e8683af9d9fb4b7b4c</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>uint16_t</type>
      <name>Length</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>aee2fee936474cecad6aa37d904631c34</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>AdditionalFieldHeader</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>a921d8841c5b2955d5cc137b5759de919</anchor>
      <arglist>(Id id, Length length)</arglist>
    </member>
    <member kind="function">
      <type>Id</type>
      <name>id</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>aee7f223661aa5ae1e6ce07626acc9418</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>Length</type>
      <name>length</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>a160cf2d24243669d922ce39e5f0f5c8e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>idToString</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>a3b2e9ce342aec53ad91b64314d979db8</anchor>
      <arglist>(Id id)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Id</type>
      <name>id_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>ad5f3b592bfa424a5155f2f255be59273</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Length</type>
      <name>length_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldHeader.html</anchorfile>
      <anchor>afc3ba7050d720c14f8acf01de34476d2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldMissing</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldMissing.html</filename>
    <member kind="function">
      <type></type>
      <name>AdditionalFieldMissing</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldMissing.html</anchorfile>
      <anchor>a1c2486b888901f655823bf1100faf5f7</anchor>
      <arglist>(const std::string &amp;field_name)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldUnexpectedSize</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldUnexpectedSize.html</filename>
    <base>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::DecodingFailure</base>
    <member kind="function">
      <type></type>
      <name>AdditionalFieldUnexpectedSize</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1AdditionalFieldUnexpectedSize.html</anchorfile>
      <anchor>ab2993f738bd27a7c25fa2b48849db83b</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::util::Barrier</name>
    <filename>classpsen__scan__v2__standalone_1_1util_1_1Barrier.html</filename>
    <member kind="function">
      <type>void</type>
      <name>release</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Barrier.html</anchorfile>
      <anchor>ae2bb8f2b21fbaf5312d098015bc67e0c</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>waitTillRelease</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Barrier.html</anchorfile>
      <anchor>abc706b459477ea20b1ba89fd687404c1</anchor>
      <arglist>(const std::chrono::duration&lt; Rep, Period &gt; &amp;timeout) const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::promise&lt; void &gt;</type>
      <name>barrier_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Barrier.html</anchorfile>
      <anchor>aa3d7ccb7ea13f2fcf0a3570946a9464a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const std::future&lt; void &gt;</type>
      <name>future_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Barrier.html</anchorfile>
      <anchor>a530173327a66c69d4cb68106b7970211</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_flag</type>
      <name>is_released_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Barrier.html</anchorfile>
      <anchor>a4b89883d58aee5b00e672d289f69384a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::communication_layer::UdpClientImpl::CloseConnectionFailure</name>
    <filename>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl_1_1CloseConnectionFailure.html</filename>
    <member kind="function">
      <type></type>
      <name>CloseConnectionFailure</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl_1_1CloseConnectionFailure.html</anchorfile>
      <anchor>a25fd385f3ae6d246beae80f9f6f0f2dc</anchor>
      <arglist>(const std::string &amp;msg=&quot;Failure while closing connection&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2::ConfigServerNode</name>
    <filename>classpsen__scan__v2_1_1ConfigServerNode.html</filename>
    <member kind="function">
      <type></type>
      <name>ConfigServerNode</name>
      <anchorfile>classpsen__scan__v2_1_1ConfigServerNode.html</anchorfile>
      <anchor>a36e759d560735d107bbd6c15e3cca1e0</anchor>
      <arglist>(ros::NodeHandle &amp;nh, const char *config_file_path, const std::string &amp;frame_id)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classpsen__scan__v2_1_1ConfigServerNode.html</anchorfile>
      <anchor>ab2d7957921eb460f074f58b51987e4a9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>zoneset_pub_</name>
      <anchorfile>classpsen__scan__v2_1_1ConfigServerNode.html</anchorfile>
      <anchor>aafac98fe922815c75798240c65b853a7</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::scanner_reply::CRCMismatch</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1CRCMismatch.html</filename>
    <member kind="function">
      <type></type>
      <name>CRCMismatch</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1CRCMismatch.html</anchorfile>
      <anchor>a87d8f972afbffc1b9569b3fac446ffbe</anchor>
      <arglist>(const std::string &amp;msg=&quot;CRC did not match!&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::DecodingFailure</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1DecodingFailure.html</filename>
    <member kind="function">
      <type></type>
      <name>DecodingFailure</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1DecodingFailure.html</anchorfile>
      <anchor>a3f95b76c3a13d0d0d46d26f95f647168</anchor>
      <arglist>(const std::string &amp;msg=&quot;Error while decoding laser scanner measurement data&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::start_request::Message::DeviceSettings</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1DeviceSettings.html</filename>
    <member kind="function">
      <type>constexpr</type>
      <name>DeviceSettings</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1DeviceSettings.html</anchorfile>
      <anchor>a09af8f3794531791726e1a4b615f631a</anchor>
      <arglist>(const bool diagnostics_enabled, const bool intensities_enabled)</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>diagnosticsEnabled</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1DeviceSettings.html</anchorfile>
      <anchor>a2ca920cb190e592b5535ec7931e4270e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>intensitiesEnabled</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1DeviceSettings.html</anchorfile>
      <anchor>a07cb12839ddbd5dc90126bf8e1a95446</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const bool</type>
      <name>diagnostics_enabled_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1DeviceSettings.html</anchorfile>
      <anchor>ab63c36b357a0a8e5c4ce3ba3cae4570c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const bool</type>
      <name>intensities_enabled_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1DeviceSettings.html</anchorfile>
      <anchor>a7a0b93c9ef448c9a10c57cd961593a85</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::ErrorLocation</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</filename>
    <member kind="typedef">
      <type>size_t</type>
      <name>BitLocation</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>a87d02bd617107d0361b5f28e3f726571</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>size_t</type>
      <name>ByteLocation</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>adef68c4402228921df940dbc6d5925f2</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>constexpr BitLocation</type>
      <name>bit</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>a9cc221cc17a47113b7719adfcffe771e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr ByteLocation</type>
      <name>byte</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>ad7d992166b0b15c6ee0ccc430344e42d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>ErrorLocation</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>a103b169c6f72b916967c8b8743e1f3f9</anchor>
      <arglist>(const ByteLocation &amp;byte, const BitLocation &amp;bit)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>BitLocation</type>
      <name>bit_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>ae88724077a122c5f2a3fb73531218c4e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ByteLocation</type>
      <name>byte_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1ErrorLocation.html</anchorfile>
      <anchor>a5578e7b04df6bf5580107a86e9955822</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::FixedFields</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</filename>
    <member kind="typedef">
      <type>uint32_t</type>
      <name>DeviceStatus</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a51df7ec729b7217ea09cb7497491c11f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>util::TenthOfDegree</type>
      <name>FromTheta</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a7cdf371ae8ea1605dcc927abf4d2fb97</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>uint32_t</type>
      <name>OpCode</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>ae3e17f4dbaa9a7932e38817fe7f89b26</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>util::TenthOfDegree</type>
      <name>Resolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>aa4ad4ae597869f84040ff25bfe0677dc</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>uint32_t</type>
      <name>TransactionType</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>aff60364813743ffd8d96ff60e759f6db</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>uint32_t</type>
      <name>WorkingMode</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a20af259a81cd49444723c0dad9d037d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>DeviceStatus</type>
      <name>deviceStatus</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>ab2be2ca232375c36662117f50d51b1d2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>FixedFields</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>ad20d7cf01416dd9825687726ec041237</anchor>
      <arglist>(DeviceStatus device_status, OpCode op_code, WorkingMode working_mode, TransactionType transaction_type, configuration::ScannerId scanner_id, FromTheta from_theta, Resolution resolution)</arglist>
    </member>
    <member kind="function">
      <type>FromTheta</type>
      <name>fromTheta</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a5720ba0f4f3bc54d8938100b50622ed8</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>OpCode</type>
      <name>opCode</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a8cb0412b694b8fdc56f2afc2530d5580</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>Resolution</type>
      <name>resolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a12e76c580e423cd7beb9ebc5a4fec2cf</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>configuration::ScannerId</type>
      <name>scannerId</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a44f6c26bc1b32d5c3ed387da9b04b4dd</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>TransactionType</type>
      <name>transactionType</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>afc8852079e20fef3975b68b58108d3b5</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>WorkingMode</type>
      <name>workingMode</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a6fabacf7ec4e633e942335b46dde3174</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>DeviceStatus</type>
      <name>device_status_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a24cb266b8b388b667e06c313a88bc688</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>FromTheta</type>
      <name>from_theta_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a8a16622c44a49e7552238fb3fbc5e114</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>OpCode</type>
      <name>op_code_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a539d8a8400a52d00c615923c8c713ecd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Resolution</type>
      <name>resolution_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>aeb36c373fd07a6d58aba4e21b4b8e338</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>configuration::ScannerId</type>
      <name>scanner_id_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>ae0aecbb022d4a7fe2fa6114a3ea833bb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>TransactionType</type>
      <name>transaction_type_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a864dc03c8ba298b1a3219cfea4b2ba29</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>WorkingMode</type>
      <name>working_mode_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1FixedFields.html</anchorfile>
      <anchor>a839b9a55c0488403f5344aa32dbe4be3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::InternalScannerReplyError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef_1_1InternalScannerReplyError.html</filename>
    <member kind="function">
      <type></type>
      <name>InternalScannerReplyError</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef_1_1InternalScannerReplyError.html</anchorfile>
      <anchor>a3e73d74a8a0e666ffe9937e505d3f46c</anchor>
      <arglist>(const std::string &amp;error_msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::IOState</name>
    <filename>classpsen__scan__v2__standalone_1_1IOState.html</filename>
    <member kind="function">
      <type>std::vector&lt; PinState &gt;</type>
      <name>changedInputStates</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>ac5e56c8ee517f2a7f68e8c861b6472ef</anchor>
      <arglist>(const IOState &amp;ref_state) const</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; PinState &gt;</type>
      <name>changedOutputStates</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>aab818aa23dfa0bc7f7257ce8b2ed1be5</anchor>
      <arglist>(const IOState &amp;ref_state) const</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; PinState &gt;</type>
      <name>input</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a939cda5bf33074391427e75fdd510738</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>IOState</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>af3d688e5171ea70dd336f3fd5973861e</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>IOState</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a252935db07610e4a491aba1c6268df4c</anchor>
      <arglist>(data_conversion_layer::monitoring_frame::io::PinData pin_data, const int64_t &amp;timestamp)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a40989b4bbfb9b193c9887aaa4eefc89d</anchor>
      <arglist>(const IOState &amp;io_state) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a9fe724f4bbc84641e4d4a3cc147d023f</anchor>
      <arglist>(const IOState &amp;io_state) const</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; PinState &gt;</type>
      <name>output</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a2c3d56f1fabe6ed3390a738dfcc29e9b</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>timestamp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a2748be72edf40744db27ba84b5b4a66e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>data_conversion_layer::monitoring_frame::io::PinData</type>
      <name>pin_data_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a4c994622fc38424a8ef85eef2b4a166d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int64_t</type>
      <name>timestamp_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>acdd1a621f24944952abf14d806390f8a</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IOState.html</anchorfile>
      <anchor>a33ca374615d75c969802c0b987def2f9</anchor>
      <arglist>(std::ostream &amp;os, const IOState &amp;io_state)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::IScanner</name>
    <filename>classpsen__scan__v2__standalone_1_1IScanner.html</filename>
    <member kind="typedef">
      <type>std::function&lt; void(const LaserScan &amp;)&gt;</type>
      <name>LaserScanCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>a6ba240d4b24e61bc6696dc5bad2ad371</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>IScanner</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>ab82af9492090053fc9a2ff46f8fdc139</anchor>
      <arglist>(const ScannerConfiguration &amp;scanner_config, const LaserScanCallback &amp;laser_scan_callback)</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual std::future&lt; void &gt;</type>
      <name>start</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>aaef40509312c2b7cdb667e3358b49faf</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="pure">
      <type>virtual std::future&lt; void &gt;</type>
      <name>stop</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>a8914ea3e692a25557d019b4c5b9339f1</anchor>
      <arglist>()=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~IScanner</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>a9ac0e09bb538b20fc03d6e60a85979a3</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>const ScannerConfiguration &amp;</type>
      <name>config</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>a677f7e99f28f66db9ec0c2567f8637c1</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>const ScannerConfiguration &amp;</type>
      <name>getConfig</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>aca7fbe17a1c4f57f2817cde2995d5923</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>const LaserScanCallback &amp;</type>
      <name>getLaserScanCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>aeb79eeecc85dde9c3b2154acee1078f2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="protected">
      <type>const LaserScanCallback &amp;</type>
      <name>laserScanCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>ace350a189ff73fc1d90ddf2b9f2db945</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const ScannerConfiguration</type>
      <name>config_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>afbd8af6106edcac7b28ddb5161f6dc9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const LaserScanCallback</type>
      <name>laser_scan_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1IScanner.html</anchorfile>
      <anchor>a1e42f75cc37ac313033f6eafcd880e72</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::IWatchdogFactory</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1IWatchdogFactory.html</filename>
    <member kind="function" virtualness="pure">
      <type>virtual std::unique_ptr&lt; util::Watchdog &gt;</type>
      <name>create</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1IWatchdogFactory.html</anchorfile>
      <anchor>a9f55a53213a7d347f7ed7286ed2a4d15</anchor>
      <arglist>(const util::Watchdog::Timeout &amp;timeout, const TimeoutCallback &amp;timeout_callback)=0</arglist>
    </member>
    <member kind="function" virtualness="virtual">
      <type>virtual</type>
      <name>~IWatchdogFactory</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1IWatchdogFactory.html</anchorfile>
      <anchor>a0ea82c678b9ab119694ddcaf6fc4be01</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::LaserScan</name>
    <filename>classpsen__scan__v2__standalone_1_1LaserScan.html</filename>
    <member kind="typedef">
      <type>std::vector&lt; double &gt;</type>
      <name>IntensityData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>abbbbed8ea391fd58a225c091c78cf0b6</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; IOState &gt;</type>
      <name>IOData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>acbeab3bcc5dcab79083983adc8f6fac4</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::vector&lt; double &gt;</type>
      <name>MeasurementData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>adbf66627d3d3321d32aa6980999dff9c</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>uint8_t</type>
      <name>activeZoneset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a073853917b86af5a53ab53ec4a4d7d0a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint8_t</type>
      <name>getActiveZoneset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a225b91aab6c96017d4708fb18bda923c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const IntensityData &amp;</type>
      <name>getIntensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a403e72523cebc730b426b32aa3d2ae10</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const IOData &amp;</type>
      <name>getIOStates</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a55ca5887804ff039bf8df4399160161e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>getMaxScanAngle</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ab0e4c383c964e29c815933a5e27469b5</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>MeasurementData &amp;</type>
      <name>getMeasurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a7a09c0477ef5a1f32cbcddb50ee90faf</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const MeasurementData &amp;</type>
      <name>getMeasurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a1b5dde9a60014df85bf3024a76e3347d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>getMinScanAngle</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ab3d1cb317af90891f47d74690decf020</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>getScanCounter</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>afcfc78a5cacf27ff14281779f1bfd503</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>getScanResolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a8cfe6f63f6d6b5adfd86ede142fa362a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>getTimestamp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a6d6fcf15b803d4905bdd58a5b2ce0c0d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const IntensityData &amp;</type>
      <name>intensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a7cd63cd08cf797b978d4027d9821b49d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>intensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a91407ed6ed399469020268010f8f6960</anchor>
      <arglist>(const IntensityData &amp;intensities)</arglist>
    </member>
    <member kind="function">
      <type>const IOData &amp;</type>
      <name>ioStates</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ae87b77bc29c3803967cda5df26c339f7</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>ioStates</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a6e84421685d446ac45e08b3679a49565</anchor>
      <arglist>(const IOData &amp;io_states)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>LaserScan</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a368300dde2f682dd30af0fce93f495b3</anchor>
      <arglist>(const util::TenthOfDegree &amp;resolution, const util::TenthOfDegree &amp;min_scan_angle, const util::TenthOfDegree &amp;max_scan_angle, const uint32_t scan_counter, const uint8_t active_zoneset, const int64_t timestamp)</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>maxScanAngle</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>adcea1b0860c449c4ea11be9c4cb1a013</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>MeasurementData &amp;</type>
      <name>measurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a3b5cac30c86eb6c84e60de0ef7e6d60d</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>const MeasurementData &amp;</type>
      <name>measurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a6a7f1cc996c9194f04243ec495fccd43</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>measurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ac06d5d16c86253267d3b68b25e171879</anchor>
      <arglist>(const MeasurementData &amp;measurements)</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>minScanAngle</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a520d219f8c4a66a2885cbd0868dc1ba4</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>scanCounter</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a231314ac3b65fb2cf518a530a48889da</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>scanResolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ae83b9f95abed822d1a515a403507733d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setIntensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a786acf833532894f4b4734e02d333cc0</anchor>
      <arglist>(const IntensityData &amp;intensities)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setIOStates</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a009c8c4630709676a4f3141de08a653e</anchor>
      <arglist>(const IOData &amp;io_states)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setMeasurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a543954f61e52d1b8abf0ef4dd16e091f</anchor>
      <arglist>(const MeasurementData &amp;measurements)</arglist>
    </member>
    <member kind="function">
      <type>int64_t</type>
      <name>timestamp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a7d4980859d48562d779cffb8c9bbefb5</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint8_t</type>
      <name>active_zoneset_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a5a1f90bede9103df450e32b00c6a6311</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>IntensityData</type>
      <name>intensities_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a256d8ea4490661394819cd5077ca9dd5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>IOData</type>
      <name>io_states_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a9e76c256323cccb9560181a3cb05442d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const util::TenthOfDegree</type>
      <name>max_scan_angle_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a94b26344899a787cc8531199cc7b851c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>MeasurementData</type>
      <name>measurements_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ae8336cd871f925f90a3707640416a7a2</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const util::TenthOfDegree</type>
      <name>min_scan_angle_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>ab25d8f2f516d69fa3c8eceeee57da268</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const util::TenthOfDegree</type>
      <name>resolution_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a76636bb0ee9153e19cba89909944168d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t</type>
      <name>scan_counter_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a50aaf5517251eb73cdef8790e96f2754</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const int64_t</type>
      <name>timestamp_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1LaserScan.html</anchorfile>
      <anchor>a5025e43497fb3c9e63f95bf9532d7239</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::LaserScanConverter</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</filename>
    <member kind="function" static="yes">
      <type>static LaserScan</type>
      <name>toLaserScan</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>aaa23ecb51b94f474aedc3779a96b55a1</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static bool</type>
      <name>allResolutionsMatch</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>a6ea5a4e44e86690911b22bf1e4d6ec4e</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static bool</type>
      <name>allScanCountersMatch</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>aebe7debdc9536518f97d52092b058705</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static int64_t</type>
      <name>calculateFirstRayTime</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>a0529a92cf402d3e47555cb6d57b10d32</anchor>
      <arglist>(const data_conversion_layer::monitoring_frame::MessageStamped &amp;stamped_msg)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static util::TenthOfDegree</type>
      <name>calculateMaxAngle</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>a9da8d76be7a7ef45b389e5339d1c7269</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs, const util::TenthOfDegree &amp;min_angle)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static int64_t</type>
      <name>calculateTimestamp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>a65f26e1d37066039e109e5772801852b</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs, const std::vector&lt; int &gt; &amp;filled_stamped_msgs_indices)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static std::vector&lt; int &gt;</type>
      <name>getFilledFramesIndicesSortedByThetaAngle</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>af009ecd4afc1c45427a9b9219bd243fe</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static bool</type>
      <name>thetaAnglesFitTogether</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>a4a8be02ebb21a82320a5ca424779f064</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs, const std::vector&lt; int &gt; &amp;sorted_stamped_msgs_indices)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static void</type>
      <name>validateMonitoringFrames</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1LaserScanConverter.html</anchorfile>
      <anchor>a7e89b560a8f52a192ea2a730f1f5cca7</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msgs, const std::vector&lt; int &gt; &amp;sorted_stamped_msgs_indices)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::start_request::Message::LaserScanSettings</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</filename>
    <member kind="function">
      <type>constexpr</type>
      <name>LaserScanSettings</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</anchorfile>
      <anchor>a8d3c97eaf528ae99fe1097b858542982</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>LaserScanSettings</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</anchorfile>
      <anchor>ab1ff64e67308649759c5d4f41d6ce1af</anchor>
      <arglist>(const ScanRange &amp;scan_range, const util::TenthOfDegree &amp;resolution)</arglist>
    </member>
    <member kind="function">
      <type>constexpr util::TenthOfDegree</type>
      <name>resolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</anchorfile>
      <anchor>a7889d71a386a0dfb422ed3b28cb30177</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr const ScanRange &amp;</type>
      <name>scanRange</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</anchorfile>
      <anchor>a5411a8f8240438e24e0347876136999c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const util::TenthOfDegree</type>
      <name>resolution_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</anchorfile>
      <anchor>a03a6ae80478c9017ce3ab106b923c6ad</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const ScanRange</type>
      <name>scan_range_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message_1_1LaserScanSettings.html</anchorfile>
      <anchor>a2969c0ab86c9ca8208a475fda7e7b638</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::Message</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</filename>
    <member kind="function">
      <type>uint8_t</type>
      <name>activeZoneset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a2bd2ccdfef8a1290be345ee733345c3a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; diagnostic::Message &gt;</type>
      <name>diagnosticMessages</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a93e2fec78af41e3a6ca24bf0b1844757</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>util::TenthOfDegree</type>
      <name>fromTheta</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ac584a9f0695d41d7a8f812b3fb6fd5a4</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasActiveZonesetField</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ac8460f7a4cce4db572ad0ce301519e12</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasDiagnosticMessagesField</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a54340f3499c40c470fd309e7c22d9c73</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasIntensitiesField</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a5659952838dafe4aa109b66361f3322c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasIOPinField</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a076a6339d2c4061aa8d29ab3cc333ddc</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasMeasurementsField</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ada0f0b44c788203c4813ab36171e3e5a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>hasScanCounterField</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a6a9ab51fe3683b636361b25c8e5a31f2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; double &gt; &amp;</type>
      <name>intensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>aef52ab4b3bf723714b440d4c24555267</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const io::PinData &amp;</type>
      <name>iOPinData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>aa6f1b90c7d9a3c67d1f675e77d0cf18a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const std::vector&lt; double &gt; &amp;</type>
      <name>measurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ab5e2648c250f79656b9b167fe7ae95b7</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>util::TenthOfDegree</type>
      <name>resolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>abf78f90c7bd8b05d48ae9b7f3fe159c3</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>scanCounter</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ae203e2380ba4a12034eab431d6a32a62</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>configuration::ScannerId</type>
      <name>scannerId</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a43b7b8d8f09179573d746f56564a3f01</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; uint8_t &gt;</type>
      <name>active_zoneset_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ac25447b19dcacd1d841599749323f68c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; std::vector&lt; diagnostic::Message &gt; &gt;</type>
      <name>diagnostic_messages_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>aa4ac1ae8a313ba4cfacacdc065d2f4b4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>util::TenthOfDegree</type>
      <name>from_theta_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a9f5be0de17a6cc8d5c2460034d4a7205</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; std::vector&lt; double &gt; &gt;</type>
      <name>intensities_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>af2418b9deb7260968aa93a75cb1df372</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; io::PinData &gt;</type>
      <name>io_pin_data_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a9ef611d1196c32333480210912290077</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; std::vector&lt; double &gt; &gt;</type>
      <name>measurements_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>ac104304e6536b49c5d0a91cbeca22795</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>util::TenthOfDegree</type>
      <name>resolution_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>af1258113777751fb2b783542898edd1b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; uint32_t &gt;</type>
      <name>scan_counter_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>aad2edca4d73b49c74e10e8d136afb5bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>configuration::ScannerId</type>
      <name>scanner_id_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a28962291b71b3f15f17c3e3e593bd47a</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend class</type>
      <name>MessageBuilder</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1Message.html</anchorfile>
      <anchor>a4503f1df468d52d09a6bea3ad9cf7cdd</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::scanner_reply::Message</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</filename>
    <member kind="enumeration">
      <type></type>
      <name>OperationResult</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>aa034c29a1d91172e7621b381182f441e</anchor>
      <arglist></arglist>
      <enumvalue file="classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html" anchor="aa034c29a1d91172e7621b381182f441ea3e4d891a5df3d6d0d7dd9432a1bc6470">accepted</enumvalue>
      <enumvalue file="classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html" anchor="aa034c29a1d91172e7621b381182f441ea723634aa8cde73188d4661bb3fe81ce4">refused</enumvalue>
      <enumvalue file="classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html" anchor="aa034c29a1d91172e7621b381182f441eaad921d60486366258809553a3db49a4a">unknown</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>Type</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>ac98995667efbd4a43f682ac65360b753</anchor>
      <arglist></arglist>
      <enumvalue file="classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html" anchor="ac98995667efbd4a43f682ac65360b753aad921d60486366258809553a3db49a4a">unknown</enumvalue>
      <enumvalue file="classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html" anchor="ac98995667efbd4a43f682ac65360b753aea2b2676c28c0db26d39331a336c6b92">start</enumvalue>
      <enumvalue file="classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html" anchor="ac98995667efbd4a43f682ac65360b753aef399b2d446bb37b7c32ad2cc1b6045b">stop</enumvalue>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>Message</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>a208c3e1c55b2243e09e85fe15f9079e4</anchor>
      <arglist>(const Type &amp;type, const OperationResult &amp;result)</arglist>
    </member>
    <member kind="function">
      <type>constexpr OperationResult</type>
      <name>result</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>ada8a31623f27cfadc7a2e272e1b040e9</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr Type</type>
      <name>type</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>a26580aaf9fd72b04333d6ba5cfb9fa14</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr OperationResult</type>
      <name>convertToOperationResult</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>aa0280e1aaa198d4daf407191d858b73b</anchor>
      <arglist>(const uint32_t &amp;value)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr Type</type>
      <name>convertToReplyType</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>ab42ce70c064eca36b759694c3cb34658</anchor>
      <arglist>(const uint32_t &amp;value)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::size_t</type>
      <name>SIZE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>acf06a0b8ea2d53915585dd0d4c5171ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const OperationResult</type>
      <name>result_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>a26308d15efdde0f39f5b7b80ebff4503</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const Type</type>
      <name>type_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply_1_1Message.html</anchorfile>
      <anchor>af2c0153a9f985ec2ea3c0da88425112c</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::start_request::Message</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::start_request::Message::DeviceSettings</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::start_request::Message::LaserScanSettings</class>
    <member kind="function">
      <type></type>
      <name>Message</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>acd3cab013692de1f96cab0b0e0a77bde</anchor>
      <arglist>(const ScannerConfiguration &amp;scanner_configuration)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t</type>
      <name>host_ip_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>a7b415e85cb6e312efbcbb3119bb11b63</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint16_t</type>
      <name>host_udp_port_data_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>a4a942adb7d1878395b8caca25589ad93</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const LaserScanSettings</type>
      <name>master_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>a82a263343b42438aefad7ba8a2743a1c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const DeviceSettings</type>
      <name>master_device_settings_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>ab4aca664389eb7a9eb44b9a964d6e9f1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const std::array&lt; LaserScanSettings, NUM_SUBSCRIBERS &gt;</type>
      <name>subscribers_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>a5b224c7bd24aab7b35c1d67c4e1b571f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private" static="yes">
      <type>static constexpr std::size_t</type>
      <name>NUM_SUBSCRIBERS</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>a335f687d2b5f7738dc94411a2355705b</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend data_conversion_layer::RawData</type>
      <name>serialize</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request_1_1Message.html</anchorfile>
      <anchor>aaeba175331f912c113e29df837674dae</anchor>
      <arglist>(const data_conversion_layer::start_request::Message &amp;msg, const uint32_t &amp;seq_number)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::Message</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</filename>
    <member kind="function">
      <type>constexpr ErrorType</type>
      <name>diagnosticCode</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>a3e3abd7346f86630dbf82c2bb51f40ca</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr ErrorLocation</type>
      <name>errorLocation</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>a47e2f9ea068b82f75a1341f6ec2b5413</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>Message</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>a12b45d3871fad8d956d86bbfe227a105</anchor>
      <arglist>(const configuration::ScannerId &amp;id, const diagnostic::ErrorLocation &amp;location)</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator==</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>ae4cb8be510e52d8edf70ab5275fbece1</anchor>
      <arglist>(const diagnostic::Message &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr configuration::ScannerId</type>
      <name>scannerId</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>ade71cc5e9d57b29e5f0b424a7d5e8a9c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ErrorLocation</type>
      <name>error_location_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>add5759ebdbd776316815ee5fa7ac4c2d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>configuration::ScannerId</type>
      <name>id_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>affe27ea3e9ac4f3f85ea8ce794db9987</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend">
      <type>friend RawChunk</type>
      <name>serialize</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic_1_1Message.html</anchorfile>
      <anchor>a78be3b9d80646c306e31e985f38abc4f</anchor>
      <arglist>(const std::vector&lt; diagnostic::Message &gt; &amp;messages)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::MessageBuilder</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</filename>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>activeZoneset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>ae7ea6a84571ea039f3d96a38c0c9700e</anchor>
      <arglist>(uint8_t active_zoneset)</arglist>
    </member>
    <member kind="function">
      <type>Message</type>
      <name>build</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a2fa37da0b13c7813fd6375d53e99dea9</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>diagnosticMessages</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a239d16f2da0d095b1dd6f04b453aa2b7</anchor>
      <arglist>(const std::vector&lt; diagnostic::Message &gt; &amp;diagnostic_messages)</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>fromTheta</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a97967d33a6c1f0f1ae2e07caa2b17351</anchor>
      <arglist>(const util::TenthOfDegree &amp;from_theta)</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>intensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>abf4709508edbbed6e03b6c6ad1612956</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;intensities)</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>iOPinData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a807e413da42587b499628784369bc335</anchor>
      <arglist>(const io::PinData &amp;io_pin_data)</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>measurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>ab19130baa04bdfc861ec719edc3e15da</anchor>
      <arglist>(const std::vector&lt; double &gt; &amp;measurements)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator Message</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a086afd62fb52f296745e2428e6e43a11</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>resolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a854b163c95aa1af6113cf5f49384eb89</anchor>
      <arglist>(const util::TenthOfDegree &amp;resolution)</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>scanCounter</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>ae1cb4a30083fa94c8af87667fb1d0ad8</anchor>
      <arglist>(uint32_t scan_counter)</arglist>
    </member>
    <member kind="function">
      <type>MessageBuilder &amp;</type>
      <name>scannerId</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a7e8ed217dfe6d583b88f9ba556c29fad</anchor>
      <arglist>(configuration::ScannerId scanner_id)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>Message</type>
      <name>msg_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageBuilder.html</anchorfile>
      <anchor>a628e87ecd2c600f1fd155eb36f15effb</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::MessageStamped</name>
    <filename>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageStamped.html</filename>
    <member kind="function">
      <type></type>
      <name>MessageStamped</name>
      <anchorfile>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageStamped.html</anchorfile>
      <anchor>a4019cd78d86f80ca85da6395caed476f</anchor>
      <arglist>(const Message &amp;message, const int64_t timestamp)</arglist>
    </member>
    <member kind="variable">
      <type>Message</type>
      <name>msg_</name>
      <anchorfile>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageStamped.html</anchorfile>
      <anchor>a2d33bbb51dfc11f802e6ec826872c314</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>int64_t</type>
      <name>stamp_</name>
      <anchorfile>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1MessageStamped.html</anchorfile>
      <anchor>a2e8fe8ce1629a983e0ad2c88f8180851</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::MonitoringFrameReceivedError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1MonitoringFrameReceivedError.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::MonitoringFrameTimeout</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1MonitoringFrameTimeout.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::communication_layer::UdpClientImpl::OpenConnectionFailure</name>
    <filename>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl_1_1OpenConnectionFailure.html</filename>
    <member kind="function">
      <type></type>
      <name>OpenConnectionFailure</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl_1_1OpenConnectionFailure.html</anchorfile>
      <anchor>a398a3359e7ef54f9ee12d37c55fbc7da</anchor>
      <arglist>(const std::string &amp;msg=&quot;Failure while opening connection&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::OutdatedMessageError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1OutdatedMessageError.html</filename>
    <base>psen_scan_v2_standalone::protocol_layer::ScanRoundError</base>
    <member kind="function">
      <type></type>
      <name>OutdatedMessageError</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1OutdatedMessageError.html</anchorfile>
      <anchor>ae55ac14b74d4d8264302c476e8ae8e3b</anchor>
      <arglist>(const std::string &amp;msg=&quot;Detected a MonitoringFrame from an earlier round. &quot; &quot; The scan round will ignore it.&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2::ParamMissingOnServer</name>
    <filename>classpsen__scan__v2_1_1ParamMissingOnServer.html</filename>
    <member kind="function">
      <type></type>
      <name>ParamMissingOnServer</name>
      <anchorfile>classpsen__scan__v2_1_1ParamMissingOnServer.html</anchorfile>
      <anchor>a1f321de91c9de11ff9b4167f1136982c</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io::PinData</name>
    <filename>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io_1_1PinData.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io_1_1PinData.html</anchorfile>
      <anchor>abf680ff966670416354094e5c2a1a9fa</anchor>
      <arglist>(const PinData &amp;pin_data) const</arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; std::bitset&lt; 8 &gt;, NUMBER_OF_INPUT_BYTES &gt;</type>
      <name>input_state</name>
      <anchorfile>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io_1_1PinData.html</anchorfile>
      <anchor>a6ba5ef49ab891d28c74fa68055c232a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::array&lt; std::bitset&lt; 8 &gt;, NUMBER_OF_OUTPUT_BYTES &gt;</type>
      <name>output_state</name>
      <anchorfile>structpsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io_1_1PinData.html</anchorfile>
      <anchor>a481b63565f2d276971f0e04ac71f0862</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::PinState</name>
    <filename>classpsen__scan__v2__standalone_1_1PinState.html</filename>
    <member kind="function">
      <type>uint32_t</type>
      <name>id</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>ab049dced98d8458da1ae108b846b2323</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>name</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>af1c36d4e837fb91adb0f0f929224fa2c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>a3538b215e8278f0edec885f5fd403026</anchor>
      <arglist>(const PinState &amp;ps) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>acd05fbf202d794b2ffe57c82614a6e6e</anchor>
      <arglist>(const PinState &amp;ps) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>PinState</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>a6f4993ccc530dc6666be9fda2ae511a0</anchor>
      <arglist>(uint32_t pin_id, const std::string &amp;name, bool state)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>state</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>aee8c656b2b2a028d2ed1dfe48b2c1528</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint32_t</type>
      <name>id_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>a95e2a1fad2fff0d2c7a00b4cf8ff1271</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>name_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>a8abd29d784e073f0d61b4660bd509062</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>state_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1PinState.html</anchorfile>
      <anchor>a2355f361eae860ef4418efbc30172ce2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::RawMonitoringFrameReceived</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawMonitoringFrameReceived.html</filename>
    <member kind="function">
      <type></type>
      <name>RawMonitoringFrameReceived</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawMonitoringFrameReceived.html</anchorfile>
      <anchor>a8e4bf441ffafa2bf8dd41104127eb34b</anchor>
      <arglist>(const data_conversion_layer::RawDataConstPtr &amp;data, const std::size_t &amp;num_bytes, const int64_t &amp;timestamp)</arglist>
    </member>
    <member kind="variable">
      <type>const data_conversion_layer::RawDataConstPtr</type>
      <name>data_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawMonitoringFrameReceived.html</anchorfile>
      <anchor>ab0b483eebdbb44f188f8da51b7fd9893</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::size_t</type>
      <name>num_bytes_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawMonitoringFrameReceived.html</anchorfile>
      <anchor>a1cd97142970e2e52fd2bd788f4a8ec56</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int64_t</type>
      <name>timestamp_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawMonitoringFrameReceived.html</anchorfile>
      <anchor>a279fb28dba05cd0d883943ece5cde671</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::RawReplyReceived</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawReplyReceived.html</filename>
    <member kind="function">
      <type></type>
      <name>RawReplyReceived</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawReplyReceived.html</anchorfile>
      <anchor>af97d6f5d4d5212be63a2e4c376cc1fa0</anchor>
      <arglist>(const data_conversion_layer::RawDataConstPtr &amp;data, const std::size_t &amp;num_bytes, const int64_t &amp;timestamp)</arglist>
    </member>
    <member kind="variable">
      <type>const data_conversion_layer::RawDataConstPtr</type>
      <name>data_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawReplyReceived.html</anchorfile>
      <anchor>adf4d2e37f054eca58837256ccbedae18</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const std::size_t</type>
      <name>num_bytes_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawReplyReceived.html</anchorfile>
      <anchor>a5b9e9dd48c8922764d08ca671519d94e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>const int64_t</type>
      <name>timestamp_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1RawReplyReceived.html</anchorfile>
      <anchor>af9f55407f86a0b3bbb2f88c59f21130a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::ReplyReceiveError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1ReplyReceiveError.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2::ROSScannerNodeT</name>
    <filename>classpsen__scan__v2_1_1ROSScannerNodeT.html</filename>
    <templarg></templarg>
    <member kind="function">
      <type></type>
      <name>ROSScannerNodeT</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ad30c673c47285e67f53cde40232a1707</anchor>
      <arglist>(ros::NodeHandle &amp;nh, const std::string &amp;topic, const std::string &amp;tf_prefix, const double &amp;x_axis_rotation, const ScannerConfiguration &amp;scanner_config)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>run</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>adf50610502db82c23d413d68bd6b879f</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>terminate</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ae3dd79fc1495a29e978b1bec7213343a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a1b8a0ff38a049de2bb0e3c2b57ad0ede</anchor>
      <arglist>(RosScannerNodeTests, shouldLogChangedIOStates)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>aa35978e320ca5837e74f11741128028e</anchor>
      <arglist>(RosScannerNodeTests, shouldProvideActiveZonesetTopic)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>aa5f6f43f1f148e7e5590e83c1613f00a</anchor>
      <arglist>(RosScannerNodeTests, shouldProvideScanTopic)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a4b3f660fcfbcceac42511bbe3f4d7b62</anchor>
      <arglist>(RosScannerNodeTests, shouldPublishActiveZonesetWhenLaserScanCallbackIsInvoked)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>aade960938895865c357fabdf60d09848</anchor>
      <arglist>(RosScannerNodeTests, shouldPublishChangedIOStatesEqualToConversionOfSuppliedStandaloneIOStates)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a4d5382ec223c1ef2c58b251b65efb70a</anchor>
      <arglist>(RosScannerNodeTests, shouldPublishLatchedOnIOStatesTopic)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>acff88d2aef43c876bd994c118dc0f6bf</anchor>
      <arglist>(RosScannerNodeTests, shouldPublishScanEqualToConversionOfSuppliedLaserScan)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>aac19e8fbe0dfa1d1e56cfff635b039da</anchor>
      <arglist>(RosScannerNodeTests, shouldPublishScansWhenLaserScanCallbackIsInvoked)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a62f7b55719f1192bb525b05a079acf10</anchor>
      <arglist>(RosScannerNodeTests, shouldStartAndStopSuccessfullyIfScannerRespondsToRequests)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ade9d18390d053316d1100984695dacc2</anchor>
      <arglist>(RosScannerNodeTests, shouldThrowExceptionSetInScannerStartFuture)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>aff1776960064c871b5c8a4c914da90c3</anchor>
      <arglist>(RosScannerNodeTests, shouldThrowExceptionSetInScannerStopFuture)</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>FRIEND_TEST</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>aa631d5c381df2357e54ad13b55e36bb2</anchor>
      <arglist>(RosScannerNodeTests, shouldWaitWhenStopRequestResponseIsMissing)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>laserScanCallback</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a8760b841b253b447562374c08cfd7ea6</anchor>
      <arglist>(const LaserScan &amp;scan)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>publishChangedIOStates</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ae46054a28eb335e113f097f146102b21</anchor>
      <arglist>(const std::vector&lt; psen_scan_v2_standalone::IOState &gt; &amp;io_states)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>psen_scan_v2_standalone::IOState</type>
      <name>last_io_state_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a42d758b5064f2d8d0dfbf00ef6044488</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::NodeHandle</type>
      <name>nh_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a8dbcbfde6f1c379fb305dda066112d3e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_io_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a8774210602233b62ed3dee2bf9bf7a39</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_scan_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a9db18ae7999d5c06b4d930eecbc4d60f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ros::Publisher</type>
      <name>pub_zone_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ad8b4ce3fcf5d86462b9621f1fb729669</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>S</type>
      <name>scanner_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ae2836c95fef57c599b18dff03191e7e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_bool</type>
      <name>terminate_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a9986f84dde7440841ae78dd1e868d1f9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::string</type>
      <name>tf_prefix_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a4259a8cf434746d1a5f524b42fa12c6c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>double</type>
      <name>x_axis_rotation_</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>a9052ff6b91b721a6d9cecf9afbb26296</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend" protection="private">
      <type>friend class</type>
      <name>RosScannerNodeTests</name>
      <anchorfile>classpsen__scan__v2_1_1ROSScannerNodeT.html</anchorfile>
      <anchor>ab878ff61f6287e649370f6c811f3d635</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::ScanBuffer</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</filename>
    <member kind="function">
      <type>void</type>
      <name>add</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>aef9c83c83b2198bf05413dbbc7e54c60</anchor>
      <arglist>(const data_conversion_layer::monitoring_frame::MessageStamped &amp;stamped_msg)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt;</type>
      <name>currentRound</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>ab136d9382f9b283ee7355f1a2c502bf8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isRoundComplete</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>af589b5c3c2aaea0a75653c7b4d494455</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>ab769af99f30cbea93d0c924c4476c54a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScanBuffer</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>a98569bddfcd218de0ecbe498c67edadd</anchor>
      <arglist>(const uint32_t &amp;num_expected_msgs)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>startNewRound</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>ae3b1d10998bf4c60f82c8b59dae50381</anchor>
      <arglist>(const data_conversion_layer::monitoring_frame::MessageStamped &amp;stamped_msg)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt;</type>
      <name>current_round_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>a48025b971944258ca961f2670b4de9e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>first_scan_round_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>a75673d1d35cdb33337ab2e270d9b5f1e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const uint32_t &amp;</type>
      <name>num_expected_msgs_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanBuffer.html</anchorfile>
      <anchor>a1bf60d9442234c58f5fe22d8e14e30e5</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::ScannerConfiguration</name>
    <filename>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</filename>
    <member kind="function">
      <type>uint32_t</type>
      <name>clientIp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>acf51f6a5b0ece4d74f43ba49acb70ed7</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>diagnosticsEnabled</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a7beb28a3967ddbdfdcadaf783da0e8a1</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>fragmentedScansEnabled</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a3ec6eb3d95eb4ad65d2ce08050361e8d</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>boost::optional&lt; uint32_t &gt;</type>
      <name>hostIp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a400031c5ba565012d4f3298cc4611716</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>hostIp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ae6016bb10df01ce4c876eee5eaefd32a</anchor>
      <arglist>(const uint32_t &amp;host_ip)</arglist>
    </member>
    <member kind="function">
      <type>uint16_t</type>
      <name>hostUDPPortControl</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ae6af6abdc3564ee6c6062a9cf426fb0f</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint16_t</type>
      <name>hostUDPPortData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ad325fb6b73fd61f0665637d1c0d3508a</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>intensitiesEnabled</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a244e4c1efc152a21f42e319df35d48ca</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint16_t</type>
      <name>scannerControlPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ab1b23da90f0d1c5e44d25e5a02677a7c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>uint16_t</type>
      <name>scannerDataPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ae343fd63c90c06a51eaaafb9aed2b84e</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const ScanRange &amp;</type>
      <name>scanRange</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>affc0dddd641f95b95f283f1881db171b</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>scanResolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a874f916fe9db4842f261c38e27b4c7ad</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>setHostIp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ab4b07965df0e694cd31ac4307d414090</anchor>
      <arglist>(const uint32_t &amp;host_ip)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isComplete</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>af932e60afa55959b80d87c19895a91bc</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isValid</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>abee1c57eaaecdec945b0daafc58ecbb5</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>ScannerConfiguration</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a693b74a390f07671c36c4f69aa626cd0</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>diagnostics_enabled_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a612e4f2dde60777d932b2d55fb97a8f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>fragmented_scans_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>aff555e2121698e5f587bf763f9370c1d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint16_t</type>
      <name>host_control_port_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>add7eb99651d2e4d26de6f3d6461f7140</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint16_t</type>
      <name>host_data_port_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a3bd5dcff68c060ffa4713e1cf87391ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; uint32_t &gt;</type>
      <name>host_ip_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>aa868d7f64f5741cc122b8aa7b2bd9dd1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>bool</type>
      <name>intensities_enabled_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>ace9047977476ec2e3617700926ecd11e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; ScanRange &gt;</type>
      <name>scan_range_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a80f4b1c5eb6c77c7b521040594817077</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>util::TenthOfDegree</type>
      <name>scan_resolution_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a9a093c75eef16b4a2675ffe8ff2057d4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint16_t</type>
      <name>scanner_control_port_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>af9805eb2135a42397da07071d9df473d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>uint16_t</type>
      <name>scanner_data_port_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>a175b899aec52a99e20b6fea84811d40f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; uint32_t &gt;</type>
      <name>scanner_ip_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>af176b8513424d176c76f7006d3c6135a</anchor>
      <arglist></arglist>
    </member>
    <member kind="friend" protection="private">
      <type>friend class</type>
      <name>ScannerConfigurationBuilder</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfiguration.html</anchorfile>
      <anchor>aa8e97c4e10d6df0e6e629ad21540aed0</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::ScannerConfigurationBuilder</name>
    <filename>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</filename>
    <member kind="function">
      <type>ScannerConfiguration</type>
      <name>build</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a58c93fb0673e415c7d1e631aad0d4de9</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>enableDiagnostics</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a91b850ce06e72f07f25f941caa5e0229</anchor>
      <arglist>(const bool &amp;enable)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>enableFragmentedScans</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a7480b509d803912eb14f039b655fc7b9</anchor>
      <arglist>(const bool &amp;enable)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>enableIntensities</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a3dc3596e28077df8035d0d13f02c411c</anchor>
      <arglist>(const bool &amp;enable)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>hostControlPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>afad913a010b46b23725c2e7a081d4f2b</anchor>
      <arglist>(const int &amp;host_control_port)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>hostDataPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>ab1b0db051285ca299a8ed3c6f99475bc</anchor>
      <arglist>(const int &amp;host_data_port)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>hostIP</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a090dd1697e082b3412037677402d8d4f</anchor>
      <arglist>(const std::string &amp;host_ip)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>operator ScannerConfiguration</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a1dd0a58ec33fb561d6af4ca1d9c5fcd4</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScannerConfigurationBuilder</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>aadf99dc330d1cdfd4cb3d5b4c766e3c7</anchor>
      <arglist>(const std::string &amp;scanner_ip)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>scannerControlPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a4d1f16d447b4ea7ca69e44ff817cff20</anchor>
      <arglist>(const int &amp;scanner_control_port)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>scannerDataPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>adc543145de10e5dc6c983607e7300e77</anchor>
      <arglist>(const int &amp;scanner_data_port)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>scannerIp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a6b6577bf4de7ee19d6403781586f34ff</anchor>
      <arglist>(const std::string &amp;scanner_ip)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>scanRange</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a3bd7c76607ce10878bca77921a6815a4</anchor>
      <arglist>(const ScanRange &amp;scan_range)</arglist>
    </member>
    <member kind="function">
      <type>ScannerConfigurationBuilder &amp;</type>
      <name>scanResolution</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a6dabd93cfeecef0e14d19f2434372879</anchor>
      <arglist>(const util::TenthOfDegree &amp;scan_resolution)</arglist>
    </member>
    <member kind="function" protection="private" static="yes">
      <type>static uint16_t</type>
      <name>convertPort</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a9ea98751bafddb11adda43ee5d41f861</anchor>
      <arglist>(const int &amp;port)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ScannerConfiguration</type>
      <name>config_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerConfigurationBuilder.html</anchorfile>
      <anchor>a380ca6e7818f7935f9c0356f26b41bc6</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</filename>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::InternalScannerReplyError</class>
    <class kind="struct">psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::transition_table</class>
    <member kind="typedef">
      <type>Idle</type>
      <name>initial_state</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a543e5d8570cd13c2576459223311ee0f</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ScannerProtocolDef</type>
      <name>m</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a4c50589f1da6c3ac9d80d0fa292d6214</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>exception_caught</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a799473c37a6953ccdda51efdb76f74ac</anchor>
      <arglist>(Event const &amp;event, FSM &amp;fsm, std::exception &amp;exception)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>handleMonitoringFrame</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a03c13fb8fb26a0f2aae3872cdace080a</anchor>
      <arglist>(const scanner_events::RawMonitoringFrameReceived &amp;event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>handleMonitoringFrameTimeout</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ad9ca451d0ba962941d048ef1e42f7142</anchor>
      <arglist>(const scanner_events::MonitoringFrameTimeout &amp;event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>handleStartRequestTimeout</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a6d1932c126f0f618f84e761980580b23</anchor>
      <arglist>(const scanner_events::StartTimeout &amp;event)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isAcceptedStartReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a6f89052d4102e4b44f9321cf4551be24</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isAcceptedStopReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a1b1435800d673742c9da2bfa69ae823f</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isRefusedStartReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a2c6b5907a7d080d39ef029c345768d92</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isRefusedStopReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a19b84d76d4c9ea27d9cd538d3aeb1fe1</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isUnknownStartReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ac80fceaf422d1df61b11a743abec269d</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isUnknownStopReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>af205f47eef445b4cda5bfa487ea39f91</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>no_transition</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a9b8a4204146872e6b7aecd7c1783ae65</anchor>
      <arglist>(const scanner_events::RawMonitoringFrameReceived &amp;, FSM &amp;, int state)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>no_transition</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a0e34b42f631118ba0e45762dece3dd4d</anchor>
      <arglist>(Event const &amp;event, FSM &amp;, int state)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>notifyUserAboutRefusedStartReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a9b0f04759c2434f447f9977f0d84fc00</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>notifyUserAboutRefusedStopReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a98bafb5832d44008a8031345ab3c0c42</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>notifyUserAboutStart</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a962382891f9bf262e90c46121861072c</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>notifyUserAboutStop</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>af6db3d9013176948e3e853aadb983185</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>notifyUserAboutUnknownStartReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a69d0f0d2c964011f20212cc69a57d2f1</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>notifyUserAboutUnknownStopReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a74b52e9de7cc90166c1d2fce1705f0be</anchor>
      <arglist>(scanner_events::RawReplyReceived const &amp;reply_event)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ScannerProtocolDef</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a556d4c3ae4c761a513bb3fd6bcb55854</anchor>
      <arglist>(const ScannerConfiguration &amp;config, const communication_layer::NewMessageCallback &amp;control_msg_callback, const communication_layer::ErrorCallback &amp;control_error_callback, const communication_layer::ErrorCallback &amp;start_error_callback, const communication_layer::ErrorCallback &amp;stop_error_callback, const communication_layer::NewMessageCallback &amp;data_msg_callback, const communication_layer::ErrorCallback &amp;data_error_callback, const ScannerStartedCallback &amp;scanner_started_callback, const ScannerStoppedCallback &amp;scanner_stopped_callback, const InformUserAboutLaserScanCallback &amp;laser_scan_callback, const TimeoutCallback &amp;start_timeout_callback, const TimeoutCallback &amp;monitoring_frame_timeout_callback)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>sendStartRequest</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a5e4a59cd4bc2b4870c97f2f53a503f5d</anchor>
      <arglist>(const T &amp;event)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>sendStopRequest</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ab8212b9e8e86712c55cb6250cc525c5a</anchor>
      <arglist>(const T &amp;event)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>STATE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a11b51b797da4fd812b84c5a53578b4ec</anchor>
      <arglist>(Error)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>STATE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>aecbba5346fcf7596f673350d65682898</anchor>
      <arglist>(Idle)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>STATE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ae47975257c88d7aee3d52f8cfba43bb7</anchor>
      <arglist>(Stopped)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>STATE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>aece62c13a93060a875610a911a6f5905</anchor>
      <arglist>(WaitForMonitoringFrame)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>STATE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a5951ead7b305548a06e29956c3dbc0d0</anchor>
      <arglist>(WaitForStartReply)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>STATE</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ac10214d1e27da01dad99913f1bdf7b10</anchor>
      <arglist>(WaitForStopReply)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>checkForChangedActiveZoneset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a858a80076ffc233683d4555a0879529d</anchor>
      <arglist>(const data_conversion_layer::monitoring_frame::Message &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>checkForDiagnosticErrors</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a24fcfc2869afe9f54ff9b94521b9355e</anchor>
      <arglist>(const data_conversion_layer::monitoring_frame::Message &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>checkForInternalErrors</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a8f032574bcdfd4d8a70f5dac6f2694c3</anchor>
      <arglist>(const data_conversion_layer::scanner_reply::Message &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>framesContainMeasurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a4ed3b2446ced9d9c0ac700d707fbd923</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>informUserAboutTheScanData</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a455b54d8f84aba577a82f93fbdbef50e</anchor>
      <arglist>(const data_conversion_layer::monitoring_frame::MessageStamped &amp;stamped_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isAcceptedReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a6bbfb84e31d667c7e88a84978232c271</anchor>
      <arglist>(data_conversion_layer::scanner_reply::Message const &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isRefusedReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a8c7644ee2f29c9a7c1f35406a6b3e835</anchor>
      <arglist>(data_conversion_layer::scanner_reply::Message const &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isStartReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a5fa908289f725d96910ad1c84410374e</anchor>
      <arglist>(data_conversion_layer::scanner_reply::Message const &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isStopReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a9ac7dc66e0b0d9063b6aad43662323e7</anchor>
      <arglist>(data_conversion_layer::scanner_reply::Message const &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>bool</type>
      <name>isUnknownReply</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ae712165a6799a6346280d0aa27433aae</anchor>
      <arglist>(data_conversion_layer::scanner_reply::Message const &amp;msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sendMessageWithMeasurements</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a32243c6bb374ed4e16829f60e2dfc06c</anchor>
      <arglist>(const std::vector&lt; data_conversion_layer::monitoring_frame::MessageStamped &gt; &amp;stamped_msg)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ScannerConfiguration</type>
      <name>config_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>aa89b72c100a8cc3e9bd535e7133c75b3</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>communication_layer::UdpClientImpl</type>
      <name>control_client_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a0270c0afcd879f12b2c41f689bc9f001</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>communication_layer::UdpClientImpl</type>
      <name>data_client_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>aecc1a666dadec047bf0e65706a0675fe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const InformUserAboutLaserScanCallback</type>
      <name>inform_user_about_laser_scan_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ad70a1cffe659df6ba31454a3c07ddfe6</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const std::function&lt; void()&gt;</type>
      <name>monitoring_frame_timeout_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a539ede08981bbbfa04172e8c55864bab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; util::Watchdog &gt;</type>
      <name>monitoring_frame_watchdog_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>acbc51c1f262bbeac93bf7ceb282ebc8e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ScanBuffer</type>
      <name>scan_buffer_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a5b0c22691d9900d67c9ef1e82f65a01c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const ScannerStartedCallback</type>
      <name>scanner_started_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a72c433995c5465d1a9a88a274bdabe9c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const ScannerStoppedCallback</type>
      <name>scanner_stopped_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>ad77e24d3ca1073b3d7b8a86f5c5d0059</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const StartErrorCallback</type>
      <name>start_error_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>afe7fc95d6fb1651239b755e14caa201d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; util::Watchdog &gt;</type>
      <name>start_reply_watchdog_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a09bc3be28f8fcbdabb100b529aaf358b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const std::function&lt; void()&gt;</type>
      <name>start_timeout_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>adf799734adc554691f06a1c5de6dea7f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>const StopErrorCallback</type>
      <name>stop_error_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a0691e80f7d0251cf05e0407eccec307c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>WatchdogFactory</type>
      <name>watchdog_factory_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>adebacf5be96474e39de7a7f090826ea7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::optional&lt; data_conversion_layer::monitoring_frame::Message &gt;</type>
      <name>zoneset_reference_msg_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef.html</anchorfile>
      <anchor>a0d0282bc34f322733de527a7c85db4db</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::ScannerProtocolViolationError</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1ScannerProtocolViolationError.html</filename>
    <member kind="function">
      <type></type>
      <name>ScannerProtocolViolationError</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1ScannerProtocolViolationError.html</anchorfile>
      <anchor>a60a3bf075a3e3736d4d2a4c589b04925</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::ScannerV2</name>
    <filename>classpsen__scan__v2__standalone_1_1ScannerV2.html</filename>
    <base>psen_scan_v2_standalone::IScanner</base>
    <member kind="function">
      <type></type>
      <name>ScannerV2</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a664af12251fea8c486c13a79cc06f6d0</anchor>
      <arglist>(const ScannerConfiguration &amp;scanner_config, const LaserScanCallback &amp;laser_scan_callback)</arglist>
    </member>
    <member kind="function">
      <type>std::future&lt; void &gt;</type>
      <name>start</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a55cad33e586c4b797829d2dba9083f12</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type>std::future&lt; void &gt;</type>
      <name>stop</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>ab0594fde864eac85ea5a658e0166e5fd</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~ScannerV2</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>aef471ab918aa386bd4caf7e19b69196e</anchor>
      <arglist>() override</arglist>
    </member>
    <member kind="typedef" protection="private">
      <type>boost::optional&lt; std::promise&lt; void &gt; &gt;</type>
      <name>OptionalPromise</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a98b9e7a94d832dd677b07d299fb759b0</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>scannerStartedCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a5ee8eb1174331b1b510ca35c62270c86</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>scannerStartErrorCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a0647506482713a540bcd6a4f3603a9d4</anchor>
      <arglist>(const std::string &amp;error_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>scannerStopErrorCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a2715a837e3c091e990b3d22157ba1303</anchor>
      <arglist>(const std::string &amp;error_msg)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>scannerStoppedCallback</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a7ed2a2cee6b08c30abdbddaa19a0bb18</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>triggerEvent</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>ac5777b1288cf34a123e7e9ea63ffde36</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>triggerEventWithParam</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a8e63e6daceb82bef1606526aef90892f</anchor>
      <arglist>(const T &amp;event)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>member_mutex_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a940ad08c7b28bd048b1aac5e1a8fc9cc</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>OptionalPromise</type>
      <name>scanner_has_started_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>af564910dca354ea5cf15ed6aa98f3942</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>OptionalPromise</type>
      <name>scanner_has_stopped_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>a24fc751e86c666e358c72c006eeba29e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::unique_ptr&lt; ScannerStateMachine &gt;</type>
      <name>sm_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScannerV2.html</anchorfile>
      <anchor>aede9e96edde33a8a99f64521e123be31</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::ScanRangeTemplated</name>
    <filename>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</filename>
    <templarg>min_allowed_angle</templarg>
    <templarg>max_allowed_angle</templarg>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>end</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>a9bc3c07344cc404f3d75b3c9bd04d568</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>getEnd</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>a6c8b5f94f84736a1cc53636be8b5488f</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>getStart</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>abecc1183d54d5c701ebce1f703130b7b</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>ScanRangeTemplated</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>a4babf8f1181d4d50fbbcfbab5347bb8e</anchor>
      <arglist>(const util::TenthOfDegree &amp;start_angle, const util::TenthOfDegree &amp;end_angle)</arglist>
    </member>
    <member kind="function">
      <type>const util::TenthOfDegree &amp;</type>
      <name>start</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>aec34c4e15361fb83b0f723f8718ccea2</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr ScanRangeTemplated&lt; min_allowed_angle, max_allowed_angle &gt;</type>
      <name>createInvalidScanRange</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>a15fd894a69ed022e4615c0ca3d61a439</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type></type>
      <name>ScanRangeTemplated</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>aa400a7bb147ec1e9d7eeaf5aba8efc12</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>util::TenthOfDegree</type>
      <name>end_angle_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>a290663f568fe479bccff1cc58fcadc10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>util::TenthOfDegree</type>
      <name>start_angle_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1ScanRangeTemplated.html</anchorfile>
      <anchor>a86216780b90c24e9832b046438505c14</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::ScanRoundEndedEarlyError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanRoundEndedEarlyError.html</filename>
    <base>psen_scan_v2_standalone::protocol_layer::ScanRoundError</base>
    <member kind="function">
      <type></type>
      <name>ScanRoundEndedEarlyError</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanRoundEndedEarlyError.html</anchorfile>
      <anchor>a9e57a35d9fce1de17c3a4610d14b948a</anchor>
      <arglist>(const std::string &amp;msg=&quot;Detected a MonitoringFrame from a new scan round before the old &quot; &quot;one was complete.&quot; &quot; Dropping the incomplete round.&quot; &quot; (Please check the ethernet connection or contact PILZ support if &quot; &quot;the error persists.)&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::ScanRoundError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanRoundError.html</filename>
    <member kind="function">
      <type></type>
      <name>ScanRoundError</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanRoundError.html</anchorfile>
      <anchor>a4f0642dec5b6c0ef28004055f82477ba</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::ScanRoundOversaturatedError</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanRoundOversaturatedError.html</filename>
    <base>psen_scan_v2_standalone::protocol_layer::ScanRoundError</base>
    <member kind="function">
      <type></type>
      <name>ScanRoundOversaturatedError</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1ScanRoundOversaturatedError.html</anchorfile>
      <anchor>ae58e01d5eacf99907ee6941cd0ff442b</anchor>
      <arglist>(const std::string &amp;msg=&quot;Received too many MonitoringFrames for one scan round.&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::StartRequest</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1StartRequest.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::StartTimeout</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1StartTimeout.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events::StopRequest</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events_1_1StopRequest.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::data_conversion_layer::raw_processing::StringStreamFailure</name>
    <filename>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing_1_1StringStreamFailure.html</filename>
    <member kind="function">
      <type></type>
      <name>StringStreamFailure</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing_1_1StringStreamFailure.html</anchorfile>
      <anchor>ad71c2c7614bba842271a6288b8e2cd49</anchor>
      <arglist>(const std::string &amp;msg=&quot;Error in raw data processing&quot;)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::util::TenthOfDegree</name>
    <filename>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</filename>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator!=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>af9be57dd80fbdcf01a86b5035fe80eda</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree &amp;</type>
      <name>operator*</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a7aa5ac9a56ecb824ae8e79a3551e4cb5</anchor>
      <arglist>(const int &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree</type>
      <name>operator*</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>aa0859ef0bca51b40d058432dd7137de4</anchor>
      <arglist>(const int &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree &amp;</type>
      <name>operator*</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a5d83b523161be7a85cdef1269e3279a0</anchor>
      <arglist>(const size_t &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree</type>
      <name>operator*</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a8fc0f3987ebccb145f94d1e8f6e2425a</anchor>
      <arglist>(const size_t &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree &amp;</type>
      <name>operator*</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>ad8d8519e9ea2e00d6ad93dc7aba54426</anchor>
      <arglist>(const TenthOfDegree &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree &amp;</type>
      <name>operator+</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>acd7ba30b35c50223d35c549c83ce1221</anchor>
      <arglist>(const TenthOfDegree &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree</type>
      <name>operator+</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>abba9abe52ec54410652cbac2ad62a87b</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree &amp;</type>
      <name>operator+=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>adc29a4b899901d654640edfe6a720a0d</anchor>
      <arglist>(const TenthOfDegree &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>TenthOfDegree &amp;</type>
      <name>operator-</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a631ebd3449bc7b59cf2e7ed0d761cfc8</anchor>
      <arglist>(const TenthOfDegree &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree</type>
      <name>operator-</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>abca25d7eebbf67389f096ab9a9aa331d</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree &amp;</type>
      <name>operator/</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a19d532afe1129f31547509185c124366</anchor>
      <arglist>(const int &amp;rhs)</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree</type>
      <name>operator/</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a937f716763c741f8349895464944114d</anchor>
      <arglist>(const int &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr TenthOfDegree</type>
      <name>operator/</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>ab6f619ad9f16c85c7ac5b9b694591f8b</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator&lt;</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>ae44d2a468945861164dd08907871d1d9</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator&lt;=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a855e2540e914828cc15e0b6c8a6567c7</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator==</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a483ab912b85d52d1147ad7cc5f2cc431</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator&gt;</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a1883447e8448524b444acb51a3714aa6</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr bool</type>
      <name>operator&gt;=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a07d84cbef00be4202be2b3f90e3a2f77</anchor>
      <arglist>(const TenthOfDegree &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>TenthOfDegree</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a327fd2697c2be12af6fb8d751e74f67c</anchor>
      <arglist>()=default</arglist>
    </member>
    <member kind="function">
      <type>constexpr</type>
      <name>TenthOfDegree</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a364a8da3b0cb7200b44bcf23bd21249d</anchor>
      <arglist>(const int16_t &amp;tenth_of_degree)</arglist>
    </member>
    <member kind="function">
      <type>constexpr double</type>
      <name>toRad</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>aa291aaf1faf67bc77dd877d7ab311979</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>constexpr int16_t</type>
      <name>value</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>aa0fea782aa362bd278ef0700fb26564c</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static TenthOfDegree</type>
      <name>fromRad</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a8727b0aa8b982d32025768b2c199e016</anchor>
      <arglist>(const double &amp;angle_in_rad)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>int16_t</type>
      <name>tenth_of_degree_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1TenthOfDegree.html</anchorfile>
      <anchor>a3651d4b10630ef282e1a33a81aada7d3</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="struct">
    <name>psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef::transition_table</name>
    <filename>structpsen__scan__v2__standalone_1_1protocol__layer_1_1ScannerProtocolDef_1_1transition__table.html</filename>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::communication_layer::UdpClientImpl</name>
    <filename>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</filename>
    <class kind="class">psen_scan_v2_standalone::communication_layer::UdpClientImpl::CloseConnectionFailure</class>
    <class kind="class">psen_scan_v2_standalone::communication_layer::UdpClientImpl::OpenConnectionFailure</class>
    <member kind="function">
      <type>void</type>
      <name>close</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>afa44dc9b4855e05b3c379792cd81d6e0</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>boost::asio::ip::address_v4</type>
      <name>hostIp</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>ac325d7b2491b7d68d10115b4680f8e38</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>startAsyncReceiving</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a588b0de8213464caaecea8c8c7fcef50</anchor>
      <arglist>(const ReceiveMode &amp;modi=ReceiveMode::continuous)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>stop</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a61ab8c777e9daec471a22fe16e9cf0fb</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>UdpClientImpl</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a1ef64a271e447724000d04700ace33e3</anchor>
      <arglist>(const NewMessageCallback &amp;msg_callback, const ErrorCallback &amp;error_callback, const unsigned short &amp;host_port, const unsigned int &amp;endpoint_ip, const unsigned short &amp;endpoint_port)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a4e49db80fb96bcd24e02aaf3be0546f2</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~UdpClientImpl</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a10d24c74820c3f7538a90d5fbe6f1f5a</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>asyncReceive</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a899ca4b6c4c76106e103dc764f734bc4</anchor>
      <arglist>(const ReceiveMode &amp;modi)</arglist>
    </member>
    <member kind="function" protection="private">
      <type>void</type>
      <name>sendCompleteHandler</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a7af9167ef26b4fe3af27798e3161967c</anchor>
      <arglist>(const boost::system::error_code &amp;error, std::size_t bytes_transferred)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::ip::udp::endpoint</type>
      <name>endpoint_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a6b88142596bbdd65aa185c60673beca4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ErrorCallback</type>
      <name>error_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>aacaea125185a86e1d599ce36954c356a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::io_service</type>
      <name>io_service_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a0fabb6bc6f9924054f0b42005f3a2579</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>io_service_thread_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>aa1497cacd928c89a50689c6ce13a11dd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>NewMessageCallback</type>
      <name>message_callback_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a412b6aadc1c6af671a3117b1939df0ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>data_conversion_layer::RawDataPtr</type>
      <name>received_data_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a9c5fbb84f0bca4e4228527c40f0b3b9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::ip::udp::socket</type>
      <name>socket_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a707e7d0b1071f893c7627be4260aabd9</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>boost::asio::io_service::work</type>
      <name>work_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1communication__layer_1_1UdpClientImpl.html</anchorfile>
      <anchor>a7c6a3219ff91a005afba02c4e02a3311</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::util::Watchdog</name>
    <filename>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</filename>
    <member kind="typedef">
      <type>const std::chrono::high_resolution_clock::duration</type>
      <name>Timeout</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>a08f0187b9be214a6c9f98575970e2c96</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>reset</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>a1d91f7712971bf6b77625d88f584f5c8</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>Watchdog</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>a8e162f88f1cad6d5b5156ee8ea99e8a1</anchor>
      <arglist>(const Timeout &amp;timeout, const std::function&lt; void()&gt; &amp;timeout_callback)</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>~Watchdog</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>ad0f70ee2ec06ca48cf9ecfc0fba90ae6</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="function" protection="private">
      <type>std::cv_status</type>
      <name>waitFor</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>ab02f1b40b8430951fbf8e9eb7a4ae91a</anchor>
      <arglist>(const Timeout &amp;timeout)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::condition_variable</type>
      <name>cv_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>a42f2522f2fd04ea1477c635616d2c627</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::mutex</type>
      <name>cv_m_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>a639831a8cb6e4b2afd8a7e0bf5f6440c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::atomic_bool</type>
      <name>terminated_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>af164fd98fef32b692b9bf782a8c4449a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>util::Barrier</type>
      <name>thread_startetd_barrier_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>ad2f695a130b11d0a79cf7a9ee10c4e12</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" protection="private">
      <type>std::thread</type>
      <name>timer_thread_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1util_1_1Watchdog.html</anchorfile>
      <anchor>a1f78e80b1a6fbf41524e513fea564bff</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::protocol_layer::WatchdogFactory</name>
    <filename>classpsen__scan__v2__standalone_1_1protocol__layer_1_1WatchdogFactory.html</filename>
    <base>psen_scan_v2_standalone::protocol_layer::IWatchdogFactory</base>
    <member kind="function">
      <type>std::unique_ptr&lt; util::Watchdog &gt;</type>
      <name>create</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1WatchdogFactory.html</anchorfile>
      <anchor>a925abdc59e5b04ba9ea5d5ca1353f820</anchor>
      <arglist>(const util::Watchdog::Timeout &amp;timeout, const TimeoutCallback &amp;timeout_callback) override</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>WatchdogFactory</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1protocol__layer_1_1WatchdogFactory.html</anchorfile>
      <anchor>a5d4f2cbf44bde62776d93e9efe254f49</anchor>
      <arglist>()=default</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2::WrongParameterType</name>
    <filename>classpsen__scan__v2_1_1WrongParameterType.html</filename>
    <member kind="function">
      <type></type>
      <name>WrongParameterType</name>
      <anchorfile>classpsen__scan__v2_1_1WrongParameterType.html</anchorfile>
      <anchor>a6d2bfa1092f09a4355add49d4c15b586</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::configuration::xml_config_parsing::XMLConfigurationParserException</name>
    <filename>classpsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing_1_1XMLConfigurationParserException.html</filename>
    <member kind="function">
      <type></type>
      <name>XMLConfigurationParserException</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing_1_1XMLConfigurationParserException.html</anchorfile>
      <anchor>a3777f248c6101b534d37d0f4d32273d5</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::configuration::ZoneSet</name>
    <filename>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</filename>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>muting1_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a6416af3e5ffcbeeaac2d344e223d0572</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>muting2_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a55de18b10c64d1abb27492cbf055d30b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>util::TenthOfDegree</type>
      <name>resolution_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a8e5bc596c7d0c84396792ae500119874</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>safety1_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>aab9d8ba852650e64ef1fdf369d81405f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>safety2_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a037e398a3fb17c8adc5b94c1dbdd98da</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>safety3_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a233e8f0ba223cfd9a2f049547a8d516b</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>boost::optional&lt; ZoneSetSpeedRange &gt;</type>
      <name>speed_range_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a6fb33bc36aa1b27741dcf12c459e5b10</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>warn1_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>aafe3391cb80e8e013481b1fc8598358e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>warn2_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSet.html</anchorfile>
      <anchor>a0e7da3935d960b596e0b70d7f605b2b2</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::configuration::ZoneSetConfiguration</name>
    <filename>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetConfiguration.html</filename>
    <member kind="variable">
      <type>std::vector&lt; ZoneSet &gt;</type>
      <name>zonesets_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetConfiguration.html</anchorfile>
      <anchor>a203815910b82f381b0c8eb35d2d99c34</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2::ZoneSetMsgBuilder</name>
    <filename>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</filename>
    <member kind="function">
      <type>ZoneSet</type>
      <name>build</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a0af9aa4d5c0325a82e752db2f9cc1ae6</anchor>
      <arglist>() const</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>headerFrameId</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a5015b36546141615ee23433d5db2e731</anchor>
      <arglist>(const std::string &amp;header_frame_id)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>headerSeq</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a677d3d107085461dc2cfc38402963867</anchor>
      <arglist>(uint32_t header_seq)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>headerStamp</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a91ceb562ea8922b92ffa2689e47bee1d</anchor>
      <arglist>(const ros::Time &amp;header_stamp)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>muting1</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>ad834ae8fed796325c8299e39e10e8f17</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;muting1)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>muting2</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a8e11d7ef257c67e440cc0140eb79b6c3</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;muting2)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>safety1</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a62f96de4c9c02f45c279f13f7642a525</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;safety1)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>safety2</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a7879450734edc271d0fa795b7b8ad5fe</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;safety2)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>safety3</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a3971df8a6ff94b516b290ceff236128b</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;safety3)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>speedLower</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a767348a000948d024ae620ed57d3faf1</anchor>
      <arglist>(const float &amp;speed_lower)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>speedUpper</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a44f0cc1e7afe92e6cc08b7be4db95517</anchor>
      <arglist>(const float &amp;speed_upper)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>warn1</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>ae642db39e14c1e585246a8ee9782ca47</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;warn1)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetMsgBuilder &amp;</type>
      <name>warn2</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>a83fd2236b4a78ddb623486c4583c583e</anchor>
      <arglist>(const geometry_msgs::Polygon &amp;warn2)</arglist>
    </member>
    <member kind="variable" protection="private">
      <type>ZoneSet</type>
      <name>zoneset_msg_</name>
      <anchorfile>classpsen__scan__v2_1_1ZoneSetMsgBuilder.html</anchorfile>
      <anchor>aafe2f948d7eb3a024b5b02b2755e1d3d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::configuration::ZoneSetSpeedRange</name>
    <filename>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRange.html</filename>
    <member kind="function">
      <type>bool</type>
      <name>operator!=</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRange.html</anchorfile>
      <anchor>a1e8f52cac113b48c72a9a856ae20a3d1</anchor>
      <arglist>(const ZoneSetSpeedRange &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>operator==</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRange.html</anchorfile>
      <anchor>a16989867863f4f65d8c8dbf52d6eb914</anchor>
      <arglist>(const ZoneSetSpeedRange &amp;rhs) const</arglist>
    </member>
    <member kind="function">
      <type></type>
      <name>ZoneSetSpeedRange</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRange.html</anchorfile>
      <anchor>ae63a780056d22a6b8ee80c44c95f7143</anchor>
      <arglist>(short min, short max)</arglist>
    </member>
    <member kind="variable">
      <type>short</type>
      <name>max_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRange.html</anchorfile>
      <anchor>a5dbba64fe5aa740fb20529c845397f54</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable">
      <type>short</type>
      <name>min_</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRange.html</anchorfile>
      <anchor>a0273709a9e760970eb01515ba75e3a79</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="class">
    <name>psen_scan_v2_standalone::configuration::ZoneSetSpeedRangeException</name>
    <filename>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRangeException.html</filename>
    <member kind="function">
      <type></type>
      <name>ZoneSetSpeedRangeException</name>
      <anchorfile>classpsen__scan__v2__standalone_1_1configuration_1_1ZoneSetSpeedRangeException.html</anchorfile>
      <anchor>ab1fa231522fe450529480fe9f3b50fa8</anchor>
      <arglist>(const std::string &amp;msg)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2</name>
    <filename>namespacepsen__scan__v2.html</filename>
    <class kind="class">psen_scan_v2::ActiveZonesetNode</class>
    <class kind="class">psen_scan_v2::ConfigServerNode</class>
    <class kind="class">psen_scan_v2::ParamMissingOnServer</class>
    <class kind="class">psen_scan_v2::ROSScannerNodeT</class>
    <class kind="class">psen_scan_v2::WrongParameterType</class>
    <class kind="class">psen_scan_v2::ZoneSetMsgBuilder</class>
    <member kind="typedef">
      <type>ROSScannerNodeT</type>
      <name>ROSScannerNode</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>aa08e4eed6297d0e0db442f1c35cecce2</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>visualization_msgs::Marker</type>
      <name>createMarker</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>adbb5ae88ad9bb5c0cd1f0f864385ddf3</anchor>
      <arglist>(const std::string &amp;ns, const std_msgs::ColorRGBA &amp;color, const std::string &amp;frame_id, const std::vector&lt; geometry_msgs::Point32 &gt; &amp;points, const double &amp;z_offset=0)</arglist>
    </member>
    <member kind="function">
      <type>geometry_msgs::Point</type>
      <name>createPoint</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a70e08f69734683fcdc41f803dcdfc343</anchor>
      <arglist>(const double &amp;x, const double &amp;y, const double &amp;z)</arglist>
    </member>
    <member kind="function">
      <type>std_msgs::ColorRGBA</type>
      <name>createRGBA</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>aabf5d4f4e529e4852d56d170b41f5732</anchor>
      <arglist>(const float &amp;r, const float &amp;g, const float &amp;b, const float &amp;a)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>getOptionalParamFromServer</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>afd2325c1dfc7abc3bd0cb27b560ac6a9</anchor>
      <arglist>(const ros::NodeHandle &amp;node_handle, const std::string &amp;key, const T &amp;default_value)</arglist>
    </member>
    <member kind="function">
      <type>boost::optional&lt; T &gt;</type>
      <name>getParam</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>abff6987a5618f35ee3d2aa8e9ee27426</anchor>
      <arglist>(const ros::NodeHandle &amp;node_handle, const std::string &amp;key)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>getRangeInfo</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>ac30b800784b66057d1cc9e02823c56c6</anchor>
      <arglist>(const ZoneSet &amp;zoneset)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>getRequiredParamFromServer</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a4d37bedb669d727fa2ae9da18d5e8b61</anchor>
      <arglist>(const ros::NodeHandle &amp;node_handle, const std::string &amp;key)</arglist>
    </member>
    <member kind="function">
      <type>psen_scan_v2::IOState</type>
      <name>toIOStateMsg</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a0afe50a719524df69f2e1fb87401e89c</anchor>
      <arglist>(const psen_scan_v2_standalone::IOState &amp;io_state, const std::string &amp;frame_id)</arglist>
    </member>
    <member kind="function">
      <type>sensor_msgs::LaserScan</type>
      <name>toLaserScanMsg</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>ae9328a5ada8c52ee9857b6034fe9eeba</anchor>
      <arglist>(const LaserScan &amp;laserscan, const std::string &amp;frame_id, const double x_axis_rotation)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; visualization_msgs::Marker &gt;</type>
      <name>toMarkers</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a77146436d398c36a63845cc344b6ff79</anchor>
      <arglist>(const ZoneSet &amp;zoneset)</arglist>
    </member>
    <member kind="function">
      <type>PinStateType</type>
      <name>toPinStateMsg</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>adaff28b1c7de1964523dc7a1720dd7fd</anchor>
      <arglist>(const psen_scan_v2_standalone::PinState &amp;pin)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ACTIVE_ZONESET_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a864a814012e0ad655fa9efe0cf25d0a7</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_X_AXIS_ROTATION</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>aff6fb0c724b36f597ccaa41b12098395</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ZONECONFIGURATION_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>ad41ca2cbec31b9d4dc8a39e948a47a11</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ZONESET_MARKER_ARRAY_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>afcb96c53a54e6e01b058eb39720d751a</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_ZONESET_TOPIC</name>
      <anchorfile>namespacepsen__scan__v2.html</anchorfile>
      <anchor>a9ea73b86c8dc81a2bd3fd8f66bdc8e6d</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone</name>
    <filename>namespacepsen__scan__v2__standalone.html</filename>
    <namespace>psen_scan_v2_standalone::communication_layer</namespace>
    <namespace>psen_scan_v2_standalone::configuration</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer</namespace>
    <namespace>psen_scan_v2_standalone::protocol_layer</namespace>
    <namespace>psen_scan_v2_standalone::util</namespace>
    <class kind="class">psen_scan_v2_standalone::IOState</class>
    <class kind="class">psen_scan_v2_standalone::IScanner</class>
    <class kind="class">psen_scan_v2_standalone::LaserScan</class>
    <class kind="class">psen_scan_v2_standalone::PinState</class>
    <class kind="class">psen_scan_v2_standalone::ScannerConfiguration</class>
    <class kind="class">psen_scan_v2_standalone::ScannerConfigurationBuilder</class>
    <class kind="class">psen_scan_v2_standalone::ScannerV2</class>
    <class kind="class">psen_scan_v2_standalone::ScanRangeTemplated</class>
    <member kind="typedef">
      <type>ScanRangeTemplated&lt; 1, 2749 &gt;</type>
      <name>ScanRange</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>ac569893a6ecd1e24c10d9420bfb41fe7</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>formatPinState</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a27f318bcfa29a5cc724b44858b2c6c03</anchor>
      <arglist>(const PinState &amp;pin)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>formatPinStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>ace8cd3e14714c671276016ca962a5c08</anchor>
      <arglist>(const std::vector&lt; PinState &gt; &amp;pins)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>aa62188ef4ba51f304fb3d827d2a7ce87</anchor>
      <arglist>(std::ostream &amp;os, const IOState &amp;io_state)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a1fd0e69a3a34e6f1dcdc492c13f4efd9</anchor>
      <arglist>(std::ostream &amp;os, const LaserScan &amp;scan)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a49db5dd4df388f106ebf73daf52bb8cd</anchor>
      <arglist>(std::ostream &amp;os, const PinState &amp;pin_state)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const util::TenthOfDegree</type>
      <name>MAX_X_AXIS_ROTATION</name>
      <anchorfile>namespacepsen__scan__v2__standalone.html</anchorfile>
      <anchor>a8c984cceac7005d6be45b47135961501</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::communication_layer</name>
    <filename>namespacepsen__scan__v2__standalone_1_1communication__layer.html</filename>
    <class kind="class">psen_scan_v2_standalone::communication_layer::UdpClientImpl</class>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>ErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1communication__layer.html</anchorfile>
      <anchor>a431dfe9b03e216c8017ba369bbd979aa</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const data_conversion_layer::RawDataConstPtr &amp;, const std::size_t &amp;, const int64_t &amp;timestamp)&gt;</type>
      <name>NewMessageCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1communication__layer.html</anchorfile>
      <anchor>a0683afe8718bdc2242c6683d189043c4</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ReceiveMode</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1communication__layer.html</anchorfile>
      <anchor>a9ca891da85bc6c3c18f64cd7a3e83210</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1communication__layer.html" anchor="a9ca891da85bc6c3c18f64cd7a3e83210add5c07036f2975ff4bce568b6511d3bc">single</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1communication__layer.html" anchor="a9ca891da85bc6c3c18f64cd7a3e83210ad2884efee751eb4746b685827c7efcd9">continuous</enumvalue>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::configuration</name>
    <filename>namespacepsen__scan__v2__standalone_1_1configuration.html</filename>
    <namespace>psen_scan_v2_standalone::configuration::xml_config_parsing</namespace>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSet</class>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSetConfiguration</class>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSetSpeedRange</class>
    <class kind="class">psen_scan_v2_standalone::configuration::ZoneSetSpeedRangeException</class>
    <member kind="enumeration">
      <type></type>
      <name>ScannerId</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a429b2f57e89058c9a6d49712897a0789</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789aeb0a191797624dd3a48fa681d3061212">master</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789a589cf79ae83ef77fbd0a0e7c4fc1530f">subscriber0</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789a6fc4ab51119236e253c6f51763f11c21">subscriber1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1configuration.html" anchor="a429b2f57e89058c9a6d49712897a0789a9048690f0bedbdc80c24aa57b6245655">subscriber2</enumvalue>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_ANGLE_END</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae8dd1a363593d2d362e597c22fb1b836</anchor>
      <arglist>(data_conversion_layer::degreeToRadian(137.4))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_ANGLE_START</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a817527c81b8d3f03e04bbfe0578262af</anchor>
      <arglist>(-data_conversion_layer::degreeToRadian(137.4))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>DEFAULT_SCAN_ANGLE_RESOLUTION</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a4da05751fbf6723f6ea181eef6703b86</anchor>
      <arglist>(data_conversion_layer::degreeToRadian(0.1))</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static const util::TenthOfDegree</type>
      <name>DEFAULT_ZONESET_ANGLE_STEP</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a3363f12e919e712ef64ae8ae85e9da30</anchor>
      <arglist>(5)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>CONTROL_PORT_OF_HOST_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a726ca4b8fdd2ae8c2a896997f69bce9f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>CONTROL_PORT_OF_SCANNER_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ab68cb4acd61d1a34043495460cc19fbe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>DATA_PORT_OF_HOST_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ab2e8e5a3af549d8956094a07d0afe591</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr unsigned short</type>
      <name>DATA_PORT_OF_SCANNER_DEVICE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a2f4ed2a62a963eaf992acaac73bb53a5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::string</type>
      <name>DEFAULT_HOST_IP_STRING</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ac575c01cbe87535b898d5916aaef5a3d</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr bool</type>
      <name>DIAGNOSTICS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae71bf22bdf3262ea2f3e5349d8ec6402</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr bool</type>
      <name>FRAGMENTED_SCANS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a6fd7eff3fafe167485e4c560a1d223a1</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr bool</type>
      <name>INTENSITIES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>aa93d8d97dfafe9ea0b8778a25b8402e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>RANGE_MAX_IN_M</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae0c1af3cfa9cc72b93a4ccc8616ca945</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>RANGE_MIN_IN_M</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a7a3b96341ad4db781679d2387dbbf009</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; ScannerId, std::string &gt;</type>
      <name>SCANNER_ID_TO_STRING</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>ae0ab3d3aab7013a3b5c5efb47986b078</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr double</type>
      <name>TIME_PER_SCAN_IN_S</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>af6476df7266a2d3531d13dd441857c19</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; ScannerId, 4 &gt;</type>
      <name>VALID_SCANNER_IDS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration.html</anchorfile>
      <anchor>a2e3d88b358f92beac566214a7e075510</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::configuration::xml_config_parsing</name>
    <filename>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</filename>
    <class kind="class">psen_scan_v2_standalone::configuration::xml_config_parsing::XMLConfigurationParserException</class>
    <member kind="function">
      <type>const tinyxml2::XMLElement *</type>
      <name>getFirstChildElement</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a25ed200788a19dddf8d5a3b96e342370</anchor>
      <arglist>(const tinyxml2::XMLElement *parent, const char *name)</arglist>
    </member>
    <member kind="function">
      <type>const char *</type>
      <name>getText</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a770d5f3f22c683bcf41a6542b6204402</anchor>
      <arglist>(const tinyxml2::XMLElement *element)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isEncoderEnabled</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a6f6646edfd08d18fedc029142d87304f</anchor>
      <arglist>(const tinyxml2::XMLConstHandle &amp;doc_handle)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseFile</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a8141fedf24ae92eb771c8c22112f2615</anchor>
      <arglist>(const char *filename)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; ZoneSetSpeedRange &gt;</type>
      <name>parseSpeedRanges</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>aee5c648279ecbb4c1c67b3290cf9f530</anchor>
      <arglist>(const tinyxml2::XMLConstHandle &amp;doc_handle)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseString</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a1a80529a67b1d5c0e902d1265166899f</anchor>
      <arglist>(const char *xml)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetConfiguration</type>
      <name>parseTinyXML</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>ae2f8bd540fb574ee0384a1e6bd2b6930</anchor>
      <arglist>(const tinyxml2::XMLDocument &amp;doc)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSet</type>
      <name>parseZoneSet</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a66ec5e7124fd2397f7e6d1069b8a1f83</anchor>
      <arglist>(const tinyxml2::XMLElement *xml_set_element)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; ZoneSet &gt;</type>
      <name>parseZoneSets</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a552387858a0973b3efdaeb600acda812</anchor>
      <arglist>(const tinyxml2::XMLConstHandle &amp;doc_handle)</arglist>
    </member>
    <member kind="function">
      <type>ZoneSetSpeedRange</type>
      <name>parseZoneSetSpeedRange</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>a88233d06b65d07cf9d05174f04f85f49</anchor>
      <arglist>(const tinyxml2::XMLElement *xml_zone_set_select_element)</arglist>
    </member>
    <member kind="function">
      <type>std::vector&lt; unsigned long &gt;</type>
      <name>ro_string_to_vec</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>af51c04374c1b66e6ccb950a061b48cfb</anchor>
      <arglist>(const std::string &amp;ro_string)</arglist>
    </member>
    <member kind="function">
      <type>unsigned long</type>
      <name>ro_value_to_uint</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>abd1092491336d76cd06865772d11a01b</anchor>
      <arglist>(const std::string &amp;ro_value)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>textIsEqual</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1configuration_1_1xml__config__parsing.html</anchorfile>
      <anchor>ade7ed384a4ae1cb1fc9b18796afdd566</anchor>
      <arglist>(const tinyxml2::XMLElement *element, const char *str)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</filename>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::raw_processing</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::scanner_reply</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::start_request</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::stop_request</namespace>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::LaserScanConverter</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::ScannerProtocolViolationError</class>
    <member kind="typedef">
      <type>std::vector&lt; char &gt;</type>
      <name>RawData</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>ad26fa30a29adc8e28fa8b141d3b062e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; const RawData &gt;</type>
      <name>RawDataConstPtr</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aaa672ce36ecf0bd21155ae5866236183</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::shared_ptr&lt; RawData &gt;</type>
      <name>RawDataPtr</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aeaad884e57ff8443bb8e7f7f1a4df1e7</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>uint32_t</type>
      <name>calculateCRC</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a698f79df81fd45a56e7c6e9039c6fba2</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>degreeToRadian</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a5e01e42042789b90efa1398cb4fba22e</anchor>
      <arglist>(const double &amp;angle_in_degree)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int16_t</type>
      <name>degreeToTenthDegree</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a25a75bc5244c2cdd39ddd8f474466bf6</anchor>
      <arglist>(const double &amp;angle_in_degree)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateChangedInputStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aed1dd1502909c991564a41ebfad85388</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;new_state, const monitoring_frame::io::PinData &amp;old_state)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateChangedOutputStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a20c0f7df6d57de13feca0969fedab7c3</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;new_state, const monitoring_frame::io::PinData &amp;old_state)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static PinState</type>
      <name>generateInputPinState</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a29a582267533f6b08c675bab7ee54c24</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data, std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateInputPinStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a2be14e4dbb909819dd78a4a57275318b</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static PinState</type>
      <name>generateOutputPinState</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>aa796ad3aaaa9d84fed2a040e6158f73a</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data, std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::vector&lt; PinState &gt;</type>
      <name>generateOutputPinStates</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>ac1e420400fc28adabb24ab51a0d0d59d</anchor>
      <arglist>(const monitoring_frame::io::PinData &amp;pin_data)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>isUsedInputBit</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a68864c21de8efc0cf19f19746303a005</anchor>
      <arglist>(std::size_t byte_n, std::size_t bit_n)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static bool</type>
      <name>isUsedOutputBit</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a3684e6c3e45f5996276d309ab7603795</anchor>
      <arglist>(std::size_t byte_n, std::size_t bit_n)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>radianToDegree</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>af5ab2e74b8df0ca65b26bb436b9f6557</anchor>
      <arglist>(const double &amp;angle_in_rad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static int16_t</type>
      <name>radToTenthDegree</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>abb7b7972ae0193214e335f921a267a6e</anchor>
      <arglist>(const double &amp;angle_in_rad)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>tenthDegreeToRad</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a293424d86c86208bba1242a389170674</anchor>
      <arglist>(const int16_t &amp;angle_in_tenth_degree)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::size_t</type>
      <name>MAX_UDP_PAKET_SIZE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer.html</anchorfile>
      <anchor>a73e5c593147df097711e7fdb1d90239b</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</filename>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic</namespace>
    <namespace>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io</namespace>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldHeader</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldMissing</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::AdditionalFieldUnexpectedSize</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::DecodingFailure</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::FixedFields</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::Message</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::MessageBuilder</class>
    <class kind="struct">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::MessageStamped</class>
    <member kind="enumeration">
      <type></type>
      <name>AdditionalFieldHeaderID</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a239137f6275527d355e6a2742c972774</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774ae67eb7b02dca6828ce88cadcc6fc81ed">io_pin_data</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774aee39ddbeab64e23cd60aba10f1cf5f38">scan_counter</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774a4e43eaf4601d8ff66965e079a9981e10">zone_set</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774ae7781bd03c1d3248aa3fc03afe6bfc54">diagnostics</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774ac37be74d84f98bd288693a6bbee7a334">measurements</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774a6932348967a63a2a372931f9320087f3">intensities</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html" anchor="a239137f6275527d355e6a2742c972774afcca430f0fd3b8a653d394bb52ea932f">end_of_frame</enumvalue>
    </member>
    <member kind="function">
      <type>monitoring_frame::Message</type>
      <name>deserialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ab47e64a350fb1a97293f722a12803f53</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data, const std::size_t &amp;num_bytes)</arglist>
    </member>
    <member kind="function">
      <type>AdditionalFieldHeader</type>
      <name>readAdditionalField</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a3bbc8d20ff5d4c362a1e75aac2c9acbc</anchor>
      <arglist>(std::istream &amp;is, const std::size_t &amp;max_num_bytes)</arglist>
    </member>
    <member kind="function">
      <type>FixedFields</type>
      <name>readFixedFields</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>acbead152bd15f3f0b4e672da6b7c0502</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>toIntensities</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a8025060080827f9f5edddf3e426749da</anchor>
      <arglist>(const uint16_t &amp;value)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static constexpr double</type>
      <name>toMeter</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a5b0b628538cb66e4e40ee03ade109a3d</anchor>
      <arglist>(const uint16_t &amp;value)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>DEFAULT_DEVICE_STATUS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>aeb808b48acb2cbe687df9f272d62e8f4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>GUI_MONITORING_TRANSACTION</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a465b3e007a409d8663310d1d452e4248</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint8_t</type>
      <name>MAX_SCANNER_ID</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a047b2b173b55cba71df52843315c5422</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NO_SIGNAL_ARRIVED</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ac5ae23ea0b9d2bb6bfff283da4b86426</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_SCAN_COUNTER</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a0b1c41680d23bf3a03d71aa75422342f</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_SINGLE_INTENSITY</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a6395dca11c089b4573fa896148d44f56</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_SINGLE_MEASUREMENT</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>acb99951ae7191d03ca3df3fe21291165</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>NUMBER_OF_BYTES_ZONE_SET</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ad7f089ed6218ee7bc0becba007577514</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>ONLINE_WORKING_MODE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a8fa29959079a9ae847e72a157f45f7ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>OP_CODE_MONITORING_FRAME</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>a57644ea3534626e00f174d18b63dd463</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint16_t</type>
      <name>SIGNAL_TOO_LATE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame.html</anchorfile>
      <anchor>ab3897c3882965cd8f4c75f46b4bb2b21</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::ErrorLocation</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::Message</class>
    <member kind="typedef">
      <type>std::string</type>
      <name>ErrorMessage</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a7d7af71bb04dbd63763b04d11c0d6981</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>ErrorType</type>
      <name>Et</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>ad1df3b46987cfe2c3074f5643b3cb804</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::array&lt; uint8_t, diagnostic::RAW_CHUNK_LENGTH_IN_BYTES &gt;</type>
      <name>RawChunk</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a7a46cdcee945b5fb2d0f359a0a08a9a6</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>ErrorType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a21ec6fc474ed0858edf998ca2822a8bd</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda58098ab4228e9f2ea6daf1a1117d15af">ossd1_oc</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda18bbc32c050249cc009701b775167c40">ossd_shrt_c</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda85d2f5e5081040619f90003fd1d2ae3e">ossd_integr</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda081d29b9330707cc21a1bf4132f7d3f7">intern</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdabafed929074227ed59e366758ed21961">win_cln_al</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda5b707c19ace588b0304807d6fff7b0d5">power_supply</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda7b842928e52bfe9429ad91f8791171b6">netw_prb</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdad485e38bb37b75afd169cc01b24d2db1">dust_crc_fl</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdacaaa78af06ab36d469e53912c14ec06a">ossd2_overcur</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda5b289a8d37fa77baa96701df4b55ecac">meas_prob</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda1be2dd4318d5b87c0d9ad0b5d63769e2">incoherence</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdad287d228100b0277d86524ffc96aa53d">zone_inval_trans</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda05fdeb93ecd756888d39a8f6dead85cd">zone_invalid_conf</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdacd320587c535880916f9e5ccb4c420c6">win_cln_warn</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdae71141bd7bab7e7fcc369770eb2a7ef2">int_com_prb</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdabb541b37600b892121da4a66fbbbbf33">generic_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda63dc5d51e564925806bc1d6e32b13010">disp_com_prb</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda94fcffc66e2696a50b326001fff7ea8a">temp_meas_prob</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdaffb1bc7b19dc7d58c7d9db91e48bd828">encod_oor</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda92edfc05deb51497d293ad2808a63a87">edm2_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda51d0cb3cf59328812a05237a4d71ffcf">edm1_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda39986f008671fcf4a594663899cfb21d">conf_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda05a488b8067a8d9fd6ff01baa2ceb7dc">out_of_range_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda3ccede321bdfd7939ff7c12b0b054962">temp_range_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bda57a90f2a4a4039e888498fa38be42e40">encoder_generic_err</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html" anchor="a21ec6fc474ed0858edf998ca2822a8bdafd94c6a26d6b6571e8d9398446227ae8">unused</enumvalue>
    </member>
    <member kind="function">
      <type>std::vector&lt; diagnostic::Message &gt;</type>
      <name>deserializeMessages</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>abc2a1722fc39915f31ad5950e735ba0b</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>bool</type>
      <name>isAmbiguous</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a283982149e4ec68593f324c767557896</anchor>
      <arglist>(const ErrorType &amp;code)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a34055fb54b3ad7222c6a19f6c151595e</anchor>
      <arglist>(std::ostream &amp;os, const diagnostic::Message &amp;msg)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::set&lt; Et &gt;</type>
      <name>AMBIGUOUS_DIAGNOSTIC_CODES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>ac96f22367c251d3dbf91ebb3a30a7dbe</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; std::array&lt; ErrorType, 8 &gt;, 9 &gt;</type>
      <name>ERROR_BITS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a56751e6b90d3723907f5a463d5a18798</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; ErrorType, ErrorMessage &gt;</type>
      <name>ERROR_CODE_TO_STRING</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>ae0faaaf8ef9ef2201e220e40e827f59e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>a7592d5aed33b52a8b6d2ba8ddfb4b4fb</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>abd3fbc2e5faace6ef282a7e20409bbb4</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_UNUSED_OFFSET_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1diagnostic.html</anchorfile>
      <anchor>af016203da37efdc9bb7f4275f0486451</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</filename>
    <class kind="struct">psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::io::PinData</class>
    <member kind="typedef">
      <type>std::string</type>
      <name>IoName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a6304309dba41623789aafc2985a3b9ec</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>LogicalInputType</type>
      <name>Lit</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a581867a9e179bf79670e1c73f90c41cf</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>OutputType</type>
      <name>Ot</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a2193171004b0d9b72e40f2782324eab4</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::array&lt; uint8_t, io::RAW_CHUNK_LENGTH_IN_BYTES &gt;</type>
      <name>RawChunk</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ac31f2aa86123869e8c2b63a75ebf96ea</anchor>
      <arglist></arglist>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>LogicalInputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ab48fd35f4c5d21807a3cbc07c03166bf</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa41d9f707b32775c999e9a0f54a5b0f1c">zone_sw_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa611acbc5b74eece8c23a370432a93a75">zone_sw_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfab8dbb838d41f984a63cd538e57b13155">overr_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa07d706d2c4a4d35235accde0659648ca">overr_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa324dd2cd17feb0f3da8754cb4dbc0025">muting_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa90589121c1bfa3e600eb55f774dc8830">muting_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfaaba28fa936aea262a422c3616c177dde">reset_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa91f38f6e1cc687a45920dfcc3e70116f">zone_sw_8</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfac7b370bc34e9a14346d98a7ca7bd0240">zone_sw_7</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa61d8d7b9e6f13a505089ea7877724b61">zone_sw_6</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfaecc5fc6778db4ca268e63ad31c328fc3">zone_sw_5</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa52cd68c5d81ca1f629a45fd7892fea85">zone_sw_4</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa842f6f6942100a12b92201a0e2b01bfe">zone_sw_3</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa12c309d262b33d660ad4ee6885e6333f">cor_seq_mut_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfae99703eb64265649c8501e35ad10c8c5">mut_en_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa62f7058c2ae4481f1858a10ee82b06b0">restart_2_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa3bf97b2900bc70bd50d88076dc709f27">cor_seq_or_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa1d4e89f5dde41a224d4c9838fc306a36">cor_seq_mut_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa09cf75a0a53039c41417e7d9199fc6de">mut_en_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfaaac55f1779c2138415ee3b0b15512236">restart_1_a</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfa66169976810b3ea653b8471af3dd02ec">cor_seq_or_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="ab48fd35f4c5d21807a3cbc07c03166bfafd94c6a26d6b6571e8d9398446227ae8">unused</enumvalue>
    </member>
    <member kind="enumeration">
      <type></type>
      <name>OutputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a618ce6ac7f79da651fd528f584a4e267</anchor>
      <arglist></arglist>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267afd94c6a26d6b6571e8d9398446227ae8">unused</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267ab1d00cb0d7665f3b448c5a2122607ce8">ossd1_refpts</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a7cf1dcf669d1b35922c2a3756f0f89fc">warn_2_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a8fc5a7da2f886e72d9f969d4415a12ab">warn_1_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a2c17a21a4b48c1e0c4c2656b095741fe">ossd3_lock</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267aafc7472e187c4e8e4a7a2cdf1c209182">safe_3_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a8449f48c7c0cf60e3a86a72223c51f4a">int_lock_2</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a67a71cbfd702f944c699f20844e93b87">safe_2_int</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267af11b331858d6e1208802ee49111fa2d9">int_lock_1</enumvalue>
      <enumvalue file="namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html" anchor="a618ce6ac7f79da651fd528f584a4e267a9ca63b3ba116e0838088233cb4ce81bf">safe_1_int</enumvalue>
    </member>
    <member kind="function">
      <type>void</type>
      <name>deserializePinField</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ae5e12e6d8a94c312748e5c01a8d5d949</anchor>
      <arglist>(std::istream &amp;is, std::array&lt; std::bitset&lt; 8 &gt;, ChunkSize &gt; &amp;pin_states)</arglist>
    </member>
    <member kind="function">
      <type>PinData</type>
      <name>deserializePins</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a84083ec126f5786cab209ad1951d6f32</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>getInputName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>adfc55a383b487a77e66b7931cba9d167</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static LogicalInputType</type>
      <name>getInputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ab33df6c019d153fbfe82807708dd1aea</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>getOutputName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a9d661a9d14ec0adde9552fe9f48b709c</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static OutputType</type>
      <name>getOutputType</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a4f843c91cd47f5081983158d578ce01b</anchor>
      <arglist>(std::size_t byte_location, std::size_t bit_location)</arglist>
    </member>
    <member kind="function">
      <type>std::ostream &amp;</type>
      <name>operator&lt;&lt;</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ae8133302147e3ea0bc9b1f1f1e6f4286</anchor>
      <arglist>(std::ostream &amp;os, const PinData &amp;pd)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; Lit, IoName &gt;</type>
      <name>LOGICAL_INPUT_BIT_TO_NAME</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a515b4876e0901ef5682e460fe8312c43</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; std::array&lt; Lit, 8 &gt;, RAW_CHUNK_LOGICAL_INPUT_SIGNALS_IN_BYTES &gt;</type>
      <name>LOGICAL_INPUT_BITS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a05efffbaa799bb0221ba2abbf6d643e5</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>NUMBER_OF_INPUT_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>afef288d35aae31f911f60ff2e106a5bd</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>NUMBER_OF_OUTPUT_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a7a43131b97c30cbaffd5017f66c6fd45</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const std::map&lt; Ot, IoName &gt;</type>
      <name>OUTPUT_BIT_TO_NAME</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a9245262cf85a03973713d7ae81301eda</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; std::array&lt; Ot, 8 &gt;, RAW_CHUNK_OUTPUT_SIGNALS_IN_BYTES &gt;</type>
      <name>OUTPUT_BITS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a7ebddb187aab23a1b5ce534c5f3f9c92</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>ab53cb24b85ca273e2536334d2b9bcb60</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LENGTH_RESERVED_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>aa6ac2c9de6692f50d334763bcc8d909c</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_LOGICAL_INPUT_SIGNALS_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a90851522f164a1218b0f133338e74420</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_OUTPUT_SIGNALS_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a1527a326a9f23045d05ac2bd0cdd3833</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>RAW_CHUNK_PHYSICAL_INPUT_SIGNALS_IN_BYTES</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1monitoring__frame_1_1io.html</anchorfile>
      <anchor>a03b027bb39079cade1d9aa221312ea29</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::raw_processing</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::raw_processing::StringStreamFailure</class>
    <member kind="typedef">
      <type>std::function&lt; ReturnType(const RawType &amp;)&gt;</type>
      <name>ConversionFunc</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a3236bb7d357cc595950834a020e9c75e</anchor>
      <arglist></arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a2350596c2c6d3f357f5e9ef02dc72984</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>ReturnType</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a81f692fc22161aa0abf8cbc69310539f</anchor>
      <arglist>(std::istream &amp;is)</arglist>
    </member>
    <member kind="function">
      <type>ReturnType</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>ae4e75a30a30e1004fcc09553b5078168</anchor>
      <arglist>(std::istream &amp;is, const ConversionFunc&lt; ReturnType, RawType &gt; &amp;conversion_fcn)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>read</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>acc6dba5a0fd00e0b750970056ffac2a6</anchor>
      <arglist>(std::istream &amp;is, T &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>readArray</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>aa4f61776e7b312d0a0317bf5db1dc8f6</anchor>
      <arglist>(std::istream &amp;is, std::vector&lt; ReturnType &gt; &amp;data, const size_t &amp;number_of_samples, const ConversionFunc&lt; ReturnType, RawType &gt; &amp;conversion_fcn)</arglist>
    </member>
    <member kind="function">
      <type>T</type>
      <name>toArray</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a986fd6703d199939af5b9bc9ae93c3bd</anchor>
      <arglist>(std::ostringstream &amp;os)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>write</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>a0465c72ac4ebebd7ace343e463f2250a</anchor>
      <arglist>(std::ostringstream &amp;os, const T &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>void</type>
      <name>writeArray</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1raw__processing.html</anchorfile>
      <anchor>aba47021f28e04e3688c055fb389a0897</anchor>
      <arglist>(std::ostringstream &amp;os, const std::vector&lt; ArrayElemType &gt; &amp;array, ConversionFunc&lt; RawType, ArrayElemType &gt; conversion_fcn)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::scanner_reply</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::scanner_reply::CRCMismatch</class>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::scanner_reply::Message</class>
    <member kind="function">
      <type>Message</type>
      <name>deserialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</anchorfile>
      <anchor>ad806a55db5ac9a7b869ddf778f0d7144</anchor>
      <arglist>(const data_conversion_layer::RawData &amp;data)</arglist>
    </member>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</anchorfile>
      <anchor>a647ab4cad76704b94e63023380da460e</anchor>
      <arglist>(const Message &amp;reply)</arglist>
    </member>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1scanner__reply.html</anchorfile>
      <anchor>ab3f4c51b0da4096c56a5a882aad1c572</anchor>
      <arglist>(const uint32_t op_code, const uint32_t res_code)</arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::start_request</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</filename>
    <class kind="class">psen_scan_v2_standalone::data_conversion_layer::start_request::Message</class>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a86868fa7827b222f6441691cce4544ee</anchor>
      <arglist>(const data_conversion_layer::start_request::Message &amp;start_request, const uint32_t &amp;seq_number=DEFAULT_SEQ_NUMBER)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>DEFAULT_SEQ_NUMBER</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a77c36ee8186368c7d8296d0286473bac</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>OPCODE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a95305e55aae59431eff863cb2afe1489</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint64_t</type>
      <name>RESERVED</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1start__request.html</anchorfile>
      <anchor>a3ebabdc88977d58edc49de7d4e3e8108</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::data_conversion_layer::stop_request</name>
    <filename>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</filename>
    <member kind="function">
      <type>RawData</type>
      <name>serialize</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>acb8d68b545bd32b87498e9d1cdb37ff1</anchor>
      <arglist>()</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::size_t</type>
      <name>NUM_RESERVED_FIELDS</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>af7dba97c64bf1a8286ab9731946b157e</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static const uint32_t</type>
      <name>OPCODE</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>a12783c6c35e3cde204ec75ed179438a0</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::array&lt; uint8_t, NUM_RESERVED_FIELDS &gt;</type>
      <name>RESERVED</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1data__conversion__layer_1_1stop__request.html</anchorfile>
      <anchor>a617f1226d87ff2f568947c9cd9c82a84</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::protocol_layer</name>
    <filename>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</filename>
    <namespace>psen_scan_v2_standalone::protocol_layer::scanner_events</namespace>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::IWatchdogFactory</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::OutdatedMessageError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanBuffer</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScannerProtocolDef</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanRoundEndedEarlyError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanRoundError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::ScanRoundOversaturatedError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::WatchdogFactory</class>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>ErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a6fb9007e893e9f540df0cce3ce500794</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const LaserScan &amp;)&gt;</type>
      <name>InformUserAboutLaserScanCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>af46eed8c0cc91f4d968af86f4d487ce8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const LaserScan &amp;)&gt;</type>
      <name>LaserScanCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>ac76149132996a1d1806c09fba5e39cd3</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const data_conversion_layer::monitoring_frame::Message &amp;)&gt;</type>
      <name>MonitoringFrameCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a71a7e94c7f2b19b9d3c5a284dbe0535e</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>ReplyCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a8795523f397d91ac1793ffa492e3eb85</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>ScannerStartedCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a94667e18cea66bfd5fb9f966c2b7d294</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>msm::back::state_machine&lt; ScannerProtocolDef &gt;</type>
      <name>ScannerStateMachine</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>aad87afb55de01ddf0b605fda3e8855e8</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>ScannerStoppedCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a97ab8f27cec4a953e13356a228c7b340</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>SendRequestCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a9d280571cc47a8698c3531327dd1ce22</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>StartErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a87c97c37c4faaaf8f3195451261c3456</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void(const std::string &amp;)&gt;</type>
      <name>StopErrorCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a29b8c52e8e271d5962624d531df335ff</anchor>
      <arglist></arglist>
    </member>
    <member kind="typedef">
      <type>std::function&lt; void()&gt;</type>
      <name>TimeoutCallback</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>afafe07b661e693f00cdf64f34aa1d16d</anchor>
      <arglist></arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>classNameShort</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a0b752049014363847de872c30f0f00be</anchor>
      <arglist>(const T &amp;t)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static std::string</type>
      <name>getStateName</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a46f3cf56fd3a93606ed957ea40025433</anchor>
      <arglist>(const int &amp;state_id)</arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr uint32_t</type>
      <name>DEFAULT_NUM_MSG_PER_ROUND</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a9b50d50470b8c22fe28c8077bd3d47ab</anchor>
      <arglist></arglist>
    </member>
    <member kind="variable" static="yes">
      <type>static constexpr std::chrono::milliseconds</type>
      <name>WATCHDOG_TIMEOUT</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1protocol__layer.html</anchorfile>
      <anchor>a4f3abc4edc461f5dbdf6ce1c3785559a</anchor>
      <arglist></arglist>
    </member>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::protocol_layer::scanner_events</name>
    <filename>namespacepsen__scan__v2__standalone_1_1protocol__layer_1_1scanner__events.html</filename>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::MonitoringFrameReceivedError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::MonitoringFrameTimeout</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::RawMonitoringFrameReceived</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::RawReplyReceived</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::ReplyReceiveError</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::StartRequest</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::StartTimeout</class>
    <class kind="class">psen_scan_v2_standalone::protocol_layer::scanner_events::StopRequest</class>
  </compound>
  <compound kind="namespace">
    <name>psen_scan_v2_standalone::util</name>
    <filename>namespacepsen__scan__v2__standalone_1_1util.html</filename>
    <class kind="class">psen_scan_v2_standalone::util::Barrier</class>
    <class kind="class">psen_scan_v2_standalone::util::TenthOfDegree</class>
    <class kind="class">psen_scan_v2_standalone::util::Watchdog</class>
    <member kind="function">
      <type>uint16_t</type>
      <name>convertPort</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1util.html</anchorfile>
      <anchor>a84408983c8110350f5daefe5f2e0c8be</anchor>
      <arglist>(const int &amp;port)</arglist>
    </member>
    <member kind="function">
      <type>std::string</type>
      <name>formatRange</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1util.html</anchorfile>
      <anchor>a120a34b7a3d930f36248992b111449ac</anchor>
      <arglist>(const T &amp;range)</arglist>
    </member>
    <member kind="function" static="yes">
      <type>static auto</type>
      <name>getCurrentTime</name>
      <anchorfile>namespacepsen__scan__v2__standalone_1_1util.html</anchorfile>
      <anchor>a8813aade6ea63ecde35953a2846ad601</anchor>
      <arglist>()</arglist>
    </member>
  </compound>
  <compound kind="page">
    <name>md_README</name>
    <title>README</title>
    <filename>md_README</filename>
  </compound>
  <compound kind="page">
    <name>md_standalone_README</name>
    <title>README</title>
    <filename>md_standalone_README</filename>
  </compound>
  <compound kind="page">
    <name>index</name>
    <title>PSENscan software architecture</title>
    <filename>index</filename>
  </compound>
</tagfile>
