CoLaParameterWriter.h
Go to the documentation of this file.
1 // -- BEGIN LICENSE BLOCK ----------------------------------------------
20 // -- END LICENSE BLOCK ------------------------------------------------
21 
22 #pragma once
23 
24 #include <cstdint>
25 #include <vector>
26 
27 #include "CoLaCommand.h"
28 #include "CoLaCommandType.h"
29 
30 namespace visionary {
31 
36 {
37 private:
39  const char* m_name;
40  std::vector<uint8_t> m_buffer;
41 
42 public:
49  CoLaParameterWriter(CoLaCommandType::Enum type, const char* name);
50 
52 
58  CoLaParameterWriter& parameterSInt(const int8_t sInt);
59 
65  CoLaParameterWriter& parameterUSInt(const uint8_t uSInt);
66 
72  CoLaParameterWriter& parameterInt(const int16_t integer);
73 
79  CoLaParameterWriter& parameterUInt(const uint16_t uInt);
80 
86  CoLaParameterWriter& parameterDInt(const int32_t dInt);
87 
93  CoLaParameterWriter& parameterUDInt(const uint32_t uDInt);
94 
100  CoLaParameterWriter& parameterReal(const float real);
101 
107  CoLaParameterWriter& parameterLReal(const double lReal);
108 
114  CoLaParameterWriter& parameterBool(const bool boolean);
115 
121  CoLaParameterWriter& parameterPasswordMD5(const std::string& str);
122 
128  CoLaParameterWriter& parameterFlexString(const std::string& str);
129 
135  CoLaParameterWriter& operator<<(const char* str);
136 
142  CoLaParameterWriter& operator<<(const int8_t sInt);
143 
149  CoLaParameterWriter& operator<<(const uint8_t uSInt);
150 
156  CoLaParameterWriter& operator<<(const int16_t integer);
157 
163  CoLaParameterWriter& operator<<(const uint16_t uInt);
164 
170  CoLaParameterWriter& operator<<(const int32_t dInt);
171 
177  CoLaParameterWriter& operator<<(const uint32_t uDInt);
178 
184  CoLaParameterWriter& operator<<(const float real);
185 
191  CoLaParameterWriter& operator<<(const double lReal);
192 
198  CoLaParameterWriter& operator<<(const bool boolean);
199 
200  const CoLaCommand build();
201 
202 private:
203  void writeHeader(CoLaCommandType::Enum type, const char* name);
204 
210  // static uint8_t calculateChecksum(const std::vector<uint8_t>& buffer);
211 };
212 
213 } // namespace visionary
visionary::CoLaParameterWriter::operator<<
CoLaParameterWriter & operator<<(const char *str)
Add a string parameter, must be null-terminated.
Definition: CoLaParameterWriter.cpp:147
visionary::CoLaParameterWriter::parameterUSInt
CoLaParameterWriter & parameterUSInt(const uint8_t uSInt)
Add a unsigned short (8-bit, range [0, 255]).
Definition: CoLaParameterWriter.cpp:44
visionary::CoLaParameterWriter::parameterInt
CoLaParameterWriter & parameterInt(const int16_t integer)
Add a signed int (16-bit).
Definition: CoLaParameterWriter.cpp:50
visionary
Definition: AuthenticationLegacy.h:25
visionary::CoLaParameterWriter
Builder for constructing CoLaCommands.
Definition: CoLaParameterWriter.h:35
visionary::CoLaCommand
Definition: CoLaCommand.h:32
visionary::CoLaParameterWriter::parameterBool
CoLaParameterWriter & parameterBool(const bool boolean)
Add a boolean as a byte, with 0 representing false, and 1 representing true.
Definition: CoLaParameterWriter.cpp:104
visionary::CoLaParameterWriter::CoLaParameterWriter
CoLaParameterWriter(CoLaCommandType::Enum type, const char *name)
Construct a new CoLaParameterWriter.
Definition: CoLaParameterWriter.cpp:29
visionary::CoLaParameterWriter::parameterFlexString
CoLaParameterWriter & parameterFlexString(const std::string &str)
Add a string as a flex string.
Definition: CoLaParameterWriter.cpp:136
visionary::CoLaParameterWriter::m_buffer
std::vector< uint8_t > m_buffer
Definition: CoLaParameterWriter.h:40
visionary::CoLaParameterWriter::parameterUDInt
CoLaParameterWriter & parameterUDInt(const uint32_t uDInt)
Add an unsigned double int (32-bit, range [0, 4294967295]).
Definition: CoLaParameterWriter.cpp:77
visionary::CoLaParameterWriter::m_type
CoLaCommandType::Enum m_type
Definition: CoLaParameterWriter.h:38
CoLaCommandType.h
visionary::CoLaParameterWriter::parameterSInt
CoLaParameterWriter & parameterSInt(const int8_t sInt)
Add a signed short (8-bit, range [-128, 127]).
Definition: CoLaParameterWriter.cpp:38
visionary::CoLaCommandType::Enum
Enum
Definition: CoLaCommandType.h:28
visionary::CoLaParameterWriter::parameterUInt
CoLaParameterWriter & parameterUInt(const uint16_t uInt)
Add a unsigned int (16-bit, range [0, 65535]).
Definition: CoLaParameterWriter.cpp:59
visionary::CoLaParameterWriter::~CoLaParameterWriter
~CoLaParameterWriter()
Definition: CoLaParameterWriter.cpp:36
visionary::CoLaParameterWriter::parameterLReal
CoLaParameterWriter & parameterLReal(const double lReal)
Add a IEEE-754 double precision (64-bit).
Definition: CoLaParameterWriter.cpp:95
visionary::CoLaParameterWriter::m_name
const char * m_name
Definition: CoLaParameterWriter.h:39
visionary::CoLaParameterWriter::parameterReal
CoLaParameterWriter & parameterReal(const float real)
Add a IEEE-754 single precision (32-bit).
Definition: CoLaParameterWriter.cpp:86
CoLaCommand.h
visionary::CoLaParameterWriter::parameterPasswordMD5
CoLaParameterWriter & parameterPasswordMD5(const std::string &str)
Add the given password as a UDInt, using MD5 hashing.
Definition: CoLaParameterWriter.cpp:110
visionary::CoLaParameterWriter::writeHeader
void writeHeader(CoLaCommandType::Enum type, const char *name)
Definition: CoLaParameterWriter.cpp:206
visionary::CoLaParameterWriter::parameterDInt
CoLaParameterWriter & parameterDInt(const int32_t dInt)
Add an signed double int (32-bit).
Definition: CoLaParameterWriter.cpp:68
visionary::CoLaParameterWriter::build
const CoLaCommand build()
Definition: CoLaParameterWriter.cpp:198


sick_safevisionary_base
Author(s):
autogenerated on Sat Oct 21 2023 02:24:26