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 00036 #ifndef SICK_SAFETYSCANNERS_COLA2_CHANGECOMMSETTINGSCOMMAND_H 00037 #define SICK_SAFETYSCANNERS_COLA2_CHANGECOMMSETTINGSCOMMAND_H 00038 00039 00040 #include <sick_safetyscanners/cola2/MethodCommand.h> 00041 #include <sick_safetyscanners/datastructure/CommSettings.h> 00042 00043 namespace sick { 00044 namespace cola2 { 00045 00046 00051 class ChangeCommSettingsCommand : public MethodCommand 00052 { 00053 public: 00057 typedef sick::cola2::MethodCommand base_class; 00058 00067 ChangeCommSettingsCommand(Cola2Session& session, const datastructure::CommSettings& settings); 00068 00069 00075 void addTelegramData(sick::datastructure::PacketBuffer::VectorBuffer& telegram) const; 00076 00077 00084 bool canBeExecutedWithoutSessionID() const; 00085 00086 00093 bool processReply(); 00094 00095 00096 private: 00097 std::shared_ptr<sick::data_processing::ReadWriteHelper> m_writer_ptr; 00098 sick::datastructure::CommSettings m_settings; 00099 00100 uint8_t* 00101 prepareTelegramAndGetDataPtr(sick::datastructure::PacketBuffer::VectorBuffer& telegram) const; 00102 void writeDataToDataPtr(uint8_t*& data_ptr) const; 00103 void writeChannelToDataPtr(uint8_t*& data_ptr) const; 00104 void writeEnabledToDataPtr(uint8_t*& data_ptr) const; 00105 void writeEInterfaceTypeToDataPtr(uint8_t*& data_ptr) const; 00106 void writeIPAddresstoDataPtr(uint8_t*& data_ptr) const; 00107 void writePortToDataPtr(uint8_t*& data_ptr) const; 00108 void writeFrequencyToDataPtr(uint8_t*& data_ptr) const; 00109 void writeStartAngleToDataPtr(uint8_t*& data_ptr) const; 00110 void writeEndAngleToDataPtr(uint8_t*& data_ptr) const; 00111 void writeFeaturesToDataPtr(uint8_t*& data_ptr) const; 00112 }; 00113 00114 } // namespace cola2 00115 } // namespace sick 00116 00117 #endif // SICK_SAFETYSCANNERS_COLA2_CHANGECOMMSETTINGSCOMMAND_H