Go to the documentation of this file.
37 #ifndef _LibMultiSense_details_query_hh
38 #define _LibMultiSense_details_query_hh
77 const_cast<T*
>(&message)->
serialize(stream, version);
91 const double& timeout,
97 while(attempts-- > 0) {
102 if (
false == ack.
wait(status, timeout))
110 }
catch (
const std::exception& e) {
122 const double& timeout,
143 if (
false == commandAck.
wait(commandStatus, 0.0))
156 return commandStatus;
164 }
catch (
const std::exception& e) {
172 #endif // _LibMultiSense_details_publish_hh
void publish(const T &message)
static CRL_CONSTEXPR Status Status_Ok
static CRL_CONSTEXPR uint8_t COMBINED_HEADER_LENGTH
#define CRL_DEBUG(fmt,...)
ROSLIB_DECL std::string command(const std::string &cmd)
std::vector< uint8_t > serialize(const T &message, uint16_t sequence_id, size_t mtu)
Serialize a MultiSense Wire message for transmission. This adds the wire header to the message for tr...
void seek(std::size_t idx)
Status waitData(const T &command, U &data, const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)
static CRL_CONSTEXPR Status Status_Exception
bool wait(Status &status, const double &timeout)
static CRL_CONSTEXPR Status Status_TimedOut
Status waitAck(const T &msg, wire::IdType id=MSG_ID(T::ID), const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)