ChangeCommSettingsCommand.cpp
Go to the documentation of this file.
1 // this is for emacs file handling -*- mode: c++; indent-tabs-mode: nil -*-
2 
3 // -- BEGIN LICENSE BLOCK ----------------------------------------------
4 
24 // -- END LICENSE BLOCK ------------------------------------------------
25 
26 //----------------------------------------------------------------------
33 //----------------------------------------------------------------------
34 
35 
37 
40 
41 namespace sick {
42 namespace cola2 {
43 
45  Cola2Session& session, const sick::datastructure::CommSettings& settings)
46  : MethodCommand(session, 0x00b0)
47  , m_settings(settings)
48 {
49 }
50 
51 std::vector<uint8_t>
52 ChangeCommSettingsCommand::addTelegramData(const std::vector<uint8_t>& telegram) const
53 {
54  auto base_output = base_class::addTelegramData(telegram);
55  size_t base_length = base_output.size();
56  auto output = expandTelegram(base_output, 28);
57 
58  // Add new values after telegram
59  const auto new_data_offset_it = output.begin() + base_length + telegram.size();
60 
61  writeDataToDataPtr(new_data_offset_it);
62 
63  return output;
64 }
65 
66 void ChangeCommSettingsCommand::writeDataToDataPtr(std::vector<uint8_t>::iterator data_ptr) const
67 {
68  writeChannelToDataPtr(data_ptr);
69  writeEnabledToDataPtr(data_ptr);
71  writeIPAddresstoDataPtr(data_ptr);
72  writePortToDataPtr(data_ptr);
73  writeFrequencyToDataPtr(data_ptr);
74  writeStartAngleToDataPtr(data_ptr);
75  writeEndAngleToDataPtr(data_ptr);
76  writeFeaturesToDataPtr(data_ptr);
77 }
78 
80 {
81  return true;
82 }
83 
85 {
86  return (!base_class::processReply());
87 }
88 
89 void ChangeCommSettingsCommand::writeChannelToDataPtr(std::vector<uint8_t>::iterator data_ptr) const
90 {
92 }
93 
94 void ChangeCommSettingsCommand::writeEnabledToDataPtr(std::vector<uint8_t>::iterator data_ptr) const
95 {
97  static_cast<uint8_t>(m_settings.getEnabled()));
98 }
99 
101  std::vector<uint8_t>::iterator data_ptr) const
102 {
104 }
105 
107  std::vector<uint8_t>::iterator data_ptr) const
108 {
110 }
111 
112 void ChangeCommSettingsCommand::writePortToDataPtr(std::vector<uint8_t>::iterator data_ptr) const
113 {
115 }
116 
118  std::vector<uint8_t>::iterator data_ptr) const
119 {
121 }
122 
124  std::vector<uint8_t>::iterator data_ptr) const
125 {
127 }
128 
130  std::vector<uint8_t>::iterator data_ptr) const
131 {
133 }
134 
136  std::vector<uint8_t>::iterator data_ptr) const
137 {
139 }
140 
141 
142 } // namespace cola2
143 } // namespace sick
sick::datastructure::CommSettings::getFeatures
uint16_t getFeatures() const
Gets the enabled features.
Definition: CommSettings.cpp:127
sick::datastructure::CommSettings::getPublishingFrequency
uint16_t getPublishingFrequency() const
Gets the publishing frequency.
Definition: CommSettings.cpp:97
sick::cola2::MethodCommand::processReply
bool processReply()
Processes the return from the sensor.
Definition: MethodCommand.cpp:63
sick
Definition: ApplicationNameVariableCommand.h:43
sick::cola2::ChangeCommSettingsCommand::writeStartAngleToDataPtr
void writeStartAngleToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:123
sick::cola2::ChangeCommSettingsCommand::writeEndAngleToDataPtr
void writeEndAngleToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:129
sick::datastructure::CommSettings
Containing the communication settings for the sensor which can be changed on runtime.
Definition: CommSettings.h:48
sick::datastructure::CommSettings::getEnabled
bool getEnabled() const
Gets if the channel is enabled.
Definition: CommSettings.cpp:77
Command.h
sick::cola2::ChangeCommSettingsCommand::ChangeCommSettingsCommand
ChangeCommSettingsCommand(Cola2Session &session, const datastructure::CommSettings &settings)
Constructor of the Command, takes the current session and the new set of parameters for the sensor.
Definition: ChangeCommSettingsCommand.cpp:44
sick::cola2::ChangeCommSettingsCommand::canBeExecutedWithoutSessionID
bool canBeExecutedWithoutSessionID() const
Returns if the command can be executed without a session ID. Will return false for most commands exce...
Definition: ChangeCommSettingsCommand.cpp:79
sick::cola2::Cola2Session
Establishes a cola2 session with a sensor and enables execution of commands in this session.
Definition: Cola2Session.h:72
sick::read_write_helper::writeUint16LittleEndian
void writeUint16LittleEndian(std::vector< uint8_t >::iterator it, const uint16_t v)
Writes an unsigned 16-bit integer to a buffer at offset in little endian encoding.
Definition: ReadWriteHelper.hpp:138
sick::read_write_helper::writeUint32LittleEndian
void writeUint32LittleEndian(std::vector< uint8_t >::iterator it, const uint32_t v)
Writes an unsigned 32-bit integer to a buffer at offset in little endian encoding.
Definition: ReadWriteHelper.hpp:167
sick::datastructure::CommSettings::getHostUdpPort
uint16_t getHostUdpPort() const
Gets the host udp port.
Definition: CommSettings.cpp:57
sick::cola2::ChangeCommSettingsCommand::writeDataToDataPtr
void writeDataToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:66
sick::datastructure::CommSettings::getEndAngle
int32_t getEndAngle() const
Gets the end angle of the scan.
Definition: CommSettings.cpp:117
ChangeCommSettingsCommand.h
sick::cola2::ChangeCommSettingsCommand::writeEnabledToDataPtr
void writeEnabledToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:94
Cola2Session.h
sick::cola2::ChangeCommSettingsCommand::processReply
bool processReply()
Processes the return from the sensor. Checks if the method was acknowledged by the sensor.
Definition: ChangeCommSettingsCommand.cpp:84
sick::cola2::ChangeCommSettingsCommand::m_settings
sick::datastructure::CommSettings m_settings
Definition: ChangeCommSettingsCommand.h:98
sick::read_write_helper::writeUint8LittleEndian
void writeUint8LittleEndian(std::vector< uint8_t >::iterator it, const uint8_t v)
Writes an unsigned 8-bit integer to a buffer at offset in little endian encoding.
Definition: ReadWriteHelper.hpp:77
sick::cola2::MethodCommand::addTelegramData
std::vector< uint8_t > addTelegramData(const std::vector< uint8_t > &telegram) const
Adds the data to the telegram.
Definition: MethodCommand.cpp:49
sick::datastructure::CommSettings::getEInterfaceType
uint8_t getEInterfaceType() const
Gets the eInterface type.
Definition: CommSettings.cpp:87
sick::datastructure::CommSettings::getChannel
uint8_t getChannel() const
Gets the channel of the data.
Definition: CommSettings.cpp:67
sick::cola2::ChangeCommSettingsCommand::writeFeaturesToDataPtr
void writeFeaturesToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:135
sick::datastructure::CommSettings::getHostIp
boost::asio::ip::address_v4 getHostIp() const
Gets the IP-address of the host.
Definition: CommSettings.cpp:42
sick::cola2::Command::expandTelegram
std::vector< uint8_t > expandTelegram(const std::vector< uint8_t > &telegram, size_t additional_bytes) const
Definition: Command.cpp:121
sick::cola2::ChangeCommSettingsCommand::writeIPAddresstoDataPtr
void writeIPAddresstoDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:106
sick::cola2::ChangeCommSettingsCommand::writeFrequencyToDataPtr
void writeFrequencyToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:117
sick::cola2::ChangeCommSettingsCommand::writePortToDataPtr
void writePortToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:112
sick::cola2::ChangeCommSettingsCommand::addTelegramData
std::vector< uint8_t > addTelegramData(const std::vector< uint8_t > &telegram) const
Adds the settings as data to the packetbuffer.
Definition: ChangeCommSettingsCommand.cpp:52
sick::read_write_helper::writeInt32LittleEndian
void writeInt32LittleEndian(std::vector< uint8_t >::iterator it, const int32_t v)
Writes an unsigned 32-bit integer to a buffer at offset in little endian encoding.
Definition: ReadWriteHelper.hpp:182
sick::cola2::ChangeCommSettingsCommand::writeChannelToDataPtr
void writeChannelToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:89
sick::cola2::MethodCommand
Command for method calls to the sensor.
Definition: MethodCommand.h:46
sick::cola2::ChangeCommSettingsCommand::writeEInterfaceTypeToDataPtr
void writeEInterfaceTypeToDataPtr(std::vector< uint8_t >::iterator data_ptr) const
Definition: ChangeCommSettingsCommand.cpp:100
sick::datastructure::CommSettings::getStartAngle
int32_t getStartAngle() const
Gets the start angle of the scan.
Definition: CommSettings.cpp:107


sick_safetyscanners
Author(s): Lennart Puck
autogenerated on Fri Jun 21 2024 02:40:51