Legacy/include/MultiSense/details/channel.hh
Go to the documentation of this file.
1 
37 #ifndef _LibMultiSense_details_channel_hh
38 #define _LibMultiSense_details_channel_hh
39 
40 #include "MultiSense/MultiSenseChannel.hh"
41 
44 #include <utility/BufferStream.hh>
49 #include <wire/Protocol.hh>
50 #include <wire/ImageMetaMessage.hh>
55 
56 #ifdef WIN32
57 #ifndef WIN32_LEAN_AND_MEAN
58 #define WIN32_LEAN_AND_MEAN 1
59 #endif
60 
61 #include <windows.h>
62 #include <winsock2.h>
63 
64 #else
65 #include <netinet/ip.h>
66 #include <unistd.h>
67 
68 #ifndef INVALID_SOCKET
69 #define INVALID_SOCKET (-1)
70 #endif
71 #endif
72 
73 #include <assert.h>
74 #include <vector>
75 #include <list>
76 #include <set>
77 #include <map>
78 #include <iostream>
79 #include <fstream>
80 
81 namespace crl {
82 namespace multisense {
83 namespace details {
84 
85 //
86 // The implementation details
87 
88 class impl : public Channel {
89 public:
90 
91 #ifdef WIN32
92  typedef SOCKET socket_t;
93 #else
94  typedef int32_t socket_t;
95 #endif
96 
97  //
98  // Construction
99 
100  impl(const std::string& address, const RemoteHeadChannel& cameraId, const std::string& ifName);
101  ~impl();
102 
103  //
104  // Public API
105 
106  virtual Status addIsolatedCallback (image::Callback callback,
107  DataSource imageSourceMask,
108  void *userDataP);
109  virtual Status addIsolatedCallback (lidar::Callback callback,
110  void *userDataP);
111  virtual Status addIsolatedCallback (pps::Callback callback,
112  void *userDataP);
113  virtual Status addIsolatedCallback (imu::Callback callback,
114  void *userDataP);
115 
117  DataSource imageSourceMask,
118  void *userDataP);
119 
121  void *userDataP);
122 
124  void *userDataP);
125 
127  void *userDataP);
128 
131  virtual Status removeIsolatedCallback(pps::Callback callback);
132  virtual Status removeIsolatedCallback(imu::Callback callback);
137 
138  virtual void* reserveCallbackBuffer ();
139  virtual Status releaseCallbackBuffer (void *referenceP);
140 
141  virtual Status networkTimeSynchronization(bool enabled);
142  virtual Status ptpTimeSynchronization(bool enabled);
143 
144  virtual Status startStreams (DataSource mask);
145  virtual Status stopStreams (DataSource mask);
146  virtual Status getEnabledStreams (DataSource& mask);
147 
149 
150  virtual Status setMotorSpeed (float rpm);
151 
153  virtual Status setLightingConfig (const lighting::Config& c);
154 
156 
157  virtual Status getSensorVersion (VersionType& version);
158  virtual Status getApiVersion (VersionType& version);
160 
161  virtual Status getImageConfig (image::Config& c);
162  virtual Status setImageConfig (const image::Config& c);
163 
165  virtual Status setAuxImageConfig (const image::AuxConfig& c);
166 
169 
171  virtual Status setImageCalibration (const image::Calibration& c);
172 
174  virtual Status setTransmitDelay (const image::TransmitDelay& c);
175 
177  virtual Status setPacketDelay (const image::PacketDelay& p);
178 
180  virtual Status setLidarCalibration (const lidar::Calibration& c);
181 
182  virtual Status getImageHistogram (int64_t frameId, image::Histogram& histogram);
183 
184  virtual Status getPtpStatus (system::PtpStatus& ptpStatus);
185 
186  virtual Status getDeviceModes (std::vector<system::DeviceMode>& modes);
187 
188  virtual Status getMtu (int32_t& mtu);
189  virtual Status setMtu (int32_t mtu);
190  virtual Status setBestMtu ();
191 
192  virtual Status getMotorPos (int32_t& mtu);
193 
195  virtual Status setNetworkConfig (const system::NetworkConfig& c);
196 
197  virtual Status getDeviceInfo (system::DeviceInfo& info);
198  virtual Status setDeviceInfo (const std::string& key,
199  const system::DeviceInfo& i);
200 
201  virtual Status getDeviceStatus (system::StatusMessage& status);
202 
204  virtual Status setExternalCalibration (const system::ExternalCalibration& calibration);
205 
207  virtual Status setApriltagParams (const system::ApriltagParams& params);
208 
209  virtual Status getImuInfo (uint32_t& maxSamplesPerMessage,
210  std::vector<imu::Info>& info);
211  virtual Status getImuConfig (uint32_t& samplesPerMessage,
212  std::vector<imu::Config>& c);
213  virtual Status setImuConfig (bool storeSettingsInFlash,
214  uint32_t samplesPerMessage,
215  const std::vector<imu::Config>& c);
216 
217  virtual Status getLargeBufferDetails (uint32_t& bufferCount,
218  uint32_t& bufferSize);
219  virtual Status setLargeBuffers (const std::vector<uint8_t*>& buffers,
220  uint32_t bufferSize);
221  virtual Status getLocalUdpPort (uint16_t& port);
222 
226  virtual Status secondaryAppActivate (const std::string & s);
227  virtual Status secondaryAppDeactivate(const std::string & s);
228 
230 
231 private:
232 
233  //
234  // A handler prototype for custom UDP datagram reassembly
235 
236  typedef void (*UdpAssembler)(utility::BufferStreamWriter& stream,
237  const uint8_t *dataP,
238  uint32_t offset,
239  uint32_t length);
240 
241  template <typename T>
242  void toHeaderTime(T nanoSeconds,
243  uint32_t &seconds,
244  uint32_t &microSeconds) const
245  {
246  const T oneBillion = static_cast<T>(1e9);
247 
248  seconds = static_cast<uint32_t>(nanoSeconds / oneBillion);
249  microSeconds = static_cast<uint32_t>((nanoSeconds % oneBillion) /
250  static_cast<T>(1000));
251  }
252 
253  template <class WireT>
254  void getImageTime(const WireT *wire,
255  uint32_t &seconds,
256  uint32_t &microSeconds)
257  {
258  //
259  // PTP timestamps which are 0ns are invalid and indicate the camera has lost its PTP sync with the PTP master.
260  // If that is the case, prefer to stamp the data with the non-PTP time sources
261 
262  if (m_ptpTimeSyncEnabled && wire->ptpNanoSeconds != 0) {
263 
264  toHeaderTime(wire->ptpNanoSeconds, seconds, microSeconds);
265 
266  return;
267  } else {
268  if (false == m_networkTimeSyncEnabled) {
269 
270  seconds = wire->timeSeconds;
271  microSeconds = wire->timeMicroSeconds;
272 
273  return;
274  } else {
275  sensorToLocalTime(utility::TimeStamp(static_cast<int32_t>(wire->timeSeconds),
276  static_cast<int32_t>(wire->timeMicroSeconds)),
277  seconds, microSeconds);
278  return;
279  }
280  }
281  }
282 
283  //
284  // The version of this API
285 
286  static CRL_CONSTEXPR VersionType API_VERSION = 0x0701; // 7.1
287 
288  //
289  // Misc. internal constants
290 
291  static CRL_CONSTEXPR uint32_t MIN_MTU_SIZE = 1500;
292  static CRL_CONSTEXPR uint32_t MAX_MTU_SIZE = 9000;
293  static CRL_CONSTEXPR uint16_t DEFAULT_SENSOR_TX_PORT = 9001;
294 
295  //
296  // Handle the worst case size of a 2MP floating point image
297 
298  static CRL_CONSTEXPR uint32_t RX_POOL_LARGE_BUFFER_SIZE = (10 * (1024 * 1024));
300  static CRL_CONSTEXPR uint32_t RX_POOL_SMALL_BUFFER_SIZE = (8 * (1024));
303 
304  static double DEFAULT_ACK_TIMEOUT () { return 0.5; }
305  static CRL_CONSTEXPR uint32_t DEFAULT_ACK_ATTEMPTS = 5;
310 
311 #if __cplusplus > 199711L
312  static_assert(RX_POOL_LARGE_BUFFER_COUNT > IMAGE_META_CACHE_DEPTH, "Image metadata depth cache too large");
313  static_assert(RX_POOL_LARGE_BUFFER_COUNT > SECONDARY_APP_META_CACHE_DEPTH, "Secondary Application metadata depth cache too large");
314  static_assert(RX_POOL_LARGE_BUFFER_COUNT > UDP_TRACKER_CACHE_DEPTH, "UDP depth cache too large");
315  static_assert(RX_POOL_SMALL_BUFFER_COUNT > UDP_TRACKER_CACHE_DEPTH, "UDP depth cache too large");
316 #endif
317 
318  //
319  // We must protect ourselves from user callbacks misbehaving
320  // and gobbling up all of our RX buffers
321  //
322  // These define the maximum number of datums that we will
323  // queue up in a user dispatch thread.
324 
331 
332 #if __cplusplus > 199711L
333  static_assert(RX_POOL_LARGE_BUFFER_COUNT > MAX_USER_IMAGE_QUEUE_SIZE, "Image queue too large");
334  static_assert(RX_POOL_LARGE_BUFFER_COUNT > MAX_USER_LASER_QUEUE_SIZE, "Laser queue too large");
335  static_assert(RX_POOL_LARGE_BUFFER_COUNT > MAX_USER_COMPRESSED_IMAGE_QUEUE_SIZE, "Compressed image queue too large");
336  static_assert(RX_POOL_LARGE_BUFFER_COUNT > MAX_USER_SECONDARY_APP_QUEUE_SIZE, "Secondary App queue too large");
337  static_assert(RX_POOL_LARGE_BUFFER_COUNT > MAX_USER_GROUND_SURFACE_QUEUE_SIZE,"Ground Surface queue too large");
338  static_assert(RX_POOL_LARGE_BUFFER_COUNT > MAX_USER_APRILTAG_QUEUE_SIZE, "April Tag queue too large");
339 #endif
340 
341  //
342  // PPS and IMU callbacks do not reserve an RX buffer, so queue
343  // depths are limited by RAM (via heap.)
344 
347 
348 
349  //
350  // The maximum number of directed streams
351 
352  static CRL_CONSTEXPR uint32_t MAX_DIRECTED_STREAMS = 8;
353 
354  //
355  // A re-assembler for multi-packet messages
356 
357  class UdpTracker {
358  public:
359 
360  UdpTracker(uint32_t t,
361  UdpAssembler a,
364  m_bytesAssembled(0),
366  m_lastByteOffset(-1),
367  m_assembler(a),
368  m_stream(s) {};
369 
371  uint32_t packets() { return m_packetsAssembled; };
372 
373  bool assemble(uint32_t bytes,
374  uint32_t offset,
375  const uint8_t *dataP) {
376 
377  if (offset <= m_lastByteOffset)
378  CRL_EXCEPTION("out-of-order or duplicate packet", "");
379 
380  m_assembler(m_stream, dataP, offset, bytes);
381 
382  m_bytesAssembled += bytes;
383  m_lastByteOffset = offset;
385 
387  return true;
388  return false;
389  }
390 
391  private:
392 
399  };
400 
401  //
402  // The socket identifier and local port
403 
406 
407  //
408  // The address of the sensor
409 
410  struct sockaddr_in m_sensorAddress;
411 
412  //
413  // The operating MTU of the sensor
414 
415  int32_t m_sensorMtu;
416 
417  //
418  // A buffer to receive incoming UDP packets
419 
420  std::vector<uint8_t> m_incomingBuffer;
421 
422  //
423  // Sequence ID for multi-packet message reassembly
424 
425  uint16_t m_txSeqId;
426  int32_t m_lastRxSeqId;
428 
429  //
430  // Sequence ID for tracking lost headers to prevent assembler debug spam
431 
433 
434  //
435  // A cache to track incoming messages by sequence ID
436 
438 
439  //
440  // A pool of RX buffers, to reduce the amount of internal copying
441 
442  typedef std::vector<utility::BufferStreamWriter*> BufferPool;
443 
446 
447  //
448  // A cache of image meta data
449 
451 
452  //
453  // A cache of secondary application meta data
454 
456 
457  //
458  // A map of custom UDP assemblers
459 
460  typedef std::map<wire::IdType, UdpAssembler> UdpAssemblerMap;
461 
463 
464  //
465  // Mutex for callback registration and dispatching
466 
468 
469  //
470  // Mutex for stream control
471 
473 
474  //
475  // A flag to shut down the internal threads
476 
478 
479  //
480  // Internal UDP reception thread
481 
484 
485  //
486  // Internal status thread
487 
489 
490  //
491  // The lists of user callbacks
492 
493  std::list<ImageListener*> m_imageListeners;
494  std::list<LidarListener*> m_lidarListeners;
495  std::list<PpsListener*> m_ppsListeners;
496  std::list<ImuListener*> m_imuListeners;
497  std::list<CompressedImageListener*> m_compressedImageListeners;
498  std::list<GroundSurfaceSplineListener*> m_groundSurfaceSplineListeners;
499  std::list<AprilTagDetectionListener*> m_aprilTagDetectionListeners;
500  std::list<SecondaryAppListener*> m_secondaryAppListeners;
501 
502  //
503  // A message signal interface
504 
506 
507  //
508  // A message storage interface
509 
511 
512  //
513  // The mask of currently enabled streams (desired)
514 
516 
517  //
518  // The current sensor time offset
519 
525 
526  //
527  // Cached version info from the device
528 
530 
531  //
532  // Cached StatusResponseMessage from the MultiSense
533 
535 
536  //
537  // Cached PtpStatusResponseMessage from the MultiSense
538 
540 
541  //
542  // Status set in statusThread indicating if the request for status msg timed out
544 
545  //
546  // Status set in statusThread indicating if if there is a valid ptp status message
548 
549  //
550  // Channel statistics and corresponding mutex
553 
554  //
555  // Private procedures
556 
557  template<class T, class U> Status waitData(const T& command,
558  U& data,
559  const double& timeout=DEFAULT_ACK_TIMEOUT(),
560  int32_t attempts=DEFAULT_ACK_ATTEMPTS);
561 #if defined (_MSC_VER)
562  template<class T> Status waitAck (const T& msg,
563  wire::IdType id,
564  const double& timeout,
565  int32_t attempts);
566  template<class T> Status waitAck (const T& msg) {
567  return waitAck (msg, MSG_ID(T::ID), double(DEFAULT_ACK_TIMEOUT()), DEFAULT_ACK_ATTEMPTS);
568  }
569 #else
570  template<class T> Status waitAck (const T& msg,
571  wire::IdType id=MSG_ID(T::ID),
572  const double& timeout=DEFAULT_ACK_TIMEOUT(),
573  int32_t attempts=DEFAULT_ACK_ATTEMPTS);
574 #endif
575 
576  template<class T> void publish (const T& message);
577  void publish (const utility::BufferStreamWriter& stream);
578  void dispatch (utility::BufferStreamWriter& buffer);
580  image::Header& header);
582  lidar::Header& header);
583  void dispatchPps (pps::Header& header);
584  void dispatchImu (imu::Header& header);
586  compressed_image::Header& header);
590  secondary_app::Header& header);
591 
592  utility::BufferStreamWriter& findFreeBuffer (uint32_t messageLength);
593  const int64_t& unwrapSequenceId(uint16_t id);
594  UdpAssembler getUdpAssembler (const uint8_t *udpDatagramP,
595  uint32_t length);
596 
597  void applySensorTimeOffset(const utility::TimeStamp& offset);
599  void sensorToLocalTime (const utility::TimeStamp& sensorTime,
600  uint32_t& seconds,
601  uint32_t& microseconds);
602 
603  void cleanup();
604  void bind (const std::string& ifName);
605  void handle ();
606 
607  //
608  // Static members
609 
612  static uint32_t hardwareApiToWire(uint32_t h);
613  static uint32_t hardwareWireToApi(uint32_t h);
614  static uint32_t imagerApiToWire(uint32_t h);
615  static uint32_t imagerWireToApi(uint32_t h);
616 #if WIN32
617  static DWORD WINAPI rxThread (void *userDataP);
618  static DWORD WINAPI statusThread (void *userDataP);
619 #else
620  static void *rxThread (void *userDataP);
621  static void *statusThread (void *userDataP);
622 #endif
623 };
624 
625 
626 }}} // namespaces
627 
628 #endif // LibMultiSense_details_channel_hh
crl::multisense::details::impl::publish
void publish(const T &message)
Definition: query.hh:50
StatusResponseMessage.hh
crl::multisense::details::impl
Definition: Legacy/include/MultiSense/details/channel.hh:88
crl::multisense::details::impl::getTransmitDelay
virtual Status getTransmitDelay(image::TransmitDelay &c)
Definition: public.cc:1358
crl::multisense::details::wire::VersionResponse
Definition: VersionResponseMessage.hh:50
crl::multisense::details::impl::handle
void handle()
Definition: dispatch.cc:840
crl::multisense::details::impl::m_compressedImageListeners
std::list< CompressedImageListener * > m_compressedImageListeners
Definition: Legacy/include/MultiSense/details/channel.hh:497
crl::multisense::details::impl::setImageConfig
virtual Status setImageConfig(const image::Config &c)
Definition: public.cc:1066
listeners.hh
crl::multisense::details::impl::setPacketDelay
virtual Status setPacketDelay(const image::PacketDelay &p)
Definition: public.cc:1400
VersionResponseMessage.hh
crl::multisense::details::impl::sourceApiToWire
static wire::SourceType sourceApiToWire(DataSource mask)
Definition: Legacy/details/channel.cc:453
crl::multisense::secondary_app::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3060
crl::multisense::details::impl::MAX_USER_IMAGE_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_IMAGE_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:325
crl::multisense::details::impl::m_sensorVersion
wire::VersionResponse m_sensorVersion
Definition: Legacy/include/MultiSense/details/channel.hh:529
crl::multisense::details::impl::stopStreams
virtual Status stopStreams(DataSource mask)
Definition: public.cc:683
crl::multisense::lighting::SensorStatus
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2534
crl::multisense::details::impl::m_serverSocket
socket_t m_serverSocket
Definition: Legacy/include/MultiSense/details/channel.hh:404
Units.hh
crl::multisense::details::impl::impl
impl(const std::string &address, const RemoteHeadChannel &cameraId, const std::string &ifName)
Definition: Legacy/details/channel.cc:68
crl::multisense::details::utility::Mutex
Definition: linux/Thread.hh:144
crl::multisense::system::ExternalCalibration
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3659
crl::multisense::details::impl::DEFAULT_ACK_ATTEMPTS
static CRL_CONSTEXPR uint32_t DEFAULT_ACK_ATTEMPTS
Definition: Legacy/include/MultiSense/details/channel.hh:305
crl::multisense::details::impl::m_ppsListeners
std::list< PpsListener * > m_ppsListeners
Definition: Legacy/include/MultiSense/details/channel.hh:495
crl::multisense::image::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:513
crl::multisense::details::impl::m_networkTimeSyncEnabled
bool m_networkTimeSyncEnabled
Definition: Legacy/include/MultiSense/details/channel.hh:523
crl::multisense::details::impl::setMotorSpeed
virtual Status setMotorSpeed(float rpm)
Definition: public.cc:745
crl::multisense::details::impl::m_lastRxSeqId
int32_t m_lastRxSeqId
Definition: Legacy/include/MultiSense/details/channel.hh:426
crl::multisense::VersionType
uint32_t VersionType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:88
crl::multisense::details::impl::m_rxThreadP
utility::Thread * m_rxThreadP
Definition: Legacy/include/MultiSense/details/channel.hh:482
crl::multisense::details::impl::setLargeBuffers
virtual Status setLargeBuffers(const std::vector< uint8_t * > &buffers, uint32_t bufferSize)
Definition: public.cc:1990
crl::multisense::details::impl::UdpTracker::UdpTracker
UdpTracker(uint32_t t, UdpAssembler a, utility::BufferStreamWriter &s)
Definition: Legacy/include/MultiSense/details/channel.hh:360
crl::multisense::details::impl::setGroundSurfaceParams
virtual Status setGroundSurfaceParams(const system::GroundSurfaceParams &params)
Definition: public.cc:1707
crl::multisense::details::impl::getAuxImageConfig
virtual Status getAuxImageConfig(image::AuxConfig &c)
Definition: public.cc:928
crl::multisense::details::impl::setMtu
virtual Status setMtu(int32_t mtu)
Definition: public.cc:1471
crl::multisense::details::impl::cleanup
void cleanup()
Definition: Legacy/details/channel.cc:233
crl::multisense::details::impl::UdpTracker::packets
uint32_t packets()
Definition: Legacy/include/MultiSense/details/channel.hh:371
crl::multisense::imu::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2647
crl::multisense::details::impl::getMtu
virtual Status getMtu(int32_t &mtu)
Definition: public.cc:1495
crl::multisense::lidar::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2112
ImageMetaMessage.hh
crl::multisense::details::impl::RX_POOL_SMALL_BUFFER_COUNT
static CRL_CONSTEXPR uint32_t RX_POOL_SMALL_BUFFER_COUNT
Definition: Legacy/include/MultiSense/details/channel.hh:301
BufferStream.hh
crl::multisense::details::impl::dispatchPps
void dispatchPps(pps::Header &header)
Definition: dispatch.cc:159
crl::multisense::details::impl::setBestMtu
virtual Status setBestMtu()
Definition: public.cc:1506
crl::multisense::details::impl::m_channelStatistics
system::ChannelStatistics m_channelStatistics
Definition: Legacy/include/MultiSense/details/channel.hh:552
crl::multisense::details::wire::PtpStatusResponse
Definition: PtpStatusResponseMessage.hh:51
crl::multisense::details::impl::removeIsolatedCallback
virtual Status removeIsolatedCallback(image::Callback callback)
Definition: public.cc:290
crl::multisense::system::NetworkConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3425
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition: Legacy/include/MultiSense/details/utility/Portability.hh:49
crl::multisense::details::impl::m_udpTrackerCache
DepthCache< int64_t, UdpTracker > m_udpTrackerCache
Definition: Legacy/include/MultiSense/details/channel.hh:437
crl::multisense::details::impl::dispatchCompressedImage
void dispatchCompressedImage(utility::BufferStream &buffer, compressed_image::Header &header)
Definition: dispatch.cc:195
crl::multisense::details::impl::SECONDARY_APP_META_CACHE_DEPTH
static CRL_CONSTEXPR uint32_t SECONDARY_APP_META_CACHE_DEPTH
Definition: Legacy/include/MultiSense/details/channel.hh:307
crl::multisense::details::impl::sourceWireToApi
static DataSource sourceWireToApi(wire::SourceType mask)
Definition: Legacy/details/channel.cc:498
crl::multisense::details::impl::m_unWrappedRxSeqId
int64_t m_unWrappedRxSeqId
Definition: Legacy/include/MultiSense/details/channel.hh:427
crl::multisense::details::impl::m_dispatchLock
utility::Mutex m_dispatchLock
Definition: Legacy/include/MultiSense/details/channel.hh:467
crl::multisense::details::impl::getMotorPos
virtual Status getMotorPos(int32_t &mtu)
Definition: public.cc:1551
crl::multisense::details::impl::getDeviceInfo
virtual Status getDeviceInfo(system::DeviceInfo &info)
Definition: public.cc:1594
crl::multisense::details::impl::MAX_USER_GROUND_SURFACE_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_GROUND_SURFACE_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:329
crl::multisense::details::impl::setExternalCalibration
virtual Status setExternalCalibration(const system::ExternalCalibration &calibration)
Definition: public.cc:1693
crl::multisense::details::impl::m_messages
MessageMap m_messages
Definition: Legacy/include/MultiSense/details/channel.hh:510
crl::multisense::details::impl::MAX_USER_COMPRESSED_IMAGE_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_COMPRESSED_IMAGE_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:327
crl::multisense::details::impl::m_sensorAddress
struct sockaddr_in m_sensorAddress
Definition: Legacy/include/MultiSense/details/channel.hh:410
crl::multisense::details::impl::m_secondaryAppListeners
std::list< SecondaryAppListener * > m_secondaryAppListeners
Definition: Legacy/include/MultiSense/details/channel.hh:500
crl::multisense::details::impl::UdpTracker::m_bytesAssembled
uint32_t m_bytesAssembled
Definition: Legacy/include/MultiSense/details/channel.hh:394
crl::multisense::details::impl::m_rxLargeBufferPool
BufferPool m_rxLargeBufferPool
Definition: Legacy/include/MultiSense/details/channel.hh:444
crl::multisense::details::impl::m_incomingBuffer
std::vector< uint8_t > m_incomingBuffer
Definition: Legacy/include/MultiSense/details/channel.hh:420
crl::multisense::details::impl::getStats
virtual system::ChannelStatistics getStats()
Definition: public.cc:2038
crl::multisense::details::impl::m_watch
MessageWatch m_watch
Definition: Legacy/include/MultiSense/details/channel.hh:505
crl::multisense::details::impl::UdpAssemblerMap
std::map< wire::IdType, UdpAssembler > UdpAssemblerMap
Definition: Legacy/include/MultiSense/details/channel.hh:460
crl::multisense::details::impl::MAX_BUFFER_ALLOCATION_RETRIES
static CRL_CONSTEXPR uint32_t MAX_BUFFER_ALLOCATION_RETRIES
Definition: Legacy/include/MultiSense/details/channel.hh:302
crl::multisense::details::impl::m_timeOffsetInit
bool m_timeOffsetInit
Definition: Legacy/include/MultiSense/details/channel.hh:521
crl::multisense::details::impl::getImageCalibration
virtual Status getImageCalibration(image::Calibration &c)
Definition: public.cc:1304
crl::multisense::details::impl::MAX_USER_IMU_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_IMU_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:346
crl::multisense::details::impl::statusThread
static void * statusThread(void *userDataP)
Definition: Legacy/details/channel.cc:691
Portability.hh
crl::multisense::details::impl::getImageHistogram
virtual Status getImageHistogram(int64_t frameId, image::Histogram &histogram)
Definition: public.cc:584
crl::multisense::details::impl::hardwareApiToWire
static uint32_t hardwareApiToWire(uint32_t h)
Definition: Legacy/details/channel.cc:543
CRL_EXCEPTION
#define CRL_EXCEPTION(fmt,...)
Definition: Exception.hh:85
crl::multisense::details::impl::getLightingSensorStatus
virtual Status getLightingSensorStatus(lighting::SensorStatus &status)
Definition: public.cc:807
crl::multisense::details::wire::StatusResponse
Definition: StatusResponseMessage.hh:50
crl::multisense::details::impl::MAX_USER_SECONDARY_APP_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_SECONDARY_APP_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:328
crl::multisense::details::impl::UdpTracker::m_lastByteOffset
int64_t m_lastByteOffset
Definition: Legacy/include/MultiSense/details/channel.hh:396
crl
Definition: Legacy/details/channel.cc:61
crl::multisense::details::impl::m_streamsEnabled
DataSource m_streamsEnabled
Definition: Legacy/include/MultiSense/details/channel.hh:515
crl::multisense::details::impl::dispatchGroundSurfaceSpline
void dispatchGroundSurfaceSpline(ground_surface::Header &header)
Definition: dispatch.cc:214
crl::multisense::system::SecondaryAppRegisteredApps
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4093
crl::multisense::imu::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2662
crl::multisense::details::impl::m_secondaryAppMetaCache
DepthCache< int64_t, wire::SecondaryAppMetadata > m_secondaryAppMetaCache
Definition: Legacy/include/MultiSense/details/channel.hh:455
crl::multisense::apriltag::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2972
crl::multisense::image::Config
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:797
crl::multisense::details::impl::setRemoteHeadConfig
virtual Status setRemoteHeadConfig(const image::RemoteHeadConfig &c)
Definition: public.cc:1264
crl::multisense::details::impl::setImageCalibration
virtual Status setImageCalibration(const image::Calibration &c)
Definition: public.cc:1333
crl::multisense::details::impl::UDP_TRACKER_CACHE_DEPTH
static CRL_CONSTEXPR uint32_t UDP_TRACKER_CACHE_DEPTH
Definition: Legacy/include/MultiSense/details/channel.hh:308
crl::multisense::compressed_image::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2862
crl::multisense::details::wire::SourceType
uint64_t SourceType
Definition: Protocol.hh:250
crl::multisense::details::impl::getLightingConfig
virtual Status getLightingConfig(lighting::Config &c)
Definition: public.cc:753
crl::multisense::details::impl::IMAGE_META_CACHE_DEPTH
static CRL_CONSTEXPR uint32_t IMAGE_META_CACHE_DEPTH
Definition: Legacy/include/MultiSense/details/channel.hh:306
crl::multisense::details::impl::setDeviceInfo
virtual Status setDeviceInfo(const std::string &key, const system::DeviceInfo &i)
Definition: public.cc:1846
crl::multisense::details::utility::BufferStreamWriter
Definition: BufferStream.hh:259
crl::multisense::details::impl::m_txSeqId
uint16_t m_txSeqId
Definition: Legacy/include/MultiSense/details/channel.hh:425
crl::multisense::details::impl::m_statusResponseMessage
wire::StatusResponse m_statusResponseMessage
Definition: Legacy/include/MultiSense/details/channel.hh:534
crl::multisense::image::Histogram
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1992
crl::multisense::details::impl::setLidarCalibration
virtual Status setLidarCalibration(const lidar::Calibration &c)
Definition: public.cc:1429
crl::multisense::DataSource
uint64_t DataSource
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:115
crl::multisense::details::impl::UdpTracker::m_packetsAssembled
uint32_t m_packetsAssembled
Definition: Legacy/include/MultiSense/details/channel.hh:395
crl::multisense::lidar::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2065
crl::multisense::details::impl::getLargeBufferDetails
virtual Status getLargeBufferDetails(uint32_t &bufferCount, uint32_t &bufferSize)
Definition: public.cc:1978
crl::multisense::lighting::Config
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2300
crl::multisense::system::DeviceInfo
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3245
crl::multisense::details::impl::unwrapSequenceId
const int64_t & unwrapSequenceId(uint16_t id)
Definition: dispatch.cc:796
crl::multisense::details::impl::getImuInfo
virtual Status getImuInfo(uint32_t &maxSamplesPerMessage, std::vector< imu::Info > &info)
Definition: public.cc:1886
crl::multisense::lidar::Calibration
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2195
crl::multisense::details::utility::TimeStamp
Definition: TimeStamp.hh:69
crl::multisense::details::impl::dispatchAprilTagDetections
void dispatchAprilTagDetections(apriltag::Header &header)
Definition: dispatch.cc:232
crl::multisense::details::impl::getEnabledStreams
virtual Status getEnabledStreams(DataSource &mask)
Definition: public.cc:697
crl::multisense::image::Calibration
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1910
crl::multisense::image::RemoteHeadConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2011
crl::multisense::system::SecondaryAppConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4040
crl::multisense::image::TransmitDelay
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1938
crl::multisense::details::impl::setAuxImageConfig
virtual Status setAuxImageConfig(const image::AuxConfig &c)
Definition: public.cc:1121
crl::multisense::details::impl::m_imageMetaCache
DepthCache< int64_t, wire::ImageMeta > m_imageMetaCache
Definition: Legacy/include/MultiSense/details/channel.hh:450
MSG_ID
#define MSG_ID(x)
Definition: Protocol.hh:344
crl::multisense::details::impl::dispatchSecondaryApplication
void dispatchSecondaryApplication(utility::BufferStream &buffer, secondary_app::Header &header)
Definition: dispatch.cc:250
crl::multisense::details::impl::UdpTracker::m_totalBytesInMessage
uint32_t m_totalBytesInMessage
Definition: Legacy/include/MultiSense/details/channel.hh:393
crl::multisense::details::impl::m_statusThreadP
utility::Thread * m_statusThreadP
Definition: Legacy/include/MultiSense/details/channel.hh:488
crl::multisense::details::impl::RX_POOL_SMALL_BUFFER_SIZE
static CRL_CONSTEXPR uint32_t RX_POOL_SMALL_BUFFER_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:300
crl::multisense::details::impl::reserveCallbackBuffer
virtual void * reserveCallbackBuffer()
Definition: public.cc:534
crl::multisense::details::impl::dispatchImage
void dispatchImage(utility::BufferStream &buffer, image::Header &header)
Definition: dispatch.cc:122
crl::multisense::ground_surface::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2960
crl::multisense::details::impl::socket_t
int32_t socket_t
Definition: Legacy/include/MultiSense/details/channel.hh:94
crl::multisense::details::impl::~impl
~impl()
Definition: Legacy/details/channel.cc:302
SecondaryAppMetaMessage.hh
crl::multisense::details::impl::secondaryAppActivate
virtual Status secondaryAppActivate(const std::string &s)
Definition: public.cc:1829
crl::multisense::details::impl::DEFAULT_SENSOR_TX_PORT
static CRL_CONSTEXPR uint16_t DEFAULT_SENSOR_TX_PORT
Definition: Legacy/include/MultiSense/details/channel.hh:293
crl::multisense::details::impl::dispatchImu
void dispatchImu(imu::Header &header)
Definition: dispatch.cc:177
Protocol.hh
crl::multisense::details::impl::waitData
Status waitData(const T &command, U &data, const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)
Definition: query.hh:120
crl::multisense::details::impl::dispatch
void dispatch(utility::BufferStreamWriter &buffer)
Definition: dispatch.cc:270
crl::multisense::details::impl::m_ptpTimeSyncEnabled
bool m_ptpTimeSyncEnabled
Definition: Legacy/include/MultiSense/details/channel.hh:524
crl::multisense::TriggerSource
uint32_t TriggerSource
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:272
crl::multisense::details::impl::m_serverSocketPort
uint16_t m_serverSocketPort
Definition: Legacy/include/MultiSense/details/channel.hh:405
crl::multisense::details::impl::m_lidarListeners
std::list< LidarListener * > m_lidarListeners
Definition: Legacy/include/MultiSense/details/channel.hh:494
crl::multisense::details::MessageWatch
Definition: signal.hh:54
crl::multisense::details::impl::m_rxLock
utility::Mutex m_rxLock
Definition: Legacy/include/MultiSense/details/channel.hh:483
crl::multisense::secondary_app::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3028
crl::multisense::details::impl::setTransmitDelay
virtual Status setTransmitDelay(const image::TransmitDelay &c)
Definition: public.cc:1373
crl::multisense::details::impl::bind
void bind(const std::string &ifName)
Definition: Legacy/details/channel.cc:311
crl::multisense::details::impl::MAX_USER_PPS_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_PPS_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:345
crl::multisense::details::impl::applySensorTimeOffset
void applySensorTimeOffset(const utility::TimeStamp &offset)
Definition: Legacy/details/channel.cc:633
crl::multisense::compressed_image::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2909
crl::multisense::details::impl::DEFAULT_ACK_TIMEOUT
static double DEFAULT_ACK_TIMEOUT()
Definition: Legacy/include/MultiSense/details/channel.hh:304
crl::multisense::details::impl::m_sensorMtu
int32_t m_sensorMtu
Definition: Legacy/include/MultiSense/details/channel.hh:415
crl::multisense::details::impl::getSensorVersion
virtual Status getSensorVersion(VersionType &version)
Definition: public.cc:824
crl::multisense::Status
int32_t Status
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:94
crl::multisense::details::impl::setSecondaryAppConfig
virtual Status setSecondaryAppConfig(system::SecondaryAppConfig &c)
Definition: public.cc:1783
crl::multisense::details::impl::RX_POOL_LARGE_BUFFER_SIZE
static CRL_CONSTEXPR uint32_t RX_POOL_LARGE_BUFFER_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:298
crl::multisense::details::impl::rxThread
static void * rxThread(void *userDataP)
Definition: dispatch.cc:981
crl::multisense::details::impl::MIN_MTU_SIZE
static CRL_CONSTEXPR uint32_t MIN_MTU_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:291
crl::multisense::details::impl::MAX_USER_APRILTAG_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_APRILTAG_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:330
crl::multisense::details::impl::m_imuListeners
std::list< ImuListener * > m_imuListeners
Definition: Legacy/include/MultiSense/details/channel.hh:496
crl::multisense::details::impl::UdpTracker
Definition: Legacy/include/MultiSense/details/channel.hh:357
crl::multisense::details::impl::getImageTime
void getImageTime(const WireT *wire, uint32_t &seconds, uint32_t &microSeconds)
Definition: Legacy/include/MultiSense/details/channel.hh:254
crl::multisense::details::impl::networkTimeSynchronization
virtual Status networkTimeSynchronization(bool enabled)
Definition: public.cc:642
crl::multisense::details::impl::getPacketDelay
virtual Status getPacketDelay(image::PacketDelay &p)
Definition: public.cc:1385
crl::multisense::details::impl::ptpTimeSynchronization
virtual Status ptpTimeSynchronization(bool enabled)
Definition: public.cc:651
crl::multisense::system::VersionInfo
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3159
crl::multisense::details::impl::getPtpStatus
virtual Status getPtpStatus(system::PtpStatus &ptpStatus)
Definition: public.cc:621
crl::multisense::pps::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2575
PtpStatusResponseMessage.hh
crl::multisense::details::impl::m_aprilTagDetectionListeners
std::list< AprilTagDetectionListener * > m_aprilTagDetectionListeners
Definition: Legacy/include/MultiSense/details/channel.hh:499
crl::multisense::Channel
Definition: Legacy/include/MultiSense/MultiSenseChannel.hh:69
crl::multisense::details::impl::secondaryAppDeactivate
virtual Status secondaryAppDeactivate(const std::string &s)
Definition: public.cc:1836
multisense
Definition: factory.cc:39
crl::multisense::details::impl::m_groundSurfaceSplineListeners
std::list< GroundSurfaceSplineListener * > m_groundSurfaceSplineListeners
Definition: Legacy/include/MultiSense/details/channel.hh:498
crl::multisense::image::AuxConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1373
crl::multisense::details::impl::BufferPool
std::vector< utility::BufferStreamWriter * > BufferPool
Definition: Legacy/include/MultiSense/details/channel.hh:442
crl::multisense::details::impl::m_getStatusReturnStatus
Status m_getStatusReturnStatus
Definition: Legacy/include/MultiSense/details/channel.hh:543
crl::multisense::details::impl::setLightingConfig
virtual Status setLightingConfig(const lighting::Config &c)
Definition: public.cc:782
storage.hh
crl::multisense::details::impl::getLidarCalibration
virtual Status getLidarCalibration(lidar::Calibration &c)
Definition: public.cc:1412
crl::multisense::details::impl::getRemoteHeadConfig
virtual Status getRemoteHeadConfig(image::RemoteHeadConfig &c)
Definition: public.cc:1226
crl::multisense::details::impl::setApriltagParams
virtual Status setApriltagParams(const system::ApriltagParams &params)
Definition: public.cc:1731
crl::multisense::details::impl::hardwareWireToApi
static uint32_t hardwareWireToApi(uint32_t h)
Definition: Legacy/details/channel.cc:570
crl::multisense::details::impl::getImageConfig
virtual Status getImageConfig(image::Config &c)
Definition: public.cc:863
crl::multisense::details::impl::releaseCallbackBuffer
virtual Status releaseCallbackBuffer(void *referenceP)
Definition: public.cc:558
crl::multisense::details::impl::findFreeBuffer
utility::BufferStreamWriter & findFreeBuffer(uint32_t messageLength)
Definition: dispatch.cc:770
crl::multisense::details::impl::RX_POOL_LARGE_BUFFER_COUNT
static CRL_CONSTEXPR uint32_t RX_POOL_LARGE_BUFFER_COUNT
Definition: Legacy/include/MultiSense/details/channel.hh:299
crl::multisense::details::impl::m_imageListeners
std::list< ImageListener * > m_imageListeners
Definition: Legacy/include/MultiSense/details/channel.hh:493
crl::multisense::details::impl::MAX_MTU_SIZE
static CRL_CONSTEXPR uint32_t MAX_MTU_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:292
crl::multisense::details::impl::getVersionInfo
virtual Status getVersionInfo(system::VersionInfo &v)
Definition: public.cc:842
crl::multisense::details::impl::setNetworkConfig
virtual Status setNetworkConfig(const system::NetworkConfig &c)
Definition: public.cc:1565
signal.hh
crl::multisense::pps::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2560
crl::multisense::details::impl::getSecondaryAppConfig
virtual Status getSecondaryAppConfig(system::SecondaryAppConfig &c)
Definition: public.cc:1750
crl::multisense::details::impl::m_ptpStatusResponseMessage
wire::PtpStatusResponse m_ptpStatusResponseMessage
Definition: Legacy/include/MultiSense/details/channel.hh:539
crl::multisense::details::impl::UdpTracker::assemble
bool assemble(uint32_t bytes, uint32_t offset, const uint8_t *dataP)
Definition: Legacy/include/MultiSense/details/channel.hh:373
crl::multisense::details::impl::TIME_SYNC_OFFSET_DECAY
static CRL_CONSTEXPR uint32_t TIME_SYNC_OFFSET_DECAY
Definition: Legacy/include/MultiSense/details/channel.hh:309
crl::multisense::details::impl::m_lastUnexpectedSequenceId
int64_t m_lastUnexpectedSequenceId
Definition: Legacy/include/MultiSense/details/channel.hh:432
crl::multisense::details::impl::m_statisticsLock
utility::Mutex m_statisticsLock
Definition: Legacy/include/MultiSense/details/channel.hh:551
crl::multisense::system::PtpStatus
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3940
crl::multisense::details::impl::setImuConfig
virtual Status setImuConfig(bool storeSettingsInFlash, uint32_t samplesPerMessage, const std::vector< imu::Config > &c)
Definition: public.cc:1953
crl::multisense::details::impl::getApiVersion
virtual Status getApiVersion(VersionType &version)
Definition: public.cc:833
crl::multisense::details::impl::m_timeOffset
utility::TimeStamp m_timeOffset
Definition: Legacy/include/MultiSense/details/channel.hh:522
crl::multisense::details::impl::getExternalCalibration
virtual Status getExternalCalibration(system::ExternalCalibration &calibration)
Definition: public.cc:1675
crl::multisense::details::impl::getImuConfig
virtual Status getImuConfig(uint32_t &samplesPerMessage, std::vector< imu::Config > &c)
Definition: public.cc:1926
Thread.hh
crl::multisense::system::GroundSurfaceParams
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3742
crl::multisense::details::impl::getDeviceStatus
virtual Status getDeviceStatus(system::StatusMessage &status)
Definition: public.cc:1638
crl::multisense::image::PacketDelay
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1946
crl::multisense::details::utility::Thread
Definition: linux/Thread.hh:73
crl::multisense::details::impl::imagerApiToWire
static uint32_t imagerApiToWire(uint32_t h)
Definition: Legacy/details/channel.cc:597
crl::multisense::details::impl::UdpTracker::m_stream
utility::BufferStreamWriter m_stream
Definition: Legacy/include/MultiSense/details/channel.hh:398
crl::multisense::details::impl::getUdpAssembler
UdpAssembler getUdpAssembler(const uint8_t *udpDatagramP, uint32_t length)
Definition: dispatch.cc:744
crl::multisense::details::impl::toHeaderTime
void toHeaderTime(T nanoSeconds, uint32_t &seconds, uint32_t &microSeconds) const
Definition: Legacy/include/MultiSense/details/channel.hh:242
crl::multisense::details::impl::addIsolatedCallback
virtual Status addIsolatedCallback(image::Callback callback, DataSource imageSourceMask, void *userDataP)
Definition: public.cc:141
crl::multisense::details::impl::m_timeLock
utility::Mutex m_timeLock
Definition: Legacy/include/MultiSense/details/channel.hh:520
crl::multisense::details::wire::IdType
uint16_t IdType
Definition: Protocol.hh:136
crl::multisense::details::impl::getNetworkConfig
virtual Status getNetworkConfig(system::NetworkConfig &c)
Definition: public.cc:1577
assert.h
crl::multisense::details::impl::UdpAssembler
void(* UdpAssembler)(utility::BufferStreamWriter &stream, const uint8_t *dataP, uint32_t offset, uint32_t length)
Definition: Legacy/include/MultiSense/details/channel.hh:236
crl::multisense::details::impl::m_threadsRunning
bool m_threadsRunning
Definition: Legacy/include/MultiSense/details/channel.hh:477
crl::multisense::ground_surface::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2921
crl::multisense::details::utility::BufferStream
Definition: BufferStream.hh:66
crl::multisense::details::impl::m_streamLock
utility::Mutex m_streamLock
Definition: Legacy/include/MultiSense/details/channel.hh:472
crl::multisense::details::impl::UdpTracker::m_assembler
UdpAssembler m_assembler
Definition: Legacy/include/MultiSense/details/channel.hh:397
crl::multisense::details::impl::sensorToLocalTime
utility::TimeStamp sensorToLocalTime(const utility::TimeStamp &sensorTime)
Definition: Legacy/details/channel.cc:667
crl::multisense::details::impl::setTriggerSource
virtual Status setTriggerSource(TriggerSource s)
Definition: public.cc:709
crl::multisense::details::impl::getRegisteredApps
virtual Status getRegisteredApps(system::SecondaryAppRegisteredApps &c)
Definition: public.cc:1804
crl::multisense::details::impl::getLocalUdpPort
virtual Status getLocalUdpPort(uint16_t &port)
Definition: public.cc:2032
crl::multisense::details::impl::UdpTracker::stream
utility::BufferStreamWriter & stream()
Definition: Legacy/include/MultiSense/details/channel.hh:370
crl::multisense::details::impl::getDeviceModes
virtual Status getDeviceModes(std::vector< system::DeviceMode > &modes)
Definition: public.cc:1442
crl::multisense::details::impl::startStreams
virtual Status startStreams(DataSource mask)
Definition: public.cc:669
crl::multisense::details::impl::MAX_USER_LASER_QUEUE_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_LASER_QUEUE_SIZE
Definition: Legacy/include/MultiSense/details/channel.hh:326
crl::multisense::details::DepthCache
Definition: Legacy/include/MultiSense/details/storage.hh:131
crl::multisense::details::impl::m_rxSmallBufferPool
BufferPool m_rxSmallBufferPool
Definition: Legacy/include/MultiSense/details/channel.hh:445
crl::multisense::details::impl::API_VERSION
static CRL_CONSTEXPR VersionType API_VERSION
Definition: Legacy/include/MultiSense/details/channel.hh:286
crl::multisense::RemoteHeadChannel
int16_t RemoteHeadChannel
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:210
crl::multisense::details::impl::m_getPtpStatusReturnStatus
Status m_getPtpStatusReturnStatus
Definition: Legacy/include/MultiSense/details/channel.hh:547
crl::multisense::system::ApriltagParams
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3880
crl::multisense::details::MessageMap
Definition: Legacy/include/MultiSense/details/storage.hh:54
crl::multisense::details::impl::imagerWireToApi
static uint32_t imagerWireToApi(uint32_t h)
Definition: Legacy/details/channel.cc:613
crl::multisense::details::impl::waitAck
Status waitAck(const T &msg, wire::IdType id=MSG_ID(T::ID), const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)
Definition: query.hh:89
crl::multisense::system::ChannelStatistics
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3972
crl::multisense::details::impl::MAX_DIRECTED_STREAMS
static CRL_CONSTEXPR uint32_t MAX_DIRECTED_STREAMS
Definition: Legacy/include/MultiSense/details/channel.hh:352
crl::multisense::system::StatusMessage
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3496
crl::multisense::image::Header
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:460
crl::multisense::apriltag::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3016
crl::multisense::details::impl::m_udpAssemblerMap
UdpAssemblerMap m_udpAssemblerMap
Definition: Legacy/include/MultiSense/details/channel.hh:462
crl::multisense::details::impl::dispatchLidar
void dispatchLidar(utility::BufferStream &buffer, lidar::Header &header)
Definition: dispatch.cc:141


multisense_lib
Author(s):
autogenerated on Thu Apr 17 2025 02:49:08