Classes | Typedefs | Enumerations | Functions | Variables
psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic Namespace Reference

Contains all types, etc. needed to describe the diagnostics information contained in a data_conversion_layer::monitoring_frame::Message. More...

Classes

class  ErrorLocation
 Defines a byte and bit position of an error in the diagnostic chunk. More...
 
class  Message
 Defines an Diagnostic message by defining the ErrorLocation and a scanner ID. More...
 

Typedefs

using ErrorMessage = std::string
 
using Et = ErrorType
 
using RawChunk = std::array< uint8_t, diagnostic::RAW_CHUNK_LENGTH_IN_BYTES >
 

Enumerations

enum  ErrorType {
  ErrorType::ossd1_oc, ErrorType::ossd_shrt_c, ErrorType::ossd_integr, ErrorType::intern,
  ErrorType::win_cln_al, ErrorType::power_supply, ErrorType::netw_prb, ErrorType::dust_crc_fl,
  ErrorType::ossd2_overcur, ErrorType::meas_prob, ErrorType::incoherence, ErrorType::zone_inval_trans,
  ErrorType::zone_invalid_conf, ErrorType::win_cln_warn, ErrorType::int_com_prb, ErrorType::generic_err,
  ErrorType::disp_com_prb, ErrorType::temp_meas_prob, ErrorType::encod_oor, ErrorType::edm2_err,
  ErrorType::edm1_err, ErrorType::conf_err, ErrorType::out_of_range_err, ErrorType::temp_range_err,
  ErrorType::encoder_generic_err, ErrorType::unused
}
 

Functions

std::vector< diagnostic::MessagedeserializeMessages (std::istream &is)
 
bool isAmbiguous (const ErrorType &code)
 
std::ostream & operator<< (std::ostream &os, const diagnostic::Message &msg)
 

Variables

static const std::set< EtAMBIGUOUS_DIAGNOSTIC_CODES = { Et::unused, Et::intern }
 
static constexpr std::array< std::array< ErrorType, 8 >, 9 > ERROR_BITS
 
static const std::map< ErrorType, ErrorMessageERROR_CODE_TO_STRING
 
static constexpr uint32_t RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES { 9 }
 Contains constants and types needed to define the diagnostic::Message. More...
 
static constexpr uint32_t RAW_CHUNK_LENGTH_IN_BYTES
 
static constexpr uint32_t RAW_CHUNK_UNUSED_OFFSET_IN_BYTES { 4 }
 

Detailed Description

Contains all types, etc. needed to describe the diagnostics information contained in a data_conversion_layer::monitoring_frame::Message.

Typedef Documentation

◆ ErrorMessage

Definition at line 86 of file diagnostics.h.

◆ Et

Definition at line 85 of file diagnostics.h.

◆ RawChunk

Definition at line 51 of file diagnostics.h.

Enumeration Type Documentation

◆ ErrorType

Enumerator
ossd1_oc 
ossd_shrt_c 
ossd_integr 
intern 
win_cln_al 
power_supply 
netw_prb 
dust_crc_fl 
ossd2_overcur 
meas_prob 
incoherence 
zone_inval_trans 
zone_invalid_conf 
win_cln_warn 
int_com_prb 
generic_err 
disp_com_prb 
temp_meas_prob 
encod_oor 
edm2_err 
edm1_err 
conf_err 
out_of_range_err 
temp_range_err 
encoder_generic_err 
unused 

Definition at line 53 of file diagnostics.h.

Function Documentation

◆ deserializeMessages()

std::vector< diagnostic::Message > psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::deserializeMessages ( std::istream &  is)

Definition at line 204 of file monitoring_frame_deserialization.cpp.

◆ isAmbiguous()

bool psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::isAmbiguous ( const ErrorType code)
inline

Definition at line 223 of file diagnostics.h.

◆ operator<<()

std::ostream & psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::operator<< ( std::ostream &  os,
const diagnostic::Message msg 
)

Definition at line 31 of file diagnostics.cpp.

Variable Documentation

◆ AMBIGUOUS_DIAGNOSTIC_CODES

const std::set<Et> psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::AMBIGUOUS_DIAGNOSTIC_CODES = { Et::unused, Et::intern }
static

Definition at line 221 of file diagnostics.h.

◆ ERROR_BITS

constexpr std::array<std::array<ErrorType, 8>, 9> psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::ERROR_BITS
staticconstexpr
Initial value:
{{
{ REV(Et::ossd1_oc, Et::ossd_shrt_c, Et::ossd_integr, Et::intern, Et::intern, Et::intern, Et::intern, Et::intern) },
{ REV(Et::win_cln_al, Et::power_supply, Et::netw_prb, Et::dust_crc_fl, Et::intern, Et::intern, Et::unused, Et::ossd2_overcur) },
{ REV(Et::meas_prob, Et::intern, Et::intern, Et::intern, Et::incoherence, Et::zone_inval_trans, Et::zone_invalid_conf, Et::win_cln_warn) },
{ REV(Et::intern, Et::intern, Et::intern, Et::generic_err, Et::disp_com_prb, Et::intern, Et::intern, Et::temp_meas_prob) },
{ REV(Et::intern, Et::intern, Et::edm2_err, Et::edm1_err, Et::conf_err, Et::out_of_range_err, Et::temp_range_err, Et::intern) },
{ REV(Et::unused, Et::unused, Et::unused, Et::unused, Et::intern, Et::intern, Et::encoder_generic_err, Et::encod_oor) },
{ REV(Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused) },
{ REV(Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused) },
{ REV(Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused, Et::unused) },
}}

Definition at line 123 of file diagnostics.h.

◆ ERROR_CODE_TO_STRING

const std::map<ErrorType, ErrorMessage> psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::ERROR_CODE_TO_STRING
static
Initial value:
{
{ Et::ossd1_oc, "OSSD1 Overcurrent / Short circuit." },
{ Et::ossd_shrt_c, "Short circuit between at least two OSSDs." },
{ Et::ossd_integr, "OSSDF1: An error has occurred when testing the OSSDs." },
{ Et::intern, "Internal error." },
{ Et::win_cln_al, "Alarm: The front panel of the safety laser scanner must be cleaned." },
{ Et::power_supply, "Power supply problem." },
{ Et::netw_prb, "Network problem." },
{ Et::dust_crc_fl, "Dust circuit failure" },
{ Et::ossd2_overcur, "OSSD2 Overcurrent / Short circuit." },
{ Et::meas_prob, "Measurement Problem." },
{ Et::incoherence, "Incoherence Error" },
{ Et::zone_inval_trans, "INPUTCF2: Configuration error. - "
"In the configuration, check the configured state transitions and switching operations." },
{ Et::zone_invalid_conf, "INPUTCF1: Error in the configuration or the wiring. - "
"Check whether the wiring and the configuration will match." },
{ Et::win_cln_warn, "Warning: The front panel of the safety laser scanner must be cleaned." },
{ Et::generic_err, "Generic Error." },
{ Et::disp_com_prb, "Display communication problem." },
{ Et::temp_meas_prob, "Temperature measurement problem." },
{ Et::encod_oor, "Encoder: Out of range." },
{ Et::edm2_err, "EDM2: Error in the External Device Monitoring." },
{ Et::edm1_err, "EDM1: Error in the External Device Monitoring." },
{ Et::conf_err, "WAITING_CONF: The safety laser scanner waits for a configuration (e.g. after restoring a configuration). - "
"Configure the safety laser scanner." },
{ Et::out_of_range_err, "Out of range error." },
{ Et::temp_range_err, "Temperature out of range." },
{ Et::encoder_generic_err, "Encoder: Generic error." },
{ Et::unused, "Unexpected error" }
}

Definition at line 89 of file diagnostics.h.

◆ RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES

constexpr uint32_t psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES { 9 }
staticconstexpr

Contains constants and types needed to define the diagnostic::Message.

Definition at line 45 of file diagnostics.h.

◆ RAW_CHUNK_LENGTH_IN_BYTES

constexpr uint32_t psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::RAW_CHUNK_LENGTH_IN_BYTES
staticconstexpr

◆ RAW_CHUNK_UNUSED_OFFSET_IN_BYTES

constexpr uint32_t psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::RAW_CHUNK_UNUSED_OFFSET_IN_BYTES { 4 }
staticconstexpr

Definition at line 46 of file diagnostics.h.

psen_scan_v2_standalone::configuration::VALID_SCANNER_IDS
static constexpr std::array< ScannerId, 4 > VALID_SCANNER_IDS
Definition: scanner_ids.h:35
psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::RAW_CHUNK_UNUSED_OFFSET_IN_BYTES
static constexpr uint32_t RAW_CHUNK_UNUSED_OFFSET_IN_BYTES
Definition: diagnostics.h:46
REV
#define REV(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
Definition: diagnostics.h:121
psen_scan_v2_standalone::data_conversion_layer::monitoring_frame::diagnostic::RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES
static constexpr uint32_t RAW_CHUNK_LENGTH_FOR_ONE_DEVICE_IN_BYTES
Contains constants and types needed to define the diagnostic::Message.
Definition: diagnostics.h:45


psen_scan_v2
Author(s): Pilz GmbH + Co. KG
autogenerated on Sat Nov 25 2023 03:46:26