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_APPLICATIONINPUTS_H 00036 #define SICK_SAFETYSCANNERS_DATASTRUCTURE_APPLICATIONINPUTS_H 00037 00038 #include <stdint.h> 00039 #include <vector> 00040 00041 namespace sick { 00042 namespace datastructure { 00043 00047 class ApplicationInputs 00048 { 00049 public: 00053 ApplicationInputs(); 00054 00063 std::vector<bool> getUnsafeInputsInputSourcesVector() const; 00064 void 00070 setUnsafeInputsInputSourcesVector(const std::vector<bool>& unsafe_inputs_input_sources_vector); 00071 00081 std::vector<bool> getUnsafeInputsFlagsVector() const; 00087 void setUnsafeInputsFlagsVector(const std::vector<bool>& unsafe_inputs_flags_vector); 00088 00094 std::vector<uint16_t> getMonitoringCasevector() const; 00100 void setMonitoringCaseVector(const std::vector<uint16_t>& monitoring_case_vector); 00101 00107 std::vector<bool> getMonitoringCaseFlagsVector() const; 00113 void setMonitoringCaseFlagsVector(const std::vector<bool>& monitoring_case_flags_vector); 00114 00120 int16_t getVelocity0() const; 00126 void setVelocity0(const int16_t& velocity_0); 00127 00133 int16_t getVelocity1() const; 00139 void setVelocity1(const int16_t& velocity_1); 00140 00146 bool getVelocity0Valid() const; 00152 void setVelocity0Valid(bool velocity_0_valid); 00153 00159 bool getVelocity1Valid() const; 00165 void setVelocity1Valid(bool velocity_1_valid); 00166 00172 bool getVelocity0TransmittedSafely() const; 00178 void setVelocity0TransmittedSafely(bool velocity_0_transmitted_safely); 00179 00185 bool getVelocity1TransmittedSafely() const; 00191 void setVelocity1TransmittedSafely(bool velocity_1_transmitted_safely); 00192 00198 int8_t getSleepModeInput() const; 00204 void setSleepModeInput(const int8_t& sleep_mode_input); 00205 00206 private: 00207 std::vector<bool> m_unsafe_inputs_input_sources_vector; 00208 std::vector<bool> m_unsafe_inputs_flags_vector; 00209 00210 std::vector<uint16_t> m_monitoring_case_vector; 00211 std::vector<bool> m_monitoring_case_flags_vector; 00212 00213 int16_t m_velocity_0; 00214 int16_t m_velocity_1; 00215 00216 bool m_velocity_0_valid; 00217 bool m_velocity_1_valid; 00218 bool m_velocity_0_transmitted_safely; 00219 bool m_velocity_1_transmitted_safely; 00220 00221 int8_t m_sleep_mode_input; 00222 }; 00223 00224 } // namespace datastructure 00225 } // namespace sick 00226 00227 #endif // SICK_SAFETYSCANNERS_DATASTRUCTURE_APPLICATIONINPUTS_H