00001 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*- 00002 00003 // -- BEGIN LICENSE BLOCK ---------------------------------------------- 00004 00024 // -- END LICENSE BLOCK ------------------------------------------------ 00025 00026 //---------------------------------------------------------------------- 00033 //---------------------------------------------------------------------- 00034 00035 #ifndef SICK_SAFETYSCANNERS_DATASTRUCTURE_TYPECODE_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_TYPECODE_H 00037 00038 #include <iostream> 00039 00040 00041 namespace sick { 00042 namespace datastructure { 00043 00044 enum e_interface_type 00045 { 00046 E_EFIPRO, 00047 E_ETHERNET_IP, 00048 E_PROFINET, 00049 E_NONSAFE_ETHERNET 00050 }; 00051 00052 enum e_ranges 00053 { 00054 E_NORMAL_RANGE = 40, 00055 E_LONG_RANGE = 64 00056 }; 00057 00058 00062 class TypeCode 00063 { 00064 public: 00068 TypeCode(); 00074 uint8_t getInterfaceType() const; 00080 void setInterfaceType(uint8_t interface_type); 00081 00087 float getMaxRange() const; 00093 void setMaxRange(float max_distance); 00094 00095 private: 00096 uint8_t m_interface_type; 00097 float m_max_range; 00098 }; 00099 00100 00101 } // namespace datastructure 00102 } // namespace sick 00103 00104 #endif // SICK_SAFETYSCANNERS_DATASTRUCTURE_TYPECODE_H