Go to the documentation of this file.
20 #include <fmt/format.h>
21 #include <fmt/ostream.h>
36 const uint32_t scan_counter,
37 const uint8_t active_zoneset,
38 const int64_t timestamp,
40 : resolution_(resolution)
41 , min_scan_angle_(min_scan_angle)
42 , max_scan_angle_(max_scan_angle)
43 , scan_counter_(scan_counter)
44 , active_zoneset_(active_zoneset)
45 , timestamp_(timestamp)
46 , scanner_id_(scanner_id)
50 throw std::invalid_argument(
"Resolution must not be 0");
55 throw std::invalid_argument(
"Resolution out of possible angle range");
60 throw std::invalid_argument(
"Attention: Start angle has to be smaller or equal to the end angle!");
205 os << fmt::format(
"LaserScan(timestamp = {} nsec, scanCounter = {}, minScanAngle = {} deg, maxScanAngle = {} deg, "
206 "resolution = {} deg, active_zoneset = {}, measurements = {}, intensities = {}, io_states = {})",
const util::TenthOfDegree & maxScanAngle() const
const int64_t timestamp_
Time of the first ray in this scan round (or fragment if fragmented_scans is enabled).
const util::TenthOfDegree min_scan_angle_
Lowest angle the scanner is scanning.
const util::TenthOfDegree resolution_
Distance of angle between the measurements.
configuration::ScannerId scannerId() const
const util::TenthOfDegree max_scan_angle_
Highest angle the scanner is scanning.
void setIOStates(const IOData &io_states)
configuration::ScannerId scanner_id_
distinction between master and subscribers
static const util::TenthOfDegree MAX_X_AXIS_ROTATION
uint32_t scanCounter() const
LaserScan(const util::TenthOfDegree &resolution, const util::TenthOfDegree &min_scan_angle, const util::TenthOfDegree &max_scan_angle, const uint32_t scan_counter, const uint8_t active_zoneset, const int64_t timestamp, const configuration::ScannerId scanner_id)
std::vector< double > MeasurementData
int64_t getTimestamp() const
const IOData & ioStates() const
const MeasurementData & getMeasurements() const
const util::TenthOfDegree & getMinScanAngle() const
const uint32_t scan_counter_
Number of the scan round this data belongs to.
std::vector< IOState > IOData
void setIntensities(const IntensityData &intensities)
constexpr int16_t value() const
const uint8_t active_zoneset_
The currently active zoneset of the scanner.
uint32_t getScanCounter() const
IntensityData intensities_
Stores the received normalized signal intensities.
const util::TenthOfDegree & scanResolution() const
MeasurementData measurements_
Measurement data of the laserscan (in Millimeters).
uint8_t getActiveZoneset() const
void setMeasurements(const MeasurementData &measurements)
std::string formatRange(const T &range)
const IntensityData & intensities() const
IOData io_states_
States of the I/O pins.
int64_t timestamp() const
This class represents a single laser scan in the <tf_prefix> target frame.
Root namespace in which the software components to communicate with the scanner (firmware-version: 2)...
const util::TenthOfDegree & getScanResolution() const
const util::TenthOfDegree & getMaxScanAngle() const
const MeasurementData & measurements() const
const IntensityData & getIntensities() const
uint8_t activeZoneset() const
std::ostream & operator<<(std::ostream &os, const PinState &pin_state)
Helper class representing angles in tenth of degree.
std::vector< double > IntensityData
const util::TenthOfDegree & minScanAngle() const
const IOData & getIOStates() const
psen_scan_v2
Author(s): Pilz GmbH + Co. KG
autogenerated on Sat Jun 22 2024 02:46:11