Classes | Typedefs | Functions | Variables
psen_scan Namespace Reference

Classes

class  BuildROSMessageException
 
class  CoherentMonitoringFramesException
 
class  DecryptPasswordException
 
class  Degree
 Class to model angles in degrees from user's perspective. More...
 
struct  DiagnosticArea
 DiagnosticArea Field for MonitoringFrame. More...
 
struct  DiagnosticInformation
 DiagnosticInformation Bitfield for DiagnosticArea. More...
 
class  DiagnosticInformationException
 
class  FetchMonitoringFrameException
 
class  GetROSParameterException
 
struct  InputStateArea
 InputStateArea Field for MonitoringFrame. More...
 
struct  LaserScan
 Class to hold the data for one laserscan without depencies to ROS. More...
 
struct  LogicalInputs
 Logical Inputs Field for InputStateArea. More...
 
struct  MonitoringFrame
 MonitoringFrame as coming from Laserscanner. More...
 
struct  OutputStateArea
 OutputStateArea Field for MonitoringFrame. More...
 
class  ParseMonitoringFrameException
 
struct  PhysicalInputs
 Physical Inputs Field for InputStateArea. More...
 
class  PSENScanFatalException
 
class  PSENscanInternalAngle
 Class to model angles in PSENscan internal format (tenth of degrees) More...
 
class  PSENscanUDPInterface
 Class for the UDP communication with the scanner. More...
 
class  RosParameterHandler
 Class for getting ROS-Parameters from the parameter-server. More...
 
class  ROSScannerNode
 Class implements a ROS-Node for the PSENscan safety laser scanner. More...
 
class  Scanner
 Class for Modeling a PSENscan safety laser scanner. More...
 
class  ScannerCloseFailed
 
class  ScannerCommunicationInterface
 Abstract base class for the communication interface with the PSENscan scanner. More...
 
class  ScannerOpenFailed
 
class  ScannerReadFailed
 
class  ScannerReadTimeout
 
class  ScannerWriteFailed
 
struct  StartMonitoringFrame
 Frame containing all necessary fields for a Start Monitoring Command. More...
 
struct  StopMonitoringFrame
 Frame containing all necessary fields for a Stop Monitoring Command. More...
 
class  UDPReadTimeoutException
 
class  vScanner
 

Typedefs

typedef struct psen_scan::DiagnosticArea DiagnosticArea
 DiagnosticArea Field for MonitoringFrame. More...
 
typedef struct psen_scan::DiagnosticInformation DiagnosticInformation
 DiagnosticInformation Bitfield for DiagnosticArea. More...
 
typedef struct psen_scan::InputStateArea InputStateArea
 InputStateArea Field for MonitoringFrame. More...
 
typedef struct psen_scan::LaserScan LaserScan
 Class to hold the data for one laserscan without depencies to ROS. More...
 
typedef struct psen_scan::LogicalInputs LogicalInputs
 Logical Inputs Field for InputStateArea. More...
 
typedef struct psen_scan::MonitoringFrame MonitoringFrame
 MonitoringFrame as coming from Laserscanner. More...
 
typedef struct psen_scan::OutputStateArea OutputStateArea
 OutputStateArea Field for MonitoringFrame. More...
 
typedef struct psen_scan::PhysicalInputs PhysicalInputs
 Physical Inputs Field for InputStateArea. More...
 
typedef struct psen_scan::StartMonitoringFrame StartMonitoringFrame
 Frame containing all necessary fields for a Start Monitoring Command. More...
 
typedef struct psen_scan::StopMonitoringFrame StopMonitoringFrame
 Frame containing all necessary fields for a Stop Monitoring Command. More...
 

Functions

static const PSENscanInternalAngle DEFAULT_ANGLE_END (2750)
 
static const PSENscanInternalAngle DEFAULT_ANGLE_START (0)
 
static const Degree DEFAULT_X_AXIS_ROTATION (137.5)
 
double degToRad (const Degree &deg)
 Convert angle in deg to rad. More...
 
bool isValidIpAddress (const char *ipAddress)
 
PSENscanInternalAngle const MAX_SCAN_ANGLE (2750)
 
static const Degree MAX_X_AXIS_ROTATION (360.0)
 
PSENscanInternalAngle const MIN_SCAN_ANGLE (0)
 
static const Degree MIN_X_AXIS_ROTATION (-360.0)
 
std::ostream & operator<< (std::ostream &os, const Degree &deg)
 Define how Degree should behave with stream operator. More...
 
std::ostream & operator<< (std::ostream &os, const PSENscanInternalAngle &deg)
 Define how PSENscanInternalAngle should behave with stream operator. More...
 

Variables

static const std::string DEFAULT_FRAME_ID = "scanner"
 
static const std::string DEFAULT_PUBLISH_TOPIC = "scan"
 
static const uint16_t DEFAULT_SKIP = 0
 
uint16_t const MAX_NUMBER_OF_SAMPLES = 550
 
constexpr std::chrono::seconds MIN_FETCH_FRAME_TIMEOUT { std::chrono::seconds(1) }
 
uint32_t const MONITORING_FRAME_OPCODE = 0xC9
 
uint16_t const NUMBER_OF_SAMPLES_FULL_SCAN_MASTER = 2750
 
unsigned short const PSEN_SCAN_PORT_READ = 2000
 
unsigned short const PSEN_SCAN_PORT_WRITE = 3000
 
double const SCAN_TIME = 0.03
 
uint64_t const START_MONITORING_FIXED_SEQUENCE = 0x0000000100000001
 Fixed sequence for StartMonitoring Frame. More...
 
uint32_t const START_MONITORING_OPCODE = htole32(9)
 Opcode for StartMonitoring Frame. More...
 
uint32_t const STOP_MONITORING_OPCODE = htole32(18)
 Opcode for StopMonitoring Frame. More...
 
static const uint64_t TIMEOUT_LOOP_SLEEP_DURATION_MS = 5
 

Typedef Documentation

◆ DiagnosticArea

◆ DiagnosticInformation

◆ InputStateArea

◆ LaserScan

Class to hold the data for one laserscan without depencies to ROS.

◆ LogicalInputs

Logical Inputs Field for InputStateArea.

◆ MonitoringFrame

MonitoringFrame as coming from Laserscanner.

◆ OutputStateArea

◆ PhysicalInputs

Physical Inputs Field for InputStateArea.

◆ StartMonitoringFrame

Frame containing all necessary fields for a Start Monitoring Command.

◆ StopMonitoringFrame

Frame containing all necessary fields for a Stop Monitoring Command.

Function Documentation

◆ DEFAULT_ANGLE_END()

static const PSENscanInternalAngle psen_scan::DEFAULT_ANGLE_END ( 2750  )
static

End angle of measurement

◆ DEFAULT_ANGLE_START()

static const PSENscanInternalAngle psen_scan::DEFAULT_ANGLE_START ( )
static

Start angle of measurement

◆ DEFAULT_X_AXIS_ROTATION()

static const Degree psen_scan::DEFAULT_X_AXIS_ROTATION ( 137.  5)
static

Rotation of x-axis around the center.

◆ degToRad()

double psen_scan::degToRad ( const Degree deg)

Convert angle in deg to rad.

Parameters
degangle in degree
Returns
double, angle in rad

Definition at line 58 of file ros_scanner_node.cpp.

◆ isValidIpAddress()

bool psen_scan::isValidIpAddress ( const char *  ipAddress)

Definition at line 33 of file scanner.cpp.

◆ MAX_SCAN_ANGLE()

PSENscanInternalAngle const psen_scan::MAX_SCAN_ANGLE ( 2750  )

Highest scan angle in tenth of degree

◆ MAX_X_AXIS_ROTATION()

static const Degree psen_scan::MAX_X_AXIS_ROTATION ( 360.  0)
static

Maximum value for x-axis-rotation parameter

◆ MIN_SCAN_ANGLE()

PSENscanInternalAngle const psen_scan::MIN_SCAN_ANGLE ( )

Lowest scan angle in tenth of degree

◆ MIN_X_AXIS_ROTATION()

static const Degree psen_scan::MIN_X_AXIS_ROTATION ( -360.  0)
static

Minimum value for x-axis-rotation parameter

◆ operator<<() [1/2]

std::ostream& psen_scan::operator<< ( std::ostream &  os,
const Degree deg 
)

Define how Degree should behave with stream operator.

Parameters
osOutput Stream
degDegree
Returns
std::ostream& Reference to Output Stream

Definition at line 160 of file psen_scan_internal_angle.cpp.

◆ operator<<() [2/2]

std::ostream& psen_scan::operator<< ( std::ostream &  os,
const PSENscanInternalAngle deg 
)

Define how PSENscanInternalAngle should behave with stream operator.

Parameters
osOutput Stream
degPSENscanInternalAngle
Returns
std::ostream& Reference to Output Stream

Definition at line 342 of file psen_scan_internal_angle.cpp.

Variable Documentation

◆ DEFAULT_FRAME_ID

const std::string psen_scan::DEFAULT_FRAME_ID = "scanner"
static

ROS Frame ID

Definition at line 25 of file default_parameters.h.

◆ DEFAULT_PUBLISH_TOPIC

const std::string psen_scan::DEFAULT_PUBLISH_TOPIC = "scan"
static

Topic to publish LaserScan data on

Definition at line 32 of file default_parameters.h.

◆ DEFAULT_SKIP

const uint16_t psen_scan::DEFAULT_SKIP = 0
static

How many incoming frames should be skipped (reduces publish rate)

Definition at line 26 of file default_parameters.h.

◆ MAX_NUMBER_OF_SAMPLES

uint16_t const psen_scan::MAX_NUMBER_OF_SAMPLES = 550

Maximum number of samples per UDP message from Laserscanner

Definition at line 51 of file scanner_data.h.

◆ MIN_FETCH_FRAME_TIMEOUT

constexpr std::chrono::seconds psen_scan::MIN_FETCH_FRAME_TIMEOUT { std::chrono::seconds(1) }

Definition at line 31 of file scanner.cpp.

◆ MONITORING_FRAME_OPCODE

uint32_t const psen_scan::MONITORING_FRAME_OPCODE = 0xC9

Constant 0xC9. Byte order: little endian

Definition at line 50 of file scanner_data.h.

◆ NUMBER_OF_SAMPLES_FULL_SCAN_MASTER

uint16_t const psen_scan::NUMBER_OF_SAMPLES_FULL_SCAN_MASTER = 2750

Number of samples for complete scan for master scanner

Definition at line 56 of file scanner_data.h.

◆ PSEN_SCAN_PORT_READ

unsigned short const psen_scan::PSEN_SCAN_PORT_READ = 2000

Port from which Laserscanner sends messages

Definition at line 53 of file scanner_data.h.

◆ PSEN_SCAN_PORT_WRITE

unsigned short const psen_scan::PSEN_SCAN_PORT_WRITE = 3000

Port on which Laserscanner expects messages

Definition at line 52 of file scanner_data.h.

◆ SCAN_TIME

double const psen_scan::SCAN_TIME = 0.03

Time per scan in seconds

Definition at line 57 of file scanner_data.h.

◆ START_MONITORING_FIXED_SEQUENCE

uint64_t const psen_scan::START_MONITORING_FIXED_SEQUENCE = 0x0000000100000001

Fixed sequence for StartMonitoring Frame.

Byte sequence 1-0-0-0-1-0-0-0

Definition at line 40 of file scanner_data.h.

◆ START_MONITORING_OPCODE

uint32_t const psen_scan::START_MONITORING_OPCODE = htole32(9)

Opcode for StartMonitoring Frame.

0x09 as 32bit Little Endian

Definition at line 32 of file scanner_data.h.

◆ STOP_MONITORING_OPCODE

uint32_t const psen_scan::STOP_MONITORING_OPCODE = htole32(18)

Opcode for StopMonitoring Frame.

0x12 as 32bit Little Endian

Definition at line 48 of file scanner_data.h.

◆ TIMEOUT_LOOP_SLEEP_DURATION_MS

const uint64_t psen_scan::TIMEOUT_LOOP_SLEEP_DURATION_MS = 5
static

Definition at line 26 of file psen_scan_udp_interface.cpp.



psen_scan
Author(s):
autogenerated on Mon Feb 28 2022 23:16:20