public.cc
Go to the documentation of this file.
1 
37 #include <stdlib.h>
38 #include <algorithm>
39 
41 
44 
51 
53 #include <wire/SysSetPtpMessage.hh>
54 
60 #include <wire/CamConfigMessage.hh>
63 
67 
69 
71 #include <wire/LedSetMessage.hh>
72 #include <wire/LedStatusMessage.hh>
73 
76 
79 
80 #include <wire/SysMtuMessage.hh>
81 #include <wire/SysGetMtuMessage.hh>
103 
104 #include <wire/ImuGetInfoMessage.hh>
106 #include <wire/ImuInfoMessage.hh>
107 #include <wire/ImuConfigMessage.hh>
108 
109 #include <wire/SysTestMtuMessage.hh>
111 
119 
120 #include <utility/BufferStream.hh>
121 
122 namespace crl {
123 namespace multisense {
124 namespace details {
125 
126 //
127 // The user may "hold on" to the buffer back-end
128 // of a datum within a callback thread.
129 
131 
132 //
133 //
134 // Public API follows
135 //
136 //
137 
138 //
139 // Adds a new image listener
140 
142  DataSource imageSourceMask,
143  void *userDataP)
144 {
145  try {
146 
148  m_imageListeners.push_back(new ImageListener(callback,
149  imageSourceMask,
150  userDataP,
152 
153  } catch (const std::exception& e) {
154  CRL_DEBUG("exception: %s\n", e.what());
155  return Status_Exception;
156  }
157  return Status_Ok;
158 }
159 
160 //
161 // Adds a new laser listener
162 
164  void *userDataP)
165 {
166  try {
167 
169  m_lidarListeners.push_back(new LidarListener(callback,
170  0,
171  userDataP,
173 
174  } catch (const std::exception& e) {
175  CRL_DEBUG("exception: %s\n", e.what());
176  return Status_Exception;
177  }
178  return Status_Ok;
179 }
180 
181 //
182 // Adds a new PPS listener
183 
185  void *userDataP)
186 {
187  try {
188 
190  m_ppsListeners.push_back(new PpsListener(callback,
191  0,
192  userDataP,
194 
195  } catch (const std::exception& e) {
196  CRL_DEBUG("exception: %s\n", e.what());
197  return Status_Exception;
198  }
199  return Status_Ok;
200 }
201 
202 //
203 // Adds a new IMU listener
204 
206  void *userDataP)
207 {
208  try {
209 
210  utility::ScopedLock lock(m_dispatchLock);
211  m_imuListeners.push_back(new ImuListener(callback,
212  0,
213  userDataP,
215 
216  } catch (const std::exception& e) {
217  CRL_DEBUG("exception: %s\n", e.what());
218  return Status_Exception;
219  }
220  return Status_Ok;
221 }
222 
223 //
224 // Adds a new Compressed Image listener
225 
227  DataSource imageSourceMask,
228  void *userDataP)
229 {
230  try {
231 
232  utility::ScopedLock lock(m_dispatchLock);
234  imageSourceMask,
235  userDataP,
237 
238  } catch (const std::exception& e) {
239  CRL_DEBUG("exception: %s\n", e.what());
240  return Status_Exception;
241  }
242  return Status_Ok;
243 }
244 
245 //
246 // Adds a new Ground Surface listener
247 
249  void *userDataP)
250 {
251  try {
252 
253  utility::ScopedLock lock(m_dispatchLock);
255  0,
256  userDataP,
258 
259  } catch (const std::exception& e) {
260  CRL_DEBUG("exception: %s\n", e.what());
261  return Status_Exception;
262  }
263  return Status_Ok;
264 }
265 
266 //
267 // Adds a new april tag listener
268 
270  void *userDataP)
271 {
272  try {
273 
274  utility::ScopedLock lock(m_dispatchLock);
276  0,
277  userDataP,
279 
280  } catch (const std::exception& e) {
281  CRL_DEBUG("exception: %s\n", e.what());
282  return Status_Exception;
283  }
284  return Status_Ok;
285 }
286 
287 //
288 // Removes an image listener
289 
291 {
292  try {
294 
295  std::list<ImageListener*>::iterator it;
296  for(it = m_imageListeners.begin();
297  it != m_imageListeners.end();
298  ++ it) {
299 
300  if ((*it)->callback() == callback) {
301  delete *it;
302  m_imageListeners.erase(it);
303  return Status_Ok;
304  }
305  }
306 
307  } catch (const std::exception& e) {
308  CRL_DEBUG("exception: %s\n", e.what());
309  return Status_Exception;
310  }
311 
312  return Status_Error;
313 }
314 
315 //
316 // Adds a new secondary app listener
317 
319  void *userDataP)
320 {
321  try {
322 
324  m_secondaryAppListeners.push_back(new SecondaryAppListener(callback,
325  0,
326  userDataP,
328 
329  } catch (const std::exception& e) {
330  CRL_DEBUG("exception: %s\n", e.what());
331  return Status_Exception;
332  }
333  return Status_Ok;
334 }
335 
336 //
337 // Removes a lidar listener
338 
340 {
341  try {
342  utility::ScopedLock lock(m_dispatchLock);
343 
344  std::list<LidarListener*>::iterator it;
345  for(it = m_lidarListeners.begin();
346  it != m_lidarListeners.end();
347  ++ it) {
348 
349  if ((*it)->callback() == callback) {
350  delete *it;
351  m_lidarListeners.erase(it);
352  return Status_Ok;
353  }
354  }
355 
356  } catch (const std::exception& e) {
357  CRL_DEBUG("exception: %s\n", e.what());
358  return Status_Exception;
359  }
360 
361  return Status_Error;
362 }
363 
364 //
365 // Removes a PPS listener
366 
368 {
369  try {
370  utility::ScopedLock lock(m_dispatchLock);
371 
372  std::list<PpsListener*>::iterator it;
373  for(it = m_ppsListeners.begin();
374  it != m_ppsListeners.end();
375  ++ it) {
376 
377  if ((*it)->callback() == callback) {
378  delete *it;
379  m_ppsListeners.erase(it);
380  return Status_Ok;
381  }
382  }
383 
384  } catch (const std::exception& e) {
385  CRL_DEBUG("exception: %s\n", e.what());
386  return Status_Exception;
387  }
388 
389  return Status_Error;
390 }
391 
392 //
393 // Removes an IMU listener
394 
396 {
397  try {
398  utility::ScopedLock lock(m_dispatchLock);
399 
400  std::list<ImuListener*>::iterator it;
401  for(it = m_imuListeners.begin();
402  it != m_imuListeners.end();
403  ++ it) {
404 
405  if ((*it)->callback() == callback) {
406  delete *it;
407  m_imuListeners.erase(it);
408  return Status_Ok;
409  }
410  }
411 
412  } catch (const std::exception& e) {
413  CRL_DEBUG("exception: %s\n", e.what());
414  return Status_Exception;
415  }
416 
417  return Status_Error;
418 }
419 
420 //
421 // Removes a compressed image listener
422 
424 {
425  try {
426  utility::ScopedLock lock(m_dispatchLock);
427 
428  std::list<CompressedImageListener*>::iterator it;
429  for(it = m_compressedImageListeners.begin();
430  it != m_compressedImageListeners.end();
431  ++ it) {
432 
433  if ((*it)->callback() == callback) {
434  delete *it;
435  m_compressedImageListeners.erase(it);
436  return Status_Ok;
437  }
438  }
439 
440  } catch (const std::exception& e) {
441  CRL_DEBUG("exception: %s\n", e.what());
442  return Status_Exception;
443  }
444 
445  return Status_Error;
446 }
447 
448 //
449 // Removes a ground surface listener
450 
452 {
453  try {
454  utility::ScopedLock lock(m_dispatchLock);
455 
456  std::list<GroundSurfaceSplineListener*>::iterator it;
457  for(it = m_groundSurfaceSplineListeners.begin();
458  it != m_groundSurfaceSplineListeners.end();
459  ++ it) {
460 
461  if ((*it)->callback() == callback) {
462  delete *it;
464  return Status_Ok;
465  }
466  }
467 
468  } catch (const std::exception& e) {
469  CRL_DEBUG("exception: %s\n", e.what());
470  return Status_Exception;
471  }
472 
473  return Status_Error;
474 }
475 
476 //
477 // Removes a ground surface listener
478 
480 {
481  try {
482  utility::ScopedLock lock(m_dispatchLock);
483 
484  std::list<AprilTagDetectionListener*>::iterator it;
485  for(it = m_aprilTagDetectionListeners.begin();
486  it != m_aprilTagDetectionListeners.end();
487  ++ it) {
488 
489  if ((*it)->callback() == callback) {
490  delete *it;
492  return Status_Ok;
493  }
494  }
495 
496  } catch (const std::exception& e) {
497  CRL_DEBUG("exception: %s\n", e.what());
498  return Status_Exception;
499  }
500 
501  return Status_Error;
502 }
503 
504 //
505 // Removes a secondary_app listener
506 
508 {
509  try {
510  utility::ScopedLock lock(m_dispatchLock);
511  std::list<SecondaryAppListener*>::iterator it;
512  for(it = m_secondaryAppListeners.begin();
513  it != m_secondaryAppListeners.end();
514  it ++) {
515 
516  if ((*it)->callback() == callback) {
517  delete *it;
518  m_secondaryAppListeners.erase(it);
519  return Status_Ok;
520  }
521  }
522 
523  } catch (const std::exception& e) {
524  CRL_DEBUG("exception: %s\n", e.what());
525  return Status_Exception;
526  }
527 
528  return Status_Error;
529 }
530 
531 //
532 // Reserve the current callback buffer being used in a dispatch thread
533 
535 {
537 
538  try {
539 
540  return reinterpret_cast<void*>(new utility::BufferStream(*dispatchBufferReferenceTP));
541 
542  } catch (const std::exception& e) {
543 
544  CRL_DEBUG("exception: %s\n", e.what());
545 
546  } catch (...) {
547 
548  CRL_DEBUG_RAW("unknown exception\n");
549  }
550  }
551 
552  return NULL;
553 }
554 
555 //
556 // Release a user reserved buffer back to us
557 
559 {
560  if (referenceP) {
561  try {
562 
563  delete reinterpret_cast<utility::BufferStream*>(referenceP);
564  return Status_Ok;
565 
566  } catch (const std::exception& e) {
567 
568  CRL_DEBUG("exception: %s\n", e.what());
569  return Status_Exception;
570 
571  } catch (...) {
572 
573  CRL_DEBUG_RAW("unknown exception\n");
574  return Status_Exception;
575  }
576  }
577 
578  return Status_Error;
579 }
580 
581 //
582 // Get a copy of the histogram for a particular frame ID
583 
585  image::Histogram& histogram)
586 {
587  try {
588 
590 
591  const wire::ImageMeta *metaP = m_imageMetaCache.find_nolock(frameId);
592  if (NULL == metaP) {
593  CRL_DEBUG("no meta cached for frameId %ld",
594  static_cast<long int>(frameId));
595  return Status_Failed;
596  }
597 
600 
601  const int entries = histogram.channels * histogram.bins;
602  const int sizeBytes = entries * sizeof(uint32_t);
603 
604  histogram.data.resize(entries);
605  memcpy(&(histogram.data[0]), metaP->histogramP, sizeBytes);
606 
607  return Status_Ok;
608 
609  }
610  catch (const std::exception& e) {
611  CRL_DEBUG("exception: %s\n", e.what());
612  return Status_Exception;
613  }
614  catch (...) {
615  CRL_DEBUG ("%s\n", "unknown exception");
616  }
617 
618  return Status_Error;
619 }
620 
622 {
625  }
626  if (m_sensorVersion.firmwareVersion < 0x60A) {
627  return Status_Unsupported;
628  }
629 
634  memcpy(ptpStatus.gm_id, m_ptpStatusResponseMessage.gm_id, 8);
635 
636  return Status_Ok;
637 }
638 
639 //
640 // Enable/disable network-based time synchronization
641 
643 {
644  m_networkTimeSyncEnabled = enabled;
645  return Status_Ok;
646 }
647 
648 //
649 // Enable/disable PTP time synchronization
650 
652 {
653  Status status;
654 
655  wire::SysSetPtp cmd;
656  cmd.enable = enabled ? 1 : 0;
657 
658  status = waitAck(cmd);
659 
660  if (Status_Ok == status)
661  m_ptpTimeSyncEnabled = enabled;
662 
663  return status;
664 }
665 
666 //
667 // Primary stream control
668 
670 {
672 
674 
675  cmd.enable(sourceApiToWire(mask));
676 
677  Status status = waitAck(cmd);
678  if (Status_Ok == status)
679  m_streamsEnabled |= mask;
680 
681  return status;
682 }
684 {
686 
688 
689  cmd.disable(sourceApiToWire(mask));
690 
691  Status status = waitAck(cmd);
692  if (Status_Ok == status)
693  m_streamsEnabled &= ~mask;
694 
695  return status;
696 }
698 {
700 
701  mask = m_streamsEnabled;
702 
703  return Status_Ok;
704 }
705 
706 //
707 // Set the trigger source
708 
710 {
711  uint32_t wireSource;
712 
713  switch(s) {
714  case Trigger_Internal:
715 
717  break;
718 
719  case Trigger_External:
720 
722  break;
723 
725 
727  break;
728 
729  case Trigger_PTP:
730 
732  break;
733 
734  default:
735 
736  return Status_Error;
737  }
738 
739  return waitAck(wire::CamSetTriggerSource(wireSource));
740 }
741 
742 //
743 // Set the motor speed
744 
746 {
747  return waitAck(wire::LidarSetMotor(rpm));
748 }
749 
750 //
751 // Get/set the lighting configuration
752 
754 {
755  Status status;
756  wire::LedStatus data;
757 
758  status = waitData(wire::LedGetStatus(), data);
759  if (Status_Ok != status)
760  return status;
761 
762  for(uint32_t i=0; i<lighting::MAX_LIGHTS; i++) {
763  float duty=0.0f;
764  if ((1<<i) & data.available)
765  duty = (data.intensity[i] * 100.0f) / 255;
766  c.setDutyCycle(i, duty);
767  }
768 
769  c.setFlash(data.flash != 0);
770 
772 
774 
775  c.setInvertPulse(data.invert_pulse != 0);
776 
778 
779  return Status_Ok;
780 }
781 
783 {
784  wire::LedSet msg;
785 
786  msg.flash = c.getFlash() ? 1 : 0;
787  for(uint32_t i=0; i<lighting::MAX_LIGHTS; i++) {
788 
789  float duty = c.getDutyCycle(i);
790  if (duty >= 0.0f) { // less than zero == not set
791  msg.mask |= (1<<i);
792  msg.intensity[i] = static_cast<uint8_t> (255.0f * (utility::boundValue(duty, 0.0f, 100.0f) / 100.0f));
793  }
794  }
795 
796  msg.led_delay_us = c.getStartupTime();
797 
799 
800  msg.invert_pulse = c.getInvertPulse() ? 1 : 0;
801 
803 
804  return waitAck(msg);
805 }
806 
808 {
809  Status requestStatus;
811 
812  requestStatus = waitData(wire::LedGetSensorStatus(), data);
813  if (Status_Ok != requestStatus)
814  return requestStatus;
815 
817 
818  return Status_Ok;
819 }
820 
821 //
822 // Requests version from sensor
823 
825 {
827  return Status_Ok;
828 }
829 
830 //
831 // Version of this API
832 
834 {
835  version = API_VERSION;
836  return Status_Ok;
837 }
838 
839 //
840 // Requests all versioning information
841 
843 {
844 #ifdef BUILD_API_DATE
845  v.apiBuildDate = std::string(__DATE__ ", " __TIME__);
846 #else
847  v.apiBuildDate = std::string("??? ?? ????, ??:??:??");
848 #endif // BUILD_API_DATE
849 
856 
857  return Status_Ok;
858 }
859 
860 //
861 // Query camera configuration
862 
864 {
865  Status status;
867 
868  status = waitData(wire::CamGetConfig(), d);
869  if (Status_Ok != status)
870  return status;
871 
872  // for access to protected calibration members
873  class ConfigAccess : public image::Config {
874  public:
875  void setCal(float fx, float fy, float cx, float cy,
876  float tx, float ty, float tz,
877  float r, float p, float w) {
878  m_fx = fx; m_fy = fy; m_cx = cx; m_cy = cy;
879  m_tx = tx; m_ty = ty; m_tz = tz;
880  m_roll = r; m_pitch = p; m_yaw = w;
881  };
882  };
883 
884  // what is the proper c++ cast for this?
885  ConfigAccess& a = *((ConfigAccess *) &config);
886 
887  a.setResolution(d.width, d.height);
888  if (-1 == d.disparities) { // pre v2.3 firmware
889  if (1024 == d.width) // TODO: check for monocular
890  d.disparities = 128;
891  else
892  d.disparities = 0;
893  }
894  a.setDisparities(d.disparities);
895  a.setFps(d.framesPerSecond);
896  a.setGain(d.gain);
897 
898  a.setExposure(d.exposure);
899  a.setAutoExposure(d.autoExposure != 0);
900  a.setAutoExposureMax(d.autoExposureMax);
901  a.setAutoExposureDecay(d.autoExposureDecay);
902  a.setAutoExposureTargetIntensity(d.autoExposureTargetIntensity);
903  a.setAutoExposureThresh(d.autoExposureThresh);
904  a.setGain(d.gain);
905 
906  a.setWhiteBalance(d.whiteBalanceRed, d.whiteBalanceBlue);
907  a.setAutoWhiteBalance(d.autoWhiteBalance != 0);
908  a.setAutoWhiteBalanceDecay(d.autoWhiteBalanceDecay);
909  a.setAutoWhiteBalanceThresh(d.autoWhiteBalanceThresh);
910  a.setStereoPostFilterStrength(d.stereoPostFilterStrength);
911  a.setHdr(d.hdrEnabled);
912 
913  a.setAutoExposureRoi(d.autoExposureRoiX, d.autoExposureRoiY,
914  d.autoExposureRoiWidth, d.autoExposureRoiHeight);
915 
916  a.setCal(d.fx, d.fy, d.cx, d.cy,
917  d.tx, d.ty, d.tz,
918  d.roll, d.pitch, d.yaw);
919 
920  a.setCameraProfile(static_cast<CameraProfile>(d.cameraProfile));
921 
922  a.setGamma(d.gamma);
923  a.setGainMax(d.gainMax);
924 
925  return Status_Ok;
926 }
927 
929 {
930  Status status;
931 
932  // for access to protected calibration members
933  class ConfigAccess : public image::AuxConfig {
934  public:
935  void setCal(float fx, float fy, float cx, float cy) {
936  m_fx = fx; m_fy = fy; m_cx = cx; m_cy = cy;
937  };
938  };
939 
940  // what is the proper c++ cast for this?
941  ConfigAccess& a = *((ConfigAccess *) &config);
942 
943  if (m_sensorVersion.firmwareVersion < 0x0600)
944  {
945  //
946  // Use the legacy secondary exposure fields from the image config to populate the aux config
948 
949  status = waitData(wire::CamGetConfig(), d);
950  if (Status_Ok != status)
951  return status;
952 
953  int index = -1;
954  for (size_t i = 0 ; i < d.secondaryExposureConfigs.size() ; ++i)
955  {
956  if (d.secondaryExposureConfigs[i].exposureSource == sourceApiToWire(Source_Luma_Aux) ||
957  d.secondaryExposureConfigs[i].exposureSource == sourceApiToWire(Source_Luma_Rectified_Aux))
958  {
959  index = static_cast<int>(i);
960  break;
961  }
962  }
963 
964  //
965  // Assume the aux config is the same as the main stereo pair if there is no explicit secondary config for
966  // the aux camera
967  if (index < 0)
968  {
969  a.setGain(d.gain);
970 
971  a.setExposure(d.exposure);
972  a.setAutoExposure(d.autoExposure != 0);
973  a.setAutoExposureMax(d.autoExposureMax);
974  a.setAutoExposureDecay(d.autoExposureDecay);
975  a.setAutoExposureTargetIntensity(d.autoExposureTargetIntensity);
976  a.setAutoExposureThresh(d.autoExposureThresh);
977 
978  CRL_CONSTEXPR uint16_t auxMaxHeight = 1188;
979 
980  a.setAutoExposureRoi(d.autoExposureRoiX, std::min(d.autoExposureRoiY, auxMaxHeight),
981  d.autoExposureRoiWidth,
982  std::min(d.autoExposureRoiHeight, static_cast<uint16_t>(auxMaxHeight - std::min(d.autoExposureRoiY, auxMaxHeight))));
983  }
984  else
985  {
986  wire::ExposureConfig &auxExposureConfig = d.secondaryExposureConfigs[index];
987 
988  a.setGain(auxExposureConfig.gain);
989 
990  a.setExposure(auxExposureConfig.exposure);
991  a.setAutoExposure(auxExposureConfig.autoExposure != 0);
992  a.setAutoExposureMax(auxExposureConfig.autoExposureMax);
993  a.setAutoExposureDecay(auxExposureConfig.autoExposureDecay);
994  a.setAutoExposureTargetIntensity(auxExposureConfig.autoExposureTargetIntensity);
995  a.setAutoExposureThresh(auxExposureConfig.autoExposureThresh);
996 
997 
998  a.setAutoExposureRoi(auxExposureConfig.autoExposureRoiX, auxExposureConfig.autoExposureRoiY,
999  auxExposureConfig.autoExposureRoiWidth, auxExposureConfig.autoExposureRoiHeight);
1000  }
1001 
1002  a.setWhiteBalance(d.whiteBalanceRed, d.whiteBalanceBlue);
1003  a.setAutoWhiteBalance(d.autoWhiteBalance != 0);
1004  a.setAutoWhiteBalanceDecay(d.autoWhiteBalanceDecay);
1005  a.setAutoWhiteBalanceThresh(d.autoWhiteBalanceThresh);
1006  a.setHdr(d.hdrEnabled);
1007 
1008  a.setCal(d.fx, d.fy, d.cx, d.cy);
1009 
1010  a.setCameraProfile(static_cast<CameraProfile>(d.cameraProfile));
1011 
1012  a.setGamma(d.gamma);
1013 
1014  a.enableSharpening(d.sharpeningEnable);
1015  a.setSharpeningPercentage(d.sharpeningPercentage);
1016  a.setSharpeningLimit(d.sharpeningLimit);
1017  a.setGainMax(d.gainMax);
1018 
1019  return Status_Ok;
1020  }
1021 
1023 
1024  status = waitData(wire::AuxCamGetConfig(), d);
1025  if (Status_Ok != status)
1026  return status;
1027 
1028  a.setGain(d.gain);
1029 
1030  a.setExposure(d.exposure);
1031  a.setAutoExposure(d.autoExposure != 0);
1032  a.setAutoExposureMax(d.autoExposureMax);
1033  a.setAutoExposureDecay(d.autoExposureDecay);
1034  a.setAutoExposureTargetIntensity(d.autoExposureTargetIntensity);
1035  a.setAutoExposureThresh(d.autoExposureThresh);
1036 
1037  a.setWhiteBalance(d.whiteBalanceRed, d.whiteBalanceBlue);
1038  a.setAutoWhiteBalance(d.autoWhiteBalance != 0);
1039  a.setAutoWhiteBalanceDecay(d.autoWhiteBalanceDecay);
1040  a.setAutoWhiteBalanceThresh(d.autoWhiteBalanceThresh);
1041  a.setHdr(d.hdrEnabled);
1042 
1043  a.setAutoExposureRoi(d.autoExposureRoiX, d.autoExposureRoiY,
1044  d.autoExposureRoiWidth, d.autoExposureRoiHeight);
1045 
1046  a.setCal(d.fx, d.fy, d.cx, d.cy);
1047 
1048  a.setCameraProfile(static_cast<CameraProfile>(d.cameraProfile));
1049 
1050  a.setGamma(d.gamma);
1051 
1052  a.enableSharpening(d.sharpeningEnable);
1053  a.setSharpeningPercentage(d.sharpeningPercentage);
1054  a.setSharpeningLimit(d.sharpeningLimit);
1055  a.setGainMax(d.gainMax);
1056 
1057  return Status_Ok;
1058 }
1059 
1060 //
1061 // Set camera configuration
1062 //
1063 // Currently several sensor messages are combined and presented
1064 // to the user as one.
1065 
1067 {
1068  Status status;
1069 
1070  status = waitAck(wire::CamSetResolution(c.width(),
1071  c.height(),
1072  c.disparities()));
1073  if (Status_Ok != status)
1074  return status;
1075 
1076  wire::CamControl cmd;
1077 
1078  cmd.framesPerSecond = c.fps();
1079  cmd.gain = c.gain();
1080 
1081  cmd.exposure = c.exposure();
1082  cmd.autoExposure = c.autoExposure() ? 1 : 0;
1083  cmd.autoExposureMax = c.autoExposureMax();
1087 
1088  cmd.whiteBalanceRed = c.whiteBalanceRed();
1090  cmd.autoWhiteBalance = c.autoWhiteBalance() ? 1 : 0;
1094  cmd.hdrEnabled = c.hdrEnabled();
1095 
1100 
1101  cmd.cameraProfile = static_cast<uint32_t>(c.cameraProfile());
1102 
1103  cmd.gamma = c.gamma();
1104  cmd.gainMax = c.gainMax();
1105 
1106  if (m_sensorVersion.firmwareVersion < 0x0600)
1107  {
1109 
1110  status = waitData(wire::CamGetConfig(), d);
1111  if (Status_Ok != status)
1112  return status;
1113 
1114  cmd.exposureSource = d.exposureSource;
1115  cmd.secondaryExposureConfigs = d.secondaryExposureConfigs;
1116  }
1117 
1118  return waitAck(cmd);
1119 }
1120 
1122 {
1123  if (m_sensorVersion.firmwareVersion < 0x0600)
1124  {
1125  //
1126  // Use the legacy secondary exposure controls if we are working with older firmware. Query the
1127  // current image config to ensure we populate the CamControl message with the correct current values
1128 
1129  Status status = Status_Ok;
1130 
1132 
1133  status = waitData(wire::CamGetConfig(), d);
1134  if (Status_Ok != status)
1135  return status;
1136 
1137  wire::CamControl cmd;
1138 
1139  cmd.framesPerSecond = d.framesPerSecond;
1140  cmd.gain = d.gain;
1141 
1142  cmd.exposure = d.exposure;
1143  cmd.autoExposure = d.autoExposure;
1144  cmd.autoExposureMax = d.autoExposureMax;
1145  cmd.autoExposureDecay = d.autoExposureDecay;
1146  cmd.autoExposureThresh = d.autoExposureThresh;
1147  cmd.autoExposureTargetIntensity = d.autoExposureTargetIntensity;
1148 
1149  cmd.whiteBalanceRed = d.whiteBalanceRed;
1150  cmd.whiteBalanceBlue = d.whiteBalanceBlue;
1151  cmd.autoWhiteBalance = d.autoWhiteBalance;
1152  cmd.autoWhiteBalanceDecay = d.autoWhiteBalanceDecay;
1153  cmd.autoWhiteBalanceThresh = d.autoWhiteBalanceThresh;
1154  cmd.stereoPostFilterStrength = d.stereoPostFilterStrength;
1155  cmd.hdrEnabled = d.hdrEnabled;
1156 
1157  cmd.autoExposureRoiX = d.autoExposureRoiX;
1158  cmd.autoExposureRoiY = d.autoExposureRoiY;
1159  cmd.autoExposureRoiWidth = d.autoExposureRoiWidth;
1160  cmd.autoExposureRoiHeight = d.autoExposureRoiHeight;
1161 
1162  cmd.cameraProfile = d.cameraProfile;
1163 
1164  cmd.gamma = d.gamma;
1165  cmd.gainMax = d.gainMax;
1166 
1167  cmd.exposureSource = static_cast<uint32_t>(sourceApiToWire(Source_Luma_Left));
1168 
1169  wire::ExposureConfig auxExposureConfig;
1170  auxExposureConfig.exposure = c.exposure();
1171  auxExposureConfig.autoExposure = c.autoExposure() ? 1 : 0;
1172  auxExposureConfig.autoExposureMax = c.autoExposureMax();
1173  auxExposureConfig.autoExposureDecay = c.autoExposureDecay();
1174  auxExposureConfig.autoExposureThresh = c.autoExposureThresh();
1176 
1177  auxExposureConfig.autoExposureRoiX = c.autoExposureRoiX();
1178  auxExposureConfig.autoExposureRoiY = c.autoExposureRoiY();
1179  auxExposureConfig.autoExposureRoiWidth = c.autoExposureRoiWidth();
1180  auxExposureConfig.autoExposureRoiHeight = c.autoExposureRoiHeight();
1181 
1182  auxExposureConfig.gain = c.gain();
1183  auxExposureConfig.exposureSource = static_cast<uint32_t>(sourceApiToWire(Source_Luma_Aux));
1184 
1185  cmd.secondaryExposureConfigs.push_back(auxExposureConfig);
1186 
1187  return waitAck(cmd);
1188  }
1189 
1190  wire::AuxCamControl cmd;
1191 
1192  cmd.gain = c.gain();
1193 
1194  cmd.exposure = c.exposure();
1195  cmd.autoExposure = c.autoExposure() ? 1 : 0;
1196  cmd.autoExposureMax = c.autoExposureMax();
1200 
1201  cmd.whiteBalanceRed = c.whiteBalanceRed();
1203  cmd.autoWhiteBalance = c.autoWhiteBalance() ? 1 : 0;
1206  cmd.hdrEnabled = c.hdrEnabled();
1207 
1212 
1213  cmd.cameraProfile = static_cast<uint32_t>(c.cameraProfile());
1214 
1215  cmd.gamma = c.gamma();
1218  cmd.sharpeningLimit = c.sharpeningLimit();
1219  cmd.gainMax = c.gainMax();
1220 
1221  return waitAck(cmd);
1222 }
1223 
1224 //
1225 // Get Remote Head Configuration
1227 {
1228  Status status;
1230 
1231  status = waitData(wire::RemoteHeadGetConfig(), r);
1232  if (Status_Ok != status)
1233  {
1234  return status;
1235  }
1236 
1237  std::vector<RemoteHeadSyncGroup> grp;
1238  grp.reserve(r.syncGroups.size());
1239 
1240  for (uint32_t i = 0 ; i < r.syncGroups.size() ; ++i)
1241  {
1242  const wire::RemoteHeadSyncGroup &wire_sg = r.syncGroups[i];
1243 
1244  std::vector<RemoteHeadChannel> responders;
1245  responders.reserve(wire_sg.responders.size());
1246 
1247  for (uint32_t j = 0 ; j < wire_sg.responders.size() ; ++j)
1248  {
1249  const wire::RemoteHeadChannel &resp = wire_sg.responders[j];
1250 
1251  responders.push_back(resp.channel);
1252  }
1253 
1254  grp.push_back(RemoteHeadSyncGroup(wire_sg.controller.channel, responders));
1255  }
1256 
1257  c.setSyncGroups(grp);
1258 
1259  return status;
1260 }
1261 
1262 //
1263 // Set Remote Head Configuration
1265 {
1267 
1268  const std::vector<RemoteHeadSyncGroup> c_sync_groups = c.syncGroups();
1269  r.syncGroups.reserve(c_sync_groups.size());
1270 
1271  for (uint32_t i = 0 ; i < c_sync_groups.size() ; ++i)
1272  {
1273  const RemoteHeadSyncGroup &c_sg = c_sync_groups[i];
1274 
1275  std::vector<wire::RemoteHeadChannel> r_responders;
1276  r_responders.reserve(c_sg.responders.size());
1277 
1278  for (uint32_t j = 0 ; j < c_sg.responders.size() ; ++j)
1279  {
1280  wire::RemoteHeadChannel wire_channel;
1281  wire_channel.channel = c_sg.responders[j];
1282 
1283  r_responders.push_back(wire_channel);
1284  }
1285 
1286  wire::RemoteHeadChannel controller;
1287  controller.channel = c_sg.controller;
1288 
1289  wire::RemoteHeadSyncGroup sync_group;
1290  sync_group.controller = controller;
1291  sync_group.responders = r_responders;
1292 
1293  r.syncGroups.push_back(sync_group);
1294  }
1295 
1296  return waitAck(r);
1297 }
1298 
1299 
1300 
1301 //
1302 // Get camera calibration
1303 
1305 {
1307 
1309  if (Status_Ok != status)
1310  return status;
1311 
1312  CPY_ARRAY_2(c.left.M, d.left.M, 3, 3);
1313  CPY_ARRAY_1(c.left.D, d.left.D, 8);
1314  CPY_ARRAY_2(c.left.R, d.left.R, 3, 3);
1315  CPY_ARRAY_2(c.left.P, d.left.P, 3, 4);
1316 
1317  CPY_ARRAY_2(c.right.M, d.right.M, 3, 3);
1318  CPY_ARRAY_1(c.right.D, d.right.D, 8);
1319  CPY_ARRAY_2(c.right.R, d.right.R, 3, 3);
1320  CPY_ARRAY_2(c.right.P, d.right.P, 3, 4);
1321 
1322  CPY_ARRAY_2(c.aux.M, d.aux.M, 3, 3);
1323  CPY_ARRAY_1(c.aux.D, d.aux.D, 8);
1324  CPY_ARRAY_2(c.aux.R, d.aux.R, 3, 3);
1325  CPY_ARRAY_2(c.aux.P, d.aux.P, 3, 4);
1326 
1327  return Status_Ok;
1328 }
1329 
1330 //
1331 // Set camera calibration
1332 
1334 {
1336 
1337  CPY_ARRAY_2(d.left.M, c.left.M, 3, 3);
1338  CPY_ARRAY_1(d.left.D, c.left.D, 8);
1339  CPY_ARRAY_2(d.left.R, c.left.R, 3, 3);
1340  CPY_ARRAY_2(d.left.P, c.left.P, 3, 4);
1341 
1342  CPY_ARRAY_2(d.right.M, c.right.M, 3, 3);
1343  CPY_ARRAY_1(d.right.D, c.right.D, 8);
1344  CPY_ARRAY_2(d.right.R, c.right.R, 3, 3);
1345  CPY_ARRAY_2(d.right.P, c.right.P, 3, 4);
1346 
1347  CPY_ARRAY_2(d.aux.M, c.aux.M, 3, 3);
1348  CPY_ARRAY_1(d.aux.D, c.aux.D, 8);
1349  CPY_ARRAY_2(d.aux.R, c.aux.R, 3, 3);
1350  CPY_ARRAY_2(d.aux.P, c.aux.P, 3, 4);
1351 
1352  return waitAck(d);
1353 }
1354 
1355 //
1356 // Get sensor transmit delay
1357 
1359 {
1361 
1363  if (Status_Ok != status)
1364  return status;
1365  c.delay = d.delay;
1366 
1367  return Status_Ok;
1368 }
1369 
1370 //
1371 // Set sensor transmit delay
1372 
1374 {
1376 
1377  d.delay = c.delay;
1378 
1379  return waitAck(d);
1380 }
1381 
1382 //
1383 // Get sensor packet delay
1384 
1386 {
1388 
1390  if (Status_Ok != status)
1391  return status;
1392  p.enable = d.enable;
1393 
1394  return Status_Ok;
1395 }
1396 
1397 //
1398 // Set sensor calibration
1399 
1401 {
1403 
1404  d.enable = c.enable;
1405 
1406  return waitAck(d);
1407 }
1408 
1409 //
1410 // Get lidar calibration
1411 
1413 {
1415 
1417  if (Status_Ok != status)
1418  return status;
1419 
1420  CPY_ARRAY_2(c.laserToSpindle, d.laserToSpindle, 4, 4);
1421  CPY_ARRAY_2(c.cameraToSpindleFixed, d.cameraToSpindleFixed, 4, 4);
1422 
1423  return Status_Ok;
1424 }
1425 
1426 //
1427 // Set lidar calibration
1428 
1430 {
1432 
1433  CPY_ARRAY_2(d.laserToSpindle, c.laserToSpindle, 4, 4);
1434  CPY_ARRAY_2(d.cameraToSpindleFixed, c.cameraToSpindleFixed, 4, 4);
1435 
1436  return waitAck(d);
1437 }
1438 
1439 //
1440 // Get a list of supported image formats / data sources
1441 
1442 Status impl::getDeviceModes(std::vector<system::DeviceMode>& modes)
1443 {
1445 
1447  if (Status_Ok != status)
1448  return Status_Error;
1449 
1450  modes.resize(d.modes.size());
1451  for(uint32_t i=0; i<d.modes.size(); i++) {
1452 
1453  system::DeviceMode& a = modes[i];
1454  const wire::DeviceMode& w = d.modes[i];
1455  const wire::SourceType s = ((uint64_t)w.extendedDataSources) << 32 | w.supportedDataSources;
1456  a.width = w.width;
1457  a.height = w.height;
1459  if (m_sensorVersion.firmwareVersion >= 0x0203)
1460  a.disparities = w.disparities;
1461  else
1462  a.disparities = (a.width == 1024) ? 128 : 0;
1463  }
1464 
1465  return Status_Ok;
1466 }
1467 
1468 //
1469 // Set/get the mtu
1470 
1471 Status impl::setMtu(int32_t mtu)
1472 {
1473  Status status = Status_Ok;
1474 
1475  //
1476  // Firmware v2.3 or better will send us an MTU-sized
1477  // response packet, which can be used to verify the
1478  // MTU setting before we actually make the change.
1479 
1480  if (m_sensorVersion.firmwareVersion <= 0x0202)
1481  status = waitAck(wire::SysMtu(mtu));
1482  else {
1484  status = waitData(wire::SysTestMtu(mtu), resp);
1485  if (Status_Ok == status)
1486  status = waitAck(wire::SysMtu(mtu));
1487  }
1488 
1489  if (Status_Ok == status)
1490  m_sensorMtu = mtu;
1491 
1492  return status;
1493 }
1494 
1495 Status impl::getMtu(int32_t& mtu)
1496 {
1497  wire::SysMtu resp;
1498 
1499  Status status = waitData(wire::SysGetMtu(), resp);
1500  if (Status_Ok == status)
1501  mtu = resp.mtu;
1502 
1503  return status;
1504 }
1505 
1507 {
1508  uint32_t cur_mtu = MAX_MTU_SIZE;
1509  uint32_t max_mtu = MAX_MTU_SIZE;
1510  uint32_t min_mtu = MIN_MTU_SIZE;
1511  uint32_t bisections = 0;
1512  Status status = Status_Ok;
1513 
1514  //
1515  // v2.2 and older do not support testing MTU
1516 
1517  if (m_sensorVersion.firmwareVersion <= 0x0202)
1518  return Status_Unsupported;
1519 
1520  while (bisections < 7){
1522  status = waitData(wire::SysTestMtu(cur_mtu), resp, 0.1, 1);
1523  if ((Status_Ok == status) && (cur_mtu == MAX_MTU_SIZE))
1524  break;
1525 
1526  bisections++;
1527 
1528  if (Status_Ok != status){
1529  max_mtu = cur_mtu;
1530  cur_mtu -= (cur_mtu - min_mtu) / 2;
1531  } else if (bisections < 7){
1532  min_mtu = cur_mtu;
1533  cur_mtu += (max_mtu - cur_mtu) / 2;
1534  }
1535 
1536  if ((Status_Ok != status) && (bisections == 7)){
1537  cur_mtu = min_mtu;
1538  status = waitData(wire::SysTestMtu(cur_mtu), resp, 0.1, 1);
1539  }
1540  }
1541 
1542  if (Status_Ok == status)
1543  status = waitAck(wire::SysMtu(cur_mtu));
1544  if (Status_Ok == status)
1545  m_sensorMtu = cur_mtu;
1546 
1547  return status;
1548 
1549 }
1550 
1552 {
1553  wire::MotorPoll resp;
1554 
1555  Status status = waitData(wire::LidarPollMotor(), resp);
1556  if (Status_Ok == status)
1557  pos = resp.angleStart;
1558 
1559  return status;
1560 }
1561 
1562 //
1563 // Set/get the network configuration
1564 
1566 {
1567  if (c.ipv4Address == "0.0.0.0" || c.ipv4Address == "255.255.255.255" ||
1568  c.ipv4Gateway == "0.0.0.0" || c.ipv4Gateway == "255.255.255.255" ||
1569  c.ipv4Netmask == "0.0.0.0" || c.ipv4Netmask == "255.255.255.255")
1570  return Status_Unsupported;
1571 
1573  c.ipv4Gateway,
1574  c.ipv4Netmask));
1575 }
1576 
1578 {
1579  wire::SysNetwork resp;
1580 
1581  Status status = waitData(wire::SysGetNetwork(), resp);
1582  if (Status_Ok == status) {
1583  c.ipv4Address = resp.address;
1584  c.ipv4Gateway = resp.gateway;
1585  c.ipv4Netmask = resp.netmask;
1586  }
1587 
1588  return status;
1589 }
1590 
1591 //
1592 // Get device info from sensor
1593 
1595 {
1597 
1598  Status status = waitData(wire::SysGetDeviceInfo(), w);
1599  if (Status_Ok != status)
1600  return status;
1601 
1602  info.name = w.name;
1603  info.buildDate = w.buildDate;
1604  info.serialNumber = w.serialNumber;
1606  info.pcbs.clear();
1607 
1608  for(uint8_t i=0; i<w.numberOfPcbs; i++) {
1609  system::PcbInfo pcb;
1610 
1611  pcb.name = w.pcbs[i].name;
1612  pcb.revision = w.pcbs[i].revision;
1613 
1614  info.pcbs.push_back(pcb);
1615  }
1616 
1617  info.imagerName = w.imagerName;
1619  info.imagerWidth = w.imagerWidth;
1620  info.imagerHeight = w.imagerHeight;
1621  info.lensName = w.lensName;
1622  info.lensType = w.lensType;
1626  info.lightingType = w.lightingType;
1627  info.numberOfLights = w.numberOfLights;
1628  info.laserName = w.laserName;
1629  info.laserType = w.laserType;
1630  info.motorName = w.motorName;
1631  info.motorType = w.motorType;
1633 
1634  return Status_Ok;
1635 }
1636 
1637 
1639 {
1641  return m_getStatusReturnStatus;
1642  }
1643 
1644  status.uptime = static_cast<double>(m_statusResponseMessage.uptime.getNanoSeconds()) * 1e-9;
1645 
1660 
1665 
1671 
1672  return Status_Ok;
1673 }
1674 
1676 {
1678 
1680  if (Status_Ok != status)
1681  return status;
1682 
1683  calibration.x = d.calibration[0];
1684  calibration.y = d.calibration[1];
1685  calibration.z = d.calibration[2];
1686  calibration.roll = d.calibration[3];
1687  calibration.pitch = d.calibration[4];
1688  calibration.yaw = d.calibration[5];
1689 
1690  return Status_Ok;
1691 }
1692 
1694 {
1696 
1697  w.calibration[0] = calibration.x;
1698  w.calibration[1] = calibration.y;
1699  w.calibration[2] = calibration.z;
1700  w.calibration[3] = calibration.roll;
1701  w.calibration[4] = calibration.pitch;
1702  w.calibration[5] = calibration.yaw;
1703 
1704  return waitAck(w);
1705 }
1706 
1708 {
1710 
1727 
1728  return waitAck(w);
1729 }
1730 
1732 {
1733  (void)params;
1735 
1736  w.family = params.family;
1737  w.max_hamming = params.max_hamming;
1743 
1744  return waitAck(w);
1745 }
1746 
1747 //
1748 // Query camera configuration
1749 
1751 {
1752  Status status;
1754 
1755  status = waitData(wire::SecondaryAppGetConfig(), d);
1756  if (Status_Ok != status)
1757  return status;
1758 
1759 
1760  if (d.dataLength >= 1024)
1761  {
1762  std::cerr << "Error: data length exceeds 1024b, truncating\n";
1763  config.dataLength = 1023;
1764  status = Status_Exception;
1765  }
1766  else
1767  {
1768  config.dataLength = d.dataLength;
1769  }
1770 
1771  memcpy(config.data, d.data, config.dataLength);
1772 
1773  return Status_Ok;
1774 }
1775 
1776 
1777 //
1778 // Set camera configuration
1779 //
1780 // Currently several sensor messages are combined and presented
1781 // to the user as one.
1782 
1784 {
1786 
1787  c.serialize();
1788 
1789  if (c.dataLength >= 1024)
1790  {
1791  std::cerr << "Error: data length too large" << std::endl;
1792  return Status_Error;
1793  }
1794  else
1795  {
1796  cmd.dataLength = c.dataLength;
1797  }
1798 
1799  memcpy(cmd.data, c.data, c.dataLength);
1800 
1801  return waitAck(cmd);
1802 }
1803 
1805 {
1806  Status status;
1808 
1810  if (Status_Ok != status)
1811  return status;
1812 
1813  for (auto app: d.apps)
1814  {
1815  system::SecondaryAppRegisteredApp _a(app.appVersion, app.appName);
1816  registeredApps.apps.push_back(_a);
1817  }
1818 
1819  return Status_Ok;
1820 }
1821 
1822 
1823 //
1824 // Set camera configuration
1825 //
1826 // Currently several sensor messages are combined and presented
1827 // to the user as one.
1828 
1829 Status impl::secondaryAppActivate(const std::string &_name)
1830 {
1831  wire::SecondaryAppActivate cmd(1, _name);
1832 
1833  return waitAck(cmd);
1834 }
1835 
1836 Status impl::secondaryAppDeactivate(const std::string &_name)
1837 {
1838  wire::SecondaryAppActivate cmd(0, _name);
1839 
1840  return waitAck(cmd);
1841 }
1842 
1843 //
1844 // Sets the device info
1845 
1846 Status impl::setDeviceInfo(const std::string& key,
1847  const system::DeviceInfo& info)
1848 {
1850 
1851  w.key = key; // must match device firmware key
1852  w.name = info.name;
1853  w.buildDate = info.buildDate;
1854  w.serialNumber = info.serialNumber;
1856  w.numberOfPcbs = std::min((uint8_t) info.pcbs.size(),
1858  for(uint32_t i=0; i<w.numberOfPcbs; i++) {
1859  w.pcbs[i].name = info.pcbs[i].name;
1860  w.pcbs[i].revision = info.pcbs[i].revision;
1861  }
1862 
1863  w.imagerName = info.imagerName;
1865  w.imagerWidth = info.imagerWidth;
1866  w.imagerHeight = info.imagerHeight;
1867  w.lensName = info.lensName;
1868  w.lensType = info.lensType;
1872  w.lightingType = info.lightingType;
1873  w.numberOfLights = info.numberOfLights;
1874  w.laserName = info.laserName;
1875  w.laserType = info.laserType;
1876  w.motorName = info.motorName;
1877  w.motorType = info.motorType;
1879 
1880  return waitAck(w);
1881 }
1882 
1883 //
1884 // Get IMU information
1885 
1886 Status impl::getImuInfo(uint32_t& maxSamplesPerMessage,
1887  std::vector<imu::Info>& info)
1888 {
1889  wire::ImuInfo w;
1890 
1891  Status status = waitData(wire::ImuGetInfo(), w);
1892  if (Status_Ok != status)
1893  return status;
1894 
1895  //
1896  // Wire --> API
1897 
1898  maxSamplesPerMessage = w.maxSamplesPerMessage;
1899  info.resize(w.details.size());
1900  for(uint32_t i=0; i<w.details.size(); i++) {
1901 
1902  const wire::imu::Details& d = w.details[i];
1903 
1904  info[i].name = d.name;
1905  info[i].device = d.device;
1906  info[i].units = d.units;
1907 
1908  info[i].rates.resize(d.rates.size());
1909  for(uint32_t j=0; j<d.rates.size(); j++) {
1910  info[i].rates[j].sampleRate = d.rates[j].sampleRate;
1911  info[i].rates[j].bandwidthCutoff = d.rates[j].bandwidthCutoff;
1912  }
1913  info[i].ranges.resize(d.ranges.size());
1914  for(uint32_t j=0; j<d.ranges.size(); j++) {
1915  info[i].ranges[j].range = d.ranges[j].range;
1916  info[i].ranges[j].resolution = d.ranges[j].resolution;
1917  }
1918  }
1919 
1920  return Status_Ok;
1921 }
1922 
1923 //
1924 // Get IMU configuration
1925 
1926 Status impl::getImuConfig(uint32_t& samplesPerMessage,
1927  std::vector<imu::Config>& c)
1928 {
1929  wire::ImuConfig w;
1930 
1931  Status status = waitData(wire::ImuGetConfig(), w);
1932  if (Status_Ok != status)
1933  return status;
1934 
1935  //
1936  // Wire --> API
1937 
1938  samplesPerMessage = w.samplesPerMessage;
1939  c.resize(w.configs.size());
1940  for(uint32_t i=0; i<w.configs.size(); i++) {
1941  c[i].name = w.configs[i].name;
1942  c[i].enabled = (w.configs[i].flags & wire::imu::Config::FLAGS_ENABLED);
1943  c[i].rateTableIndex = w.configs[i].rateTableIndex;
1944  c[i].rangeTableIndex = w.configs[i].rangeTableIndex;
1945  }
1946 
1947  return Status_Ok;
1948 }
1949 
1950 //
1951 // Set IMU configuration
1952 
1953 Status impl::setImuConfig(bool storeSettingsInFlash,
1954  uint32_t samplesPerMessage,
1955  const std::vector<imu::Config>& c)
1956 {
1957  wire::ImuConfig w;
1958 
1959  //
1960  // API --> wire
1961 
1962  w.storeSettingsInFlash = storeSettingsInFlash ? 1 : 0;
1963  w.samplesPerMessage = samplesPerMessage;
1964  w.configs.resize(c.size());
1965  for(uint32_t i=0; i<c.size(); i++) {
1966  w.configs[i].name = c[i].name;
1967  w.configs[i].flags = c[i].enabled ? wire::imu::Config::FLAGS_ENABLED : 0;
1968  w.configs[i].rateTableIndex = c[i].rateTableIndex;
1969  w.configs[i].rangeTableIndex = c[i].rangeTableIndex;
1970  }
1971 
1972  return waitAck(w);
1973 }
1974 
1975 //
1976 // Get recommended large buffer pool count/size
1977 
1978 Status impl::getLargeBufferDetails(uint32_t& bufferCount,
1979  uint32_t& bufferSize)
1980 {
1981  bufferCount = RX_POOL_LARGE_BUFFER_COUNT;
1982  bufferSize = RX_POOL_LARGE_BUFFER_SIZE;
1983 
1984  return Status_Ok;
1985 }
1986 
1987 //
1988 // Replace internal large buffers with user supplied
1989 
1990 Status impl::setLargeBuffers(const std::vector<uint8_t*>& buffers,
1991  uint32_t bufferSize)
1992 {
1993  if (buffers.size() < RX_POOL_LARGE_BUFFER_COUNT)
1994  CRL_DEBUG("WARNING: supplying less than recommended number of large buffers: %ld/%ld\n",
1995  static_cast<long int>(buffers.size()),
1996  static_cast<long int>(RX_POOL_LARGE_BUFFER_COUNT));
1997  if (bufferSize < RX_POOL_LARGE_BUFFER_SIZE)
1998  CRL_DEBUG("WARNING: supplying smaller than recommended large buffers: %ld/%ld bytes\n",
1999  static_cast<long int>(bufferSize),
2000  static_cast<long int>(RX_POOL_LARGE_BUFFER_SIZE));
2001 
2002  try {
2003 
2004  utility::ScopedLock lock(m_rxLock); // halt potential pool traversal
2005 
2006  //
2007  // Deletion is safe even if the buffer is in use elsewhere
2008  // (BufferStream is reference counted.)
2009 
2010  BufferPool::const_iterator it;
2011  for(it = m_rxLargeBufferPool.begin();
2012  it != m_rxLargeBufferPool.end();
2013  ++it)
2014  delete *it;
2015 
2016  m_rxLargeBufferPool.clear();
2017 
2018  for(uint32_t i=0; i<buffers.size(); i++)
2019  m_rxLargeBufferPool.push_back(new utility::BufferStreamWriter(buffers[i], bufferSize));
2020 
2021  } catch (const std::exception& e) {
2022  CRL_DEBUG("exception: %s\n", e.what());
2023  return Status_Exception;
2024  }
2025 
2026  return Status_Ok;
2027 }
2028 
2029 //
2030 // Retrieve the system-assigned local UDP port
2031 
2033 {
2034  port = m_serverSocketPort;
2035  return Status_Ok;
2036 }
2037 
2039 {
2041  return m_channelStatistics;
2042 }
2043 
2044 }}} // namespaces
crl::multisense::details::wire::SysApriltagParams::quad_detection_blur_sigma
double quad_detection_blur_sigma
Definition: SysApriltagParamsMessage.hh:59
crl::multisense::system::StatusMessage::rightImagerTemperature
float rightImagerTemperature
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3541
crl::multisense::system::StatusMessage::fpgaPower
float fpgaPower
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3551
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_max_range_m
float ground_surface_pointcloud_max_range_m
Definition: SysGroundSurfaceParamsMessage.hh:63
crl::multisense::details::wire::AuxCamConfig
Definition: AuxCamConfigMessage.hh:51
StatusResponseMessage.hh
crl::multisense::details::wire::imu::Details
Definition: ImuInfoMessage.hh:84
crl::multisense::Trigger_PTP
static CRL_CONSTEXPR TriggerSource Trigger_PTP
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:281
crl::multisense::RemoteHeadSyncGroup::controller
RemoteHeadChannel controller
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:259
crl::multisense::lighting::Config::setFlash
void setFlash(bool onOff)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2311
crl::multisense::details::wire::SysDeviceInfo::numberOfLights
uint32_t numberOfLights
Definition: SysDeviceInfoMessage.hh:155
crl::multisense::Status_Failed
static CRL_CONSTEXPR Status Status_Failed
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:102
crl::multisense::details::impl::getTransmitDelay
virtual Status getTransmitDelay(image::TransmitDelay &c)
Definition: public.cc:1358
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_decimation
int ground_surface_pointcloud_decimation
Definition: SysGroundSurfaceParamsMessage.hh:62
crl::multisense::details::wire::RemoteHeadConfig::syncGroups
std::vector< wire::RemoteHeadSyncGroup > syncGroups
Definition: RemoteHeadConfigMessage.hh:97
crl::multisense::details::wire::StatusResponse::STATUS_CAMERAS_OK
static CRL_CONSTEXPR uint32_t STATUS_CAMERAS_OK
Definition: StatusResponseMessage.hh:62
SysMtuMessage.hh
crl::multisense::details::wire::CamSetTriggerSource::SOURCE_EXTERNAL
static CRL_CONSTEXPR uint32_t SOURCE_EXTERNAL
Definition: CamSetTriggerSourceMessage.hh:55
CPY_ARRAY_1
#define CPY_ARRAY_1(d_, s_, n_)
Definition: Protocol.hh:356
crl::multisense::details::wire::MotorPoll
Definition: PollMotorInfoMessage.hh:51
CamControlMessage.hh
crl::multisense::details::impl::m_compressedImageListeners
std::list< CompressedImageListener * > m_compressedImageListeners
Definition: Legacy/include/MultiSense/details/channel.hh:497
crl::multisense::details::wire::PtpStatusResponse::gm_present
uint8_t gm_present
Definition: PtpStatusResponseMessage.hh:59
crl::multisense::details::impl::setImageConfig
virtual Status setImageConfig(const image::Config &c)
Definition: public.cc:1066
crl::multisense::system::VersionInfo::sensorFirmwareBuildDate
std::string sensorFirmwareBuildDate
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3168
crl::multisense::system::DeviceInfo::name
std::string name
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3291
crl::multisense::system::PtpStatus::gm_present
uint8_t gm_present
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3944
SysCameraCalibrationMessage.hh
crl::multisense::details::wire::SysExternalCalibration::calibration
float calibration[6]
Definition: SysExternalCalibrationMessage.hh:57
crl::multisense::details::wire::RemoteHeadControl::syncGroups
std::vector< wire::RemoteHeadSyncGroup > syncGroups
Definition: RemoteHeadControlMessage.hh:62
crl::multisense::details::impl::setPacketDelay
virtual Status setPacketDelay(const image::PacketDelay &p)
Definition: public.cc:1400
VersionResponseMessage.hh
crl::multisense::system::SecondaryAppConfig::data
uint8_t data[1024]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4043
AuxCamConfigMessage.hh
crl::multisense::details::wire::SysNetwork
Definition: SysNetworkMessage.hh:47
crl::multisense::Status_Ok
static CRL_CONSTEXPR Status Status_Ok
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:99
crl::multisense::details::impl::sourceApiToWire
static wire::SourceType sourceApiToWire(DataSource mask)
Definition: Legacy/details/channel.cc:453
crl::multisense::details::wire::SysDeviceInfo::nominalRelativeAperture
float nominalRelativeAperture
Definition: SysDeviceInfoMessage.hh:152
RemoteHeadGetConfigMessage.hh
crl::multisense::system::PtpStatus::gm_offset
int64_t gm_offset
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3950
crl::multisense::details::wire::CamControl::autoExposureRoiX
uint16_t autoExposureRoiX
Definition: CamControlMessage.hh:95
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
SecondaryAppRegisteredAppsMessage.hh
crl::multisense::details::wire::DeviceMode::extendedDataSources
uint32_t extendedDataSources
Definition: SysDeviceModesMessage.hh:53
crl::multisense::details::wire::CamControl::autoExposureMax
uint32_t autoExposureMax
Definition: CamControlMessage.hh:67
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_base_model
int ground_surface_base_model
Definition: SysGroundSurfaceParamsMessage.hh:59
crl::multisense::system::DeviceInfo::laserType
uint32_t laserType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3330
crl::multisense::details::impl::m_sensorVersion
wire::VersionResponse m_sensorVersion
Definition: Legacy/include/MultiSense/details/channel.hh:529
crl::multisense::image::Histogram::data
std::vector< uint32_t > data
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2008
crl::multisense::details::impl::stopStreams
virtual Status stopStreams(DataSource mask)
Definition: public.cc:683
crl::multisense::details::wire::DeviceMode::height
uint32_t height
Definition: SysDeviceModesMessage.hh:50
crl::multisense::lighting::SensorStatus
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2534
crl::multisense::details::wire::SysDeviceInfo::lensType
uint32_t lensType
Definition: SysDeviceInfoMessage.hh:149
crl::multisense::Status_Error
static CRL_CONSTEXPR Status Status_Error
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:101
crl::multisense::system::StatusMessage::externalLedsOk
bool externalLedsOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3525
crl::multisense::system::ExternalCalibration::yaw
float yaw
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3678
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_min_height_m
float ground_surface_pointcloud_min_height_m
Definition: SysGroundSurfaceParamsMessage.hh:68
crl::multisense::system::VersionInfo::sensorHardwareVersion
uint64_t sensorHardwareVersion
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3173
crl::multisense::details::wire::CamControl::autoExposureRoiY
uint16_t autoExposureRoiY
Definition: CamControlMessage.hh:96
SysGetLidarCalibrationMessage.hh
crl::multisense::details::wire::LedSet
Definition: LedSetMessage.hh:50
crl::multisense::system::ExternalCalibration
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3659
crl::multisense::details::wire::SysDeviceInfo::nominalBaseline
float nominalBaseline
Definition: SysDeviceInfoMessage.hh:150
crl::multisense::system::NetworkConfig::ipv4Netmask
std::string ipv4Netmask
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3433
crl::multisense::system::ApriltagParams::min_border_width
size_t min_border_width
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3914
SecondaryAppGetRegisteredAppsMessage.hh
crl::multisense::details::wire::LedStatus::invert_pulse
uint8_t invert_pulse
Definition: LedStatusMessage.hh:87
crl::multisense::image::Config::fps
float fps() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1056
crl::multisense::system::DeviceInfo::pcbs
std::vector< PcbInfo > pcbs
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3300
StreamControlMessage.hh
crl::multisense::image::AuxConfig::sharpeningLimit
uint8_t sharpeningLimit() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1785
crl::multisense::system::DeviceMode::supportedDataSources
DataSource supportedDataSources
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3098
crl::multisense::details::wire::CamConfig
Definition: CamConfigMessage.hh:54
crl::multisense::details::wire::StatusResponse::STATUS_LASER_OK
static CRL_CONSTEXPR uint32_t STATUS_LASER_OK
Definition: StatusResponseMessage.hh:60
crl::multisense::image::Config::autoExposureTargetIntensity
float autoExposureTargetIntensity() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1104
crl::multisense::details::wire::ImageMetaHeader::HISTOGRAM_BINS
static CRL_CONSTEXPR uint32_t HISTOGRAM_BINS
Definition: ImageMetaMessage.hh:56
crl::multisense::details::wire::SecondaryAppControl::dataLength
uint32_t dataLength
Definition: SecondaryAppControlMessage.hh:57
CRL_DEBUG
#define CRL_DEBUG(fmt,...)
Definition: Exception.hh:71
crl::multisense::details::wire::ExposureConfig::autoExposureRoiHeight
uint16_t autoExposureRoiHeight
Definition: ExposureConfigMessage.hh:63
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::wire::CamControl::gain
float gain
Definition: CamControlMessage.hh:63
crl::multisense::details::wire::VersionResponse::firmwareVersion
VersionType firmwareVersion
Definition: VersionResponseMessage.hh:56
crl::multisense::system::DeviceInfo::lensName
std::string lensName
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3312
crl::multisense::system::ExternalCalibration::y
float y
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3666
crl::multisense::details::wire::AuxCamControl::sharpeningLimit
uint8_t sharpeningLimit
Definition: AuxCamControlMessage.hh:87
crl::multisense::system::StatusMessage::inputCurrent
float inputCurrent
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3548
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
SysNetworkMessage.hh
crl::multisense::VersionType
uint32_t VersionType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:88
crl::multisense::details::wire::VersionResponse::firmwareBuildDate
std::string firmwareBuildDate
Definition: VersionResponseMessage.hh:55
crl::multisense::system::DeviceMode::width
uint32_t width
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3094
crl::multisense::details::wire::VersionResponse::hardwareVersion
uint64_t hardwareVersion
Definition: VersionResponseMessage.hh:57
crl::multisense::details::wire::LedStatus::available
uint8_t available
Definition: LedStatusMessage.hh:58
crl::multisense::image::AuxConfig::autoWhiteBalance
bool autoWhiteBalance() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1694
crl::multisense::image::AuxConfig::autoWhiteBalanceThresh
float autoWhiteBalanceThresh() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1710
crl::multisense::details::impl::setLargeBuffers
virtual Status setLargeBuffers(const std::vector< uint8_t * > &buffers, uint32_t bufferSize)
Definition: public.cc:1990
crl::multisense::image::AuxConfig::cameraProfile
CameraProfile cameraProfile() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1756
crl::multisense::details::impl::setGroundSurfaceParams
virtual Status setGroundSurfaceParams(const system::GroundSurfaceParams &params)
Definition: public.cc:1707
SysTransmitDelayMessage.hh
crl::multisense::details::wire::VersionResponse::hardwareMagic
uint64_t hardwareMagic
Definition: VersionResponseMessage.hh:58
crl::multisense::system::DeviceMode::disparities
int32_t disparities
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3100
crl::multisense::details::wire::AuxCamControl::cameraProfile
uint32_t cameraProfile
Definition: AuxCamControlMessage.hh:80
crl::multisense::system::DeviceInfo::lightingType
uint32_t lightingType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3323
crl::multisense::image::AuxConfig::exposure
uint32_t exposure() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1630
crl::multisense::system::NetworkConfig::ipv4Gateway
std::string ipv4Gateway
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3431
crl::multisense::image::Config::whiteBalanceBlue
float whiteBalanceBlue() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1128
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_grid_size
float ground_surface_pointcloud_grid_size
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3768
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::system::GroundSurfaceParams::ground_surface_adjacent_cell_search_size_m
float ground_surface_adjacent_cell_search_size_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3815
crl::multisense::details::wire::CamSetTriggerSource::SOURCE_EXTERNAL_INVERTED
static CRL_CONSTEXPR uint32_t SOURCE_EXTERNAL_INVERTED
Definition: CamSetTriggerSourceMessage.hh:56
ImuConfigMessage.hh
crl::multisense::Source_Luma_Left
static CRL_CONSTEXPR DataSource Source_Luma_Left
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:121
crl::multisense::details::impl::getMtu
virtual Status getMtu(int32_t &mtu)
Definition: public.cc:1495
SecondaryAppConfigMessage.hh
crl::multisense::image::AuxConfig::gamma
float gamma() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1764
crl::multisense::system::StatusMessage::fpgaTemperature
float fpgaTemperature
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3535
crl::multisense::details::wire::SysDeviceInfo::laserType
uint32_t laserType
Definition: SysDeviceInfoMessage.hh:158
crl::multisense::details::wire::SysDeviceInfo::nominalFocalLength
float nominalFocalLength
Definition: SysDeviceInfoMessage.hh:151
crl::multisense::image::Config::gamma
float gamma() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1214
LedSensorStatusMessage.hh
crl::multisense::system::GroundSurfaceParams::ground_surface_base_model
int ground_surface_base_model
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3763
crl::multisense::image::AuxConfig::autoExposureRoiWidth
uint16_t autoExposureRoiWidth() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1740
crl::multisense::image::Config::cameraProfile
CameraProfile cameraProfile() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1206
crl::multisense::lidar::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2112
crl::multisense::details::wire::SysCameraCalibration
Definition: SysCameraCalibrationMessage.hh:70
crl::multisense::details::wire::ImageMeta::histogramP
uint32_t histogramP[HISTOGRAM_BINS *HISTOGRAM_CHANNELS]
Definition: ImageMetaMessage.hh:95
SysSensorCalibrationMessage.hh
crl::multisense::details::wire::StatusResponse::temperature0
float temperature0
Definition: StatusResponseMessage.hh:73
CamSetTriggerSourceMessage.hh
crl::multisense::details::wire::AuxCamControl::sharpeningEnable
bool sharpeningEnable
Definition: AuxCamControlMessage.hh:85
crl::multisense::details::AprilTagDetectionListener
Listener< apriltag::Header, apriltag::Callback > AprilTagDetectionListener
Definition: listeners.hh:237
BufferStream.hh
crl::multisense::system::ApriltagParams::decode_sharpening
double decode_sharpening
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3923
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_number_of_levels_z
int ground_surface_number_of_levels_z
Definition: SysGroundSurfaceParamsMessage.hh:58
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_max_fitting_iterations
int ground_surface_max_fitting_iterations
Definition: SysGroundSurfaceParamsMessage.hh:71
crl::multisense::details::wire::CamControl::cameraProfile
uint32_t cameraProfile
Definition: CamControlMessage.hh:103
crl::multisense::details::PpsListener
Listener< pps::Header, pps::Callback > PpsListener
Definition: listeners.hh:233
crl::multisense::details::wire::CamControl::autoWhiteBalanceDecay
uint32_t autoWhiteBalanceDecay
Definition: CamControlMessage.hh:74
ImuGetConfigMessage.hh
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_min_width_m
float ground_surface_pointcloud_min_width_m
Definition: SysGroundSurfaceParamsMessage.hh:66
crl::multisense::system::GroundSurfaceParams::ground_surface_min_points_per_grid
int ground_surface_min_points_per_grid
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3773
crl::multisense::details::wire::LedStatus::led_delay_us
uint32_t led_delay_us
Definition: LedStatusMessage.hh:74
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::image::Config::gainMax
float gainMax() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1221
crl::multisense::details::wire::ImuConfig::samplesPerMessage
uint32_t samplesPerMessage
Definition: ImuConfigMessage.hh:82
crl::multisense::image::PacketDelay::enable
bool enable
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1950
crl::multisense::details::wire::LedStatus::rolling_shutter_led
uint8_t rolling_shutter_led
Definition: LedStatusMessage.hh:93
crl::multisense::details::wire::RemoteHeadSyncGroup
Definition: RemoteHeadConfigMessage.hh:68
crl::multisense::details::impl::removeIsolatedCallback
virtual Status removeIsolatedCallback(image::Callback callback)
Definition: public.cc:290
crl::multisense::image::AuxConfig::gain
float gain() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1622
crl::multisense::details::wire::AuxCamControl::exposure
uint32_t exposure
Definition: AuxCamControlMessage.hh:61
LedStatusMessage.hh
crl::multisense::system::NetworkConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3425
crl::multisense::details::wire::ExposureConfig::exposure
uint32_t exposure
Definition: ExposureConfigMessage.hh:54
crl::multisense::image::Calibration::Data::P
float P[3][4]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1927
CRL_CONSTEXPR
#define CRL_CONSTEXPR
Definition: Legacy/include/MultiSense/details/utility/Portability.hh:49
crl::multisense::details::wire::ImageMeta
Definition: ImageMetaMessage.hh:92
crl::multisense::lighting::Config::enableRollingShutterLedSynchronization
bool enableRollingShutterLedSynchronization(const bool enabled)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2465
CamConfigMessage.hh
crl::multisense::details::wire::SysApriltagParams::refine_quad_edges
bool refine_quad_edges
Definition: SysApriltagParamsMessage.hh:62
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_obstacle_height_thresh_m
float ground_surface_obstacle_height_thresh_m
Definition: SysGroundSurfaceParamsMessage.hh:69
crl::multisense::image::Config::autoExposureThresh
float autoExposureThresh() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1112
crl::multisense::details::wire::SysDeviceInfo::imagerType
uint32_t imagerType
Definition: SysDeviceInfoMessage.hh:144
crl::multisense::details::impl::sourceWireToApi
static DataSource sourceWireToApi(wire::SourceType mask)
Definition: Legacy/details/channel.cc:498
crl::multisense::details::wire::AuxCamControl::whiteBalanceRed
float whiteBalanceRed
Definition: AuxCamControlMessage.hh:67
crl::multisense::details::impl::m_dispatchLock
utility::Mutex m_dispatchLock
Definition: Legacy/include/MultiSense/details/channel.hh:467
crl::multisense::system::DeviceMode
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3090
crl::multisense::lighting::Config::getNumberOfPulses
uint32_t getNumberOfPulses() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2384
crl::multisense::details::impl::getMotorPos
virtual Status getMotorPos(int32_t &mtu)
Definition: public.cc:1551
crl::multisense::details::wire::SysGetDeviceInfo
Definition: SysGetDeviceInfoMessage.hh:49
crl::multisense::details::wire::CamControl::autoExposureTargetIntensity
float autoExposureTargetIntensity
Definition: CamControlMessage.hh:114
crl::multisense::details::wire::StatusResponse::STATUS_PIPELINE_OK
static CRL_CONSTEXPR uint32_t STATUS_PIPELINE_OK
Definition: StatusResponseMessage.hh:65
crl::multisense::details::wire::ExposureConfig::autoExposureThresh
float autoExposureThresh
Definition: ExposureConfigMessage.hh:58
crl::multisense::details::wire::LedSensorStatus
Definition: LedSensorStatusMessage.hh:49
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::wire::LedStatus
Definition: LedStatusMessage.hh:50
crl::multisense::system::GroundSurfaceParams::ground_surface_obstacle_height_thresh_m
float ground_surface_obstacle_height_thresh_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3802
crl::multisense::system::DeviceInfo::nominalBaseline
float nominalBaseline
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3316
crl::multisense::details::impl::setExternalCalibration
virtual Status setExternalCalibration(const system::ExternalCalibration &calibration)
Definition: public.cc:1693
SysGetMtuMessage.hh
crl::multisense::details::wire::ExposureConfig::autoExposureRoiY
uint16_t autoExposureRoiY
Definition: ExposureConfigMessage.hh:61
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_DEBUG_RAW
#define CRL_DEBUG_RAW(fmt)
Definition: Exception.hh:78
crl::multisense::image::Config::autoExposure
bool autoExposure() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1080
crl::multisense::details::wire::SysApriltagParams::quad_detection_decimate
double quad_detection_decimate
Definition: SysApriltagParamsMessage.hh:60
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_height_m
float ground_surface_pointcloud_min_height_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3798
crl::multisense::image::Config::exposure
uint32_t exposure() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1072
crl::multisense::details::impl::m_secondaryAppListeners
std::list< SecondaryAppListener * > m_secondaryAppListeners
Definition: Legacy/include/MultiSense/details/channel.hh:500
crl::multisense::details::impl::m_rxLargeBufferPool
BufferPool m_rxLargeBufferPool
Definition: Legacy/include/MultiSense/details/channel.hh:444
crl::multisense::image::AuxConfig::autoExposure
bool autoExposure() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1638
crl::multisense::details::wire::CamSetTriggerSource::SOURCE_PTP
static CRL_CONSTEXPR uint32_t SOURCE_PTP
Definition: CamSetTriggerSourceMessage.hh:57
crl::multisense::lighting::Config::setNumberOfPulses
bool setNumberOfPulses(const uint32_t numPulses)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2397
crl::multisense::details::wire::StatusResponse::temperature2
float temperature2
Definition: StatusResponseMessage.hh:79
crl::multisense::image::Calibration::aux
Data aux
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1935
crl::multisense::image::Calibration::Data::M
float M[3][3]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1920
crl::multisense::image::Calibration::left
Data left
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1931
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_width_m
float ground_surface_pointcloud_min_width_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3790
crl::multisense::details::wire::CamControl::whiteBalanceRed
float whiteBalanceRed
Definition: CamControlMessage.hh:71
crl::multisense::lighting::Config::getFlash
bool getFlash() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2319
crl::multisense::lighting::Config::getInvertPulse
bool getInvertPulse() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2436
crl::multisense::lighting::Config::setInvertPulse
bool setInvertPulse(const bool invert)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2449
crl::multisense::details::dispatchBufferReferenceTP
CRL_THREAD_LOCAL utility::BufferStream * dispatchBufferReferenceTP
Definition: public.cc:130
crl::multisense::details::wire::CamControl::gamma
float gamma
Definition: CamControlMessage.hh:115
PtpStatusRequestMessage.hh
crl::multisense::details::impl::getStats
virtual system::ChannelStatistics getStats()
Definition: public.cc:2038
crl::multisense::details::wire::SecondaryAppControl
Definition: SecondaryAppControlMessage.hh:50
crl::multisense::image::Config::width
uint32_t width() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1031
crl::multisense::details::wire::PcbInfo::name
std::string name
Definition: SysDeviceInfoMessage.hh:56
crl::multisense::details::wire::SysApriltagParams::min_border_width
uint64_t min_border_width
Definition: SysApriltagParamsMessage.hh:61
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_min_points_per_grid
int ground_surface_min_points_per_grid
Definition: SysGroundSurfaceParamsMessage.hh:61
crl::multisense::details::wire::StreamControl::enable
void enable(SourceType mask)
Definition: StreamControlMessage.hh:62
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_max_width_m
float ground_surface_pointcloud_max_width_m
Definition: SysGroundSurfaceParamsMessage.hh:65
crl::multisense::details::impl::getImageCalibration
virtual Status getImageCalibration(image::Calibration &c)
Definition: public.cc:1304
crl::multisense::details::wire::AuxCamControl::autoExposureMax
uint32_t autoExposureMax
Definition: AuxCamControlMessage.hh:63
crl::multisense::details::wire::AuxCamControl::whiteBalanceBlue
float whiteBalanceBlue
Definition: AuxCamControlMessage.hh:68
crl::multisense::details::GroundSurfaceSplineListener
Listener< ground_surface::Header, ground_surface::Callback > GroundSurfaceSplineListener
Definition: listeners.hh:236
crl::multisense::details::ImageListener
Listener< image::Header, image::Callback > ImageListener
Definition: listeners.hh:231
crl::multisense::details::wire::LedSet::rolling_shutter_led
uint8_t rolling_shutter_led
Definition: LedSetMessage.hh:93
crl::multisense::system::PtpStatus::gm_id
uint8_t gm_id[8]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3947
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::image::Config::autoExposureRoiX
uint16_t autoExposureRoiX() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1174
f
f
crl::multisense::details::wire::SysGetNetwork
Definition: SysGetNetworkMessage.hh:47
crl::multisense::details::wire::AuxCamControl::hdrEnabled
bool hdrEnabled
Definition: AuxCamControlMessage.hh:73
crl::multisense::Status_Unsupported
static CRL_CONSTEXPR Status Status_Unsupported
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:103
crl::multisense::details::wire::LedSet::flash
uint8_t flash
Definition: LedSetMessage.hh:68
crl::multisense::details::wire::ExposureConfig
Definition: ExposureConfigMessage.hh:49
crl::multisense::details::wire::AuxCamControl::autoWhiteBalanceThresh
float autoWhiteBalanceThresh
Definition: AuxCamControlMessage.hh:71
crl::multisense::details::wire::CamSetTriggerSource
Definition: CamSetTriggerSourceMessage.hh:49
crl::multisense::system::GroundSurfaceParams::ground_surface_obstacle_percentage_thresh
float ground_surface_obstacle_percentage_thresh
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3807
crl::multisense::details::wire::StatusResponse::status
uint32_t status
Definition: StatusResponseMessage.hh:72
crl::multisense::system::PtpStatus::path_delay
int64_t path_delay
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3953
crl::multisense::details::wire::AuxCamGetConfig
Definition: AuxCamGetConfigMessage.hh:49
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::multisense::system::DeviceInfo::imagerWidth
uint32_t imagerWidth
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3307
crl::multisense::details::SecondaryAppListener
Listener< secondary_app::Header, secondary_app::Callback > SecondaryAppListener
Definition: listeners.hh:238
crl::multisense::details::wire::SysGetCameraCalibration
Definition: SysGetCameraCalibrationMessage.hh:49
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_min_range_m
float ground_surface_pointcloud_min_range_m
Definition: SysGroundSurfaceParamsMessage.hh:64
crl::multisense::details::impl::getLightingSensorStatus
virtual Status getLightingSensorStatus(lighting::SensorStatus &status)
Definition: public.cc:807
crl::multisense::details::wire::LedSet::number_of_pulses
uint32_t number_of_pulses
Definition: LedSetMessage.hh:80
query.hh
crl::multisense::lidar::Calibration::cameraToSpindleFixed
float cameraToSpindleFixed[4][4]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2203
crl::multisense::details::wire::ImuGetConfig
Definition: ImuGetConfigMessage.hh:47
SysApriltagParamsMessage.hh
crl::multisense::details::wire::SysMtu::mtu
uint32_t mtu
Definition: SysMtuMessage.hh:56
crl::multisense::image::Histogram::bins
uint32_t bins
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2005
crl::multisense::image::Config::hdrEnabled
bool hdrEnabled() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1167
crl::multisense::details::wire::LidarPollMotor
Definition: LidarPollMotorMessage.hh:49
SysGetCameraCalibrationMessage.hh
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
Definition: Legacy/details/channel.cc:61
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_min_range_m
float ground_surface_pointcloud_min_range_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3784
crl::multisense::system::VersionInfo::sensorHardwareMagic
uint64_t sensorHardwareMagic
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3175
crl::multisense::system::NetworkConfig::ipv4Address
std::string ipv4Address
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3429
crl::multisense::details::wire::SysTransmitDelay
Definition: SysTransmitDelayMessage.hh:48
crl::multisense::details::wire::LedStatus::number_of_pulses
uint32_t number_of_pulses
Definition: LedStatusMessage.hh:80
crl::multisense::details::impl::m_streamsEnabled
DataSource m_streamsEnabled
Definition: Legacy/include/MultiSense/details/channel.hh:515
crl::multisense::system::SecondaryAppRegisteredApps
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4093
crl::multisense::details::wire::CamControl::autoExposureDecay
uint32_t autoExposureDecay
Definition: CamControlMessage.hh:68
crl::multisense::details::wire::AuxCamControl::gainMax
float gainMax
Definition: AuxCamControlMessage.hh:89
crl::multisense::details::wire::CamControl::whiteBalanceBlue
float whiteBalanceBlue
Definition: CamControlMessage.hh:72
crl::multisense::details::wire::SysNetwork::netmask
std::string netmask
Definition: SysNetworkMessage.hh:65
crl::multisense::imu::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2662
crl::multisense::details::wire::AuxCamControl::autoExposureTargetIntensity
float autoExposureTargetIntensity
Definition: AuxCamControlMessage.hh:82
crl::multisense::details::wire::SysApriltagParams::family
std::string family
Definition: SysApriltagParamsMessage.hh:57
crl::multisense::image::RemoteHeadConfig::setSyncGroups
void setSyncGroups(const std::vector< RemoteHeadSyncGroup > &sync_groups)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2034
crl::multisense::system::SecondaryAppRegisteredApps::apps
std::vector< SecondaryAppRegisteredApp > apps
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4095
crl::multisense::image::Config
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:797
crl::multisense::details::wire::StatusResponse::STATUS_IMU_OK
static CRL_CONSTEXPR uint32_t STATUS_IMU_OK
Definition: StatusResponseMessage.hh:63
crl::multisense::details::impl::setRemoteHeadConfig
virtual Status setRemoteHeadConfig(const image::RemoteHeadConfig &c)
Definition: public.cc:1264
crl::multisense::image::AuxConfig::autoExposureThresh
float autoExposureThresh() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1670
crl::multisense::details::impl::setImageCalibration
virtual Status setImageCalibration(const image::Calibration &c)
Definition: public.cc:1333
crl::multisense::system::StatusMessage::processingPipelineOk
bool processingPipelineOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3528
PollMotorInfoMessage.hh
crl::multisense::details::wire::DeviceMode::disparities
uint32_t disparities
Definition: SysDeviceModesMessage.hh:52
crl::multisense::details::ImuListener
Listener< imu::Header, imu::Callback > ImuListener
Definition: listeners.hh:234
crl::multisense::details::wire::SourceType
uint64_t SourceType
Definition: Protocol.hh:250
crl::multisense::lighting::Config::setDutyCycle
bool setDutyCycle(float percent)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2329
crl::multisense::details::impl::getLightingConfig
virtual Status getLightingConfig(lighting::Config &c)
Definition: public.cc:753
crl::multisense::details::wire::CamControl::hdrEnabled
bool hdrEnabled
Definition: CamControlMessage.hh:85
crl::multisense::details::wire::DeviceMode
Definition: SysDeviceModesMessage.hh:47
crl::multisense::details::wire::StatusResponse::STATUS_GENERAL_OK
static CRL_CONSTEXPR uint32_t STATUS_GENERAL_OK
Definition: StatusResponseMessage.hh:59
crl::multisense::details::wire::PtpStatusResponse::steps_removed
uint16_t steps_removed
Definition: PtpStatusResponseMessage.hh:70
crl::multisense::details::wire::SysDeviceInfo::buildDate
std::string buildDate
Definition: SysDeviceInfoMessage.hh:136
crl::multisense::details::wire::AuxCamControl::autoWhiteBalanceDecay
uint32_t autoWhiteBalanceDecay
Definition: AuxCamControlMessage.hh:70
crl::multisense::details::wire::SysDeviceInfo::imagerWidth
uint32_t imagerWidth
Definition: SysDeviceInfoMessage.hh:145
crl::multisense::details::wire::SysDeviceInfo::numberOfPcbs
uint8_t numberOfPcbs
Definition: SysDeviceInfoMessage.hh:140
LidarSetMotorMessage.hh
crl::multisense::details::wire::CamControl::autoExposure
uint8_t autoExposure
Definition: CamControlMessage.hh:66
crl::multisense::details::wire::SysDeviceInfo
Definition: SysDeviceInfoMessage.hh:69
crl::multisense::image::Config::autoExposureDecay
uint32_t autoExposureDecay() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1096
crl::multisense::details::wire::SysDeviceInfo::lensName
std::string lensName
Definition: SysDeviceInfoMessage.hh:148
crl::multisense::details::wire::SysNetwork::address
std::string address
Definition: SysNetworkMessage.hh:63
crl::multisense::details::wire::StatusResponse::STATUS_EXTERNAL_LED_OK
static CRL_CONSTEXPR uint32_t STATUS_EXTERNAL_LED_OK
Definition: StatusResponseMessage.hh:64
crl::multisense::details::wire::ImuConfig::configs
std::vector< imu::Config > configs
Definition: ImuConfigMessage.hh:83
crl::multisense::details::wire::ImuInfo::maxSamplesPerMessage
uint32_t maxSamplesPerMessage
Definition: ImuInfoMessage.hh:117
crl::multisense::details::impl::setDeviceInfo
virtual Status setDeviceInfo(const std::string &key, const system::DeviceInfo &i)
Definition: public.cc:1846
crl::multisense::system::VersionInfo::apiBuildDate
std::string apiBuildDate
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3163
crl::multisense::details::wire::LidarSetMotor
Definition: LidarSetMotorMessage.hh:50
crl::multisense::system::PcbInfo::revision
uint32_t revision
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3200
crl::multisense::details::utility::BufferStreamWriter
Definition: BufferStream.hh:259
crl::multisense::system::ApriltagParams::quad_detection_decimate
double quad_detection_decimate
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3895
crl::multisense::image::Config::height
uint32_t height() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1039
crl::multisense::details::wire::CamControl::autoWhiteBalanceThresh
float autoWhiteBalanceThresh
Definition: CamControlMessage.hh:75
SecondaryAppControlMessage.hh
Functional.hh
crl::multisense::details::wire::SysSetPtp::enable
uint8_t enable
Definition: SysSetPtpMessage.hh:57
crl::multisense::image::Calibration::Data::D
float D[8]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1923
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::system::StatusMessage::powerSupplyTemperature
float powerSupplyTemperature
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3532
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::wire::SysDeviceInfo::imagerName
std::string imagerName
Definition: SysDeviceInfoMessage.hh:143
crl::multisense::details::wire::StatusResponse::temperature3
float temperature3
Definition: StatusResponseMessage.hh:80
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_height_m
float ground_surface_pointcloud_max_height_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3794
crl::multisense::system::DeviceInfo::serialNumber
std::string serialNumber
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3295
crl::multisense::system::ExternalCalibration::roll
float roll
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3672
crl::multisense::details::wire::SysPacketDelay
Definition: SysPacketDelayMessage.hh:49
crl::multisense::details::wire::SysMtu
Definition: SysMtuMessage.hh:48
crl::multisense::details::wire::MotorPoll::angleStart
int32_t angleStart
Definition: PollMotorInfoMessage.hh:57
SysSetPtpMessage.hh
crl::multisense::system::SecondaryAppConfig::serialize
virtual void serialize(void)=0
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_width_m
float ground_surface_pointcloud_max_width_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3787
crl::multisense::details::wire::ExposureConfig::autoExposure
uint8_t autoExposure
Definition: ExposureConfigMessage.hh:55
crl::multisense::details::wire::SysDeviceInfo::lightingType
uint32_t lightingType
Definition: SysDeviceInfoMessage.hh:154
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
frameId
std::string const * frameId(const M &m)
crl::multisense::details::wire::ExposureConfig::autoExposureRoiX
uint16_t autoExposureRoiX
Definition: ExposureConfigMessage.hh:60
crl::multisense::details::impl::getImuInfo
virtual Status getImuInfo(uint32_t &maxSamplesPerMessage, std::vector< imu::Info > &info)
Definition: public.cc:1886
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_max_range_m
float ground_surface_pointcloud_max_range_m
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3780
crl::multisense::lidar::Calibration
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2195
crl::multisense::image::AuxConfig::autoExposureDecay
uint32_t autoExposureDecay() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1654
crl::multisense::system::DeviceInfo::hardwareRevision
uint32_t hardwareRevision
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3297
crl::multisense::details::wire::StatusResponse::uptime
utility::TimeStamp uptime
Definition: StatusResponseMessage.hh:71
crl::multisense::details::wire::AuxCamControl::autoExposureRoiHeight
uint16_t autoExposureRoiHeight
Definition: AuxCamControlMessage.hh:78
crl::multisense::lidar::Calibration::laserToSpindle
float laserToSpindle[4][4]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2200
crl::multisense::details::impl::getEnabledStreams
virtual Status getEnabledStreams(DataSource &mask)
Definition: public.cc:697
crl::multisense::details::wire::SysDeviceInfo::serialNumber
std::string serialNumber
Definition: SysDeviceInfoMessage.hh:137
crl::multisense::image::AuxConfig::autoExposureRoiHeight
uint16_t autoExposureRoiHeight() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1749
crl::multisense::image::Calibration
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1910
crl::multisense::details::wire::SysDeviceInfo::name
std::string name
Definition: SysDeviceInfoMessage.hh:135
crl::multisense::details::wire::RemoteHeadChannel
Definition: RemoteHeadConfigMessage.hh:49
crl::multisense::image::AuxConfig::autoExposureTargetIntensity
float autoExposureTargetIntensity() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1662
crl::multisense::image::RemoteHeadConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2011
crl::multisense::details::wire::StatusResponse::STATUS_LASER_MOTOR_OK
static CRL_CONSTEXPR uint32_t STATUS_LASER_MOTOR_OK
Definition: StatusResponseMessage.hh:61
crl::multisense::details::wire::AuxCamControl::autoExposureRoiX
uint16_t autoExposureRoiX
Definition: AuxCamControlMessage.hh:75
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::wire::RemoteHeadGetConfig
Definition: RemoteHeadGetConfigMessage.hh:49
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
crl::multisense::details::wire::ExposureConfig::autoExposureRoiWidth
uint16_t autoExposureRoiWidth
Definition: ExposureConfigMessage.hh:62
crl::multisense::system::ApriltagParams::max_hamming
uint8_t max_hamming
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3886
crl::multisense::details::wire::StatusResponse::temperature1
float temperature1
Definition: StatusResponseMessage.hh:74
crl::multisense::details::wire::AuxCamControl::autoExposure
uint8_t autoExposure
Definition: AuxCamControlMessage.hh:62
crl::multisense::image::Config::gain
float gain() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1063
crl::multisense::details::wire::CamControl::stereoPostFilterStrength
float stereoPostFilterStrength
Definition: CamControlMessage.hh:80
AuxCamControlMessage.hh
crl::multisense::Source_Luma_Aux
static CRL_CONSTEXPR DataSource Source_Luma_Aux
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:141
crl::multisense::details::wire::imu::Config::FLAGS_ENABLED
static CRL_CONSTEXPR uint32_t FLAGS_ENABLED
Definition: ImuConfigMessage.hh:51
crl::multisense::system::DeviceInfo::buildDate
std::string buildDate
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3293
crl::multisense::details::impl::reserveCallbackBuffer
virtual void * reserveCallbackBuffer()
Definition: public.cc:534
crl::multisense::system::DeviceInfo::laserName
std::string laserName
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3328
crl::multisense::system::StatusMessage::systemOk
bool systemOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3505
crl::multisense::details::wire::RemoteHeadConfig
Definition: RemoteHeadConfigMessage.hh:89
crl::multisense::image::Config::autoWhiteBalanceThresh
float autoWhiteBalanceThresh() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1152
crl::multisense::details::wire::CamControl::autoWhiteBalance
uint8_t autoWhiteBalance
Definition: CamControlMessage.hh:73
crl::multisense::system::VersionInfo::apiVersion
VersionType apiVersion
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3165
crl::multisense::Trigger_Internal
static CRL_CONSTEXPR TriggerSource Trigger_Internal
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:275
d
d
SysGetPacketDelayMessage.hh
crl::multisense::details::wire::PtpStatusResponse::path_delay
int64_t path_delay
Definition: PtpStatusResponseMessage.hh:65
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_obstacle_percentage_thresh
float ground_surface_obstacle_percentage_thresh
Definition: SysGroundSurfaceParamsMessage.hh:70
RemoteHeadConfigMessage.hh
crl::multisense::details::wire::RemoteHeadSyncGroup::responders
std::vector< wire::RemoteHeadChannel > responders
Definition: RemoteHeadConfigMessage.hh:73
crl::multisense::details::wire::ExposureConfig::exposureSource
uint32_t exposureSource
Definition: ExposureConfigMessage.hh:65
crl::multisense::ground_surface::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2960
crl::multisense::details::wire::CamSetTriggerSource::SOURCE_INTERNAL
static CRL_CONSTEXPR uint32_t SOURCE_INTERNAL
Definition: CamSetTriggerSourceMessage.hh:54
SysGetSensorCalibrationMessage.hh
crl::multisense::system::StatusMessage::imagerPower
float imagerPower
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3557
crl::multisense::details::wire::SysDeviceInfo::maxPcbs
static uint8_t maxPcbs()
Definition: SysDeviceInfoMessage.hh:85
crl::multisense::details::wire::SysExternalCalibration
Definition: SysExternalCalibrationMessage.hh:52
crl::multisense::details::wire::RemoteHeadSyncGroup::controller
wire::RemoteHeadChannel controller
Definition: RemoteHeadConfigMessage.hh:72
crl::multisense::details::wire::AuxCamControl::gamma
float gamma
Definition: AuxCamControlMessage.hh:83
crl::multisense::system::VersionInfo::sensorFirmwareVersion
VersionType sensorFirmwareVersion
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3170
crl::multisense::details::wire::StatusResponse::inputCurrent
float inputCurrent
Definition: StatusResponseMessage.hh:83
SysPacketDelayMessage.hh
crl::multisense::details::wire::AuxCamControl::autoWhiteBalance
uint8_t autoWhiteBalance
Definition: AuxCamControlMessage.hh:69
crl::multisense::details::wire::SecondaryAppActivate
Definition: SecondaryAppActivateMessage.hh:50
crl::multisense::details::impl::secondaryAppActivate
virtual Status secondaryAppActivate(const std::string &s)
Definition: public.cc:1829
crl::multisense::image::AuxConfig::autoWhiteBalanceDecay
uint32_t autoWhiteBalanceDecay() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1702
crl::multisense::details::wire::CamControl::gainMax
float gainMax
Definition: CamControlMessage.hh:126
crl::multisense::details::wire::CamControl::exposure
uint32_t exposure
Definition: CamControlMessage.hh:65
crl::multisense::system::SecondaryAppConfig::dataLength
uint32_t dataLength
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4042
crl::multisense::system::PcbInfo::name
std::string name
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3198
crl::multisense::system::DeviceInfo::motorType
uint32_t motorType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3335
LedGetSensorStatusMessage.hh
crl::multisense::details::wire::AuxCamControl::autoExposureRoiWidth
uint16_t autoExposureRoiWidth
Definition: AuxCamControlMessage.hh:77
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
SysExternalCalibrationMessage.hh
crl::multisense::system::ApriltagParams::refine_quad_edges
bool refine_quad_edges
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3917
crl::multisense::details::impl::m_ptpTimeSyncEnabled
bool m_ptpTimeSyncEnabled
Definition: Legacy/include/MultiSense/details/channel.hh:524
crl::multisense::system::PtpStatus::steps_removed
uint16_t steps_removed
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3956
crl::multisense::TriggerSource
uint32_t TriggerSource
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:272
crl::multisense::system::DeviceMode::height
uint32_t height
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3096
crl::multisense::details::wire::SysDeviceInfo::laserName
std::string laserName
Definition: SysDeviceInfoMessage.hh:157
crl::multisense::details::impl::m_serverSocketPort
uint16_t m_serverSocketPort
Definition: Legacy/include/MultiSense/details/channel.hh:405
crl::multisense::system::SecondaryAppRegisteredApp
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:4082
crl::multisense::details::impl::m_lidarListeners
std::list< LidarListener * > m_lidarListeners
Definition: Legacy/include/MultiSense/details/channel.hh:494
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_adjacent_cell_search_size_m
float ground_surface_adjacent_cell_search_size_m
Definition: SysGroundSurfaceParamsMessage.hh:72
crl::multisense::details::impl::m_rxLock
utility::Mutex m_rxLock
Definition: Legacy/include/MultiSense/details/channel.hh:483
crl::multisense::system::StatusMessage::camerasOk
bool camerasOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3517
crl::multisense::details::wire::CamControl::secondaryExposureConfigs
std::vector< ExposureConfig > secondaryExposureConfigs
Definition: CamControlMessage.hh:109
crl::multisense::system::StatusMessage::laserOk
bool laserOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3509
crl::multisense::details::impl::setTransmitDelay
virtual Status setTransmitDelay(const image::TransmitDelay &c)
Definition: public.cc:1373
crl::multisense::system::DeviceInfo::motorName
std::string motorName
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3333
crl::multisense::system::StatusMessage::leftImagerTemperature
float leftImagerTemperature
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3538
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
LidarPollMotorMessage.hh
crl::multisense::details::wire::LedStatus::intensity
uint8_t intensity[MAX_LIGHTS]
Definition: LedStatusMessage.hh:63
crl::multisense::image::Config::disparities
uint32_t disparities() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1048
crl::multisense::details::wire::RemoteHeadChannel::channel
::crl::multisense::RemoteHeadChannel channel
Definition: RemoteHeadConfigMessage.hh:53
crl::multisense::compressed_image::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2909
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::image::RemoteHeadConfig::syncGroups
std::vector< RemoteHeadSyncGroup > syncGroups() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2041
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::wire::CamSetResolution
Definition: CamSetResolutionMessage.hh:50
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
channel.hh
crl::multisense::details::wire::AuxCamControl
Definition: AuxCamControlMessage.hh:51
crl::multisense::image::Config::autoWhiteBalance
bool autoWhiteBalance() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1136
crl::multisense::details::wire::ExposureConfig::autoExposureDecay
uint32_t autoExposureDecay
Definition: ExposureConfigMessage.hh:57
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::image::Config::autoExposureRoiY
uint16_t autoExposureRoiY() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1181
crl::multisense::details::impl::m_imuListeners
std::list< ImuListener * > m_imuListeners
Definition: Legacy/include/MultiSense/details/channel.hh:496
crl::multisense::system::ExternalCalibration::pitch
float pitch
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3675
crl::multisense::details::impl::networkTimeSynchronization
virtual Status networkTimeSynchronization(bool enabled)
Definition: public.cc:642
crl::multisense::details::wire::ImageMetaHeader::HISTOGRAM_CHANNELS
static CRL_CONSTEXPR uint32_t HISTOGRAM_CHANNELS
Definition: ImageMetaMessage.hh:55
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
SysFlashOpMessage.hh
SysGetExternalCalibrationMessage.hh
StatusRequestMessage.hh
crl::multisense::system::VersionInfo
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3159
crl::multisense::Status_Exception
static CRL_CONSTEXPR Status Status_Exception
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:105
crl::multisense::system::StatusMessage::imuOk
bool imuOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3521
crl::multisense::details::wire::SecondaryAppGetRegisteredApps
Definition: SecondaryAppGetRegisteredAppsMessage.hh:49
crl::multisense::details::impl::getPtpStatus
virtual Status getPtpStatus(system::PtpStatus &ptpStatus)
Definition: public.cc:621
crl::multisense::system::GroundSurfaceParams::ground_surface_number_of_levels_x
int ground_surface_number_of_levels_x
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3749
ImuGetInfoMessage.hh
crl::multisense::details::wire::SysDeviceInfo::key
std::string key
Definition: SysDeviceInfoMessage.hh:134
crl::multisense::details::wire::StatusResponse::inputVolts
float inputVolts
Definition: StatusResponseMessage.hh:82
crl::multisense::image::AuxConfig::whiteBalanceBlue
float whiteBalanceBlue() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1686
ImuInfoMessage.hh
crl::multisense::image::Config::autoWhiteBalanceDecay
uint32_t autoWhiteBalanceDecay() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1144
SysDeviceModesMessage.hh
crl::multisense::RemoteHeadSyncGroup::responders
std::vector< RemoteHeadChannel > responders
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:264
crl::multisense::details::wire::LedSet::mask
uint8_t mask
Definition: LedSetMessage.hh:58
crl::multisense::pps::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2575
crl::multisense::details::wire::ImuGetInfo
Definition: ImuGetInfoMessage.hh:47
crl::multisense::system::VersionInfo::sensorFpgaDna
uint64_t sensorFpgaDna
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3177
PtpStatusResponseMessage.hh
crl::multisense::details::impl::m_aprilTagDetectionListeners
std::list< AprilTagDetectionListener * > m_aprilTagDetectionListeners
Definition: Legacy/include/MultiSense/details/channel.hh:499
crl::multisense::details::wire::SysGetExternalCalibration
Definition: SysGetExternalCalibrationMessage.hh:49
crl::multisense::details::impl::secondaryAppDeactivate
virtual Status secondaryAppDeactivate(const std::string &s)
Definition: public.cc:1836
crl::multisense::image::AuxConfig::sharpeningPercentage
float sharpeningPercentage() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1778
crl::multisense::system::DeviceInfo::lensType
uint32_t lensType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3314
multisense
Definition: factory.cc:39
crl::multisense::details::wire::PtpStatusResponse::gm_offset
int64_t gm_offset
Definition: PtpStatusResponseMessage.hh:60
crl::multisense::details::impl::m_groundSurfaceSplineListeners
std::list< GroundSurfaceSplineListener * > m_groundSurfaceSplineListeners
Definition: Legacy/include/MultiSense/details/channel.hh:498
crl::multisense::details::wire::SysApriltagParams
Definition: SysApriltagParamsMessage.hh:52
crl::multisense::image::AuxConfig
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1373
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_max_height_m
float ground_surface_pointcloud_max_height_m
Definition: SysGroundSurfaceParamsMessage.hh:67
VersionRequestMessage.hh
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
crl::multisense::details::wire::SysLidarCalibration
Definition: SysLidarCalibrationMessage.hh:49
crl::multisense::details::wire::ImuConfig
Definition: ImuConfigMessage.hh:76
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::wire::LedGetStatus
Definition: LedGetStatusMessage.hh:51
crl::multisense::system::DeviceInfo::nominalFocalLength
float nominalFocalLength
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3318
crl::multisense::details::impl::releaseCallbackBuffer
virtual Status releaseCallbackBuffer(void *referenceP)
Definition: public.cc:558
crl::multisense::system::ExternalCalibration::x
float x
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3663
crl::multisense::image::Calibration::Data::R
float R[3][3]
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1925
crl::multisense::details::wire::AuxCamControl::sharpeningPercentage
float sharpeningPercentage
Definition: AuxCamControlMessage.hh:86
crl::multisense::details::wire::SysSetPtp
Definition: SysSetPtpMessage.hh:49
crl::multisense::image::TransmitDelay::delay
int delay
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1942
crl::multisense::details::wire::CamControl::exposureSource
uint32_t exposureSource
Definition: CamControlMessage.hh:108
crl::multisense::details::wire::CamControl::autoExposureThresh
float autoExposureThresh
Definition: CamControlMessage.hh:69
crl::multisense::details::wire::CamGetConfig
Definition: CamGetConfigMessage.hh:50
crl::multisense::details::wire::RemoteHeadControl
Definition: RemoteHeadControlMessage.hh:54
SecondaryAppDataMessage.hh
crl::multisense::details::wire::SysGetTransmitDelay
Definition: SysGetTransmitDelayMessage.hh:48
crl::multisense::details::wire::SysGroundSurfaceParams
Definition: SysGroundSurfaceParamsMessage.hh:52
crl::multisense::details::wire::CamControl::framesPerSecond
float framesPerSecond
Definition: CamControlMessage.hh:62
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::CompressedImageListener
Listener< compressed_image::Header, compressed_image::Callback > CompressedImageListener
Definition: listeners.hh:235
crl::multisense::image::AuxConfig::autoExposureRoiX
uint16_t autoExposureRoiX() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1724
crl::multisense::details::impl::m_imageListeners
std::list< ImageListener * > m_imageListeners
Definition: Legacy/include/MultiSense/details/channel.hh:493
crl::multisense::system::DeviceInfo::numberOfLights
uint32_t numberOfLights
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3325
crl::multisense::details::wire::SysApriltagParams::max_hamming
uint8_t max_hamming
Definition: SysApriltagParamsMessage.hh:58
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::wire::DeviceMode::supportedDataSources
uint32_t supportedDataSources
Definition: SysDeviceModesMessage.hh:51
LedGetStatusMessage.hh
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
crl::multisense::details::wire::LedSet::intensity
uint8_t intensity[MAX_LIGHTS]
Definition: LedSetMessage.hh:63
crl::multisense::details::wire::SecondaryAppGetConfig
Definition: SecondaryAppGetConfigMessage.hh:49
crl::multisense::system::DeviceInfo::imagerName
std::string imagerName
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3303
crl::multisense::system::StatusMessage::laserMotorOk
bool laserMotorOk
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3513
crl::multisense::image::Config::autoExposureRoiWidth
uint16_t autoExposureRoiWidth() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1190
crl::multisense::details::wire::VersionResponse::fpgaDna
uint64_t fpgaDna
Definition: VersionResponseMessage.hh:59
crl::multisense::details::impl::getSecondaryAppConfig
virtual Status getSecondaryAppConfig(system::SecondaryAppConfig &c)
Definition: public.cc:1750
crl::multisense::details::wire::SysDeviceInfo::motorGearReduction
float motorGearReduction
Definition: SysDeviceInfoMessage.hh:162
crl::multisense::details::wire::StatusResponse::fpgaPower
float fpgaPower
Definition: StatusResponseMessage.hh:84
crl::multisense::details::wire::StatusResponse::imagerPower
float imagerPower
Definition: StatusResponseMessage.hh:86
crl::multisense::details::impl::m_ptpStatusResponseMessage
wire::PtpStatusResponse m_ptpStatusResponseMessage
Definition: Legacy/include/MultiSense/details/channel.hh:539
crl::multisense::lighting::MAX_LIGHTS
static CRL_CONSTEXPR uint32_t MAX_LIGHTS
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2211
crl::multisense::details::wire::AuxCamControl::autoExposureDecay
uint32_t autoExposureDecay
Definition: AuxCamControlMessage.hh:64
CamGetConfigMessage.hh
SysTestMtuMessage.hh
crl::multisense::details::wire::SysApriltagParams::decode_sharpening
double decode_sharpening
Definition: SysApriltagParamsMessage.hh:63
crl::multisense::Trigger_External
static CRL_CONSTEXPR TriggerSource Trigger_External
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:277
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_pointcloud_grid_size
float ground_surface_pointcloud_grid_size
Definition: SysGroundSurfaceParamsMessage.hh:60
SysGetDeviceInfoMessage.hh
crl::multisense::system::DeviceInfo::nominalRelativeAperture
float nominalRelativeAperture
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3320
crl::multisense::lighting::Config::getRollingShutterLedSynchronizationStatus
bool getRollingShutterLedSynchronizationStatus(void) const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2477
crl::multisense::details::wire::ImuConfig::storeSettingsInFlash
uint8_t storeSettingsInFlash
Definition: ImuConfigMessage.hh:81
crl::multisense::details::impl::m_statisticsLock
utility::Mutex m_statisticsLock
Definition: Legacy/include/MultiSense/details/channel.hh:551
crl::multisense::system::ApriltagParams::family
std::string family
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3883
crl::multisense::system::PtpStatus
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3940
crl::multisense::details::wire::SysDeviceInfo::pcbs
PcbInfo pcbs[MAX_PCBS]
Definition: SysDeviceInfoMessage.hh:141
crl::multisense::system::StatusMessage::inputVoltage
float inputVoltage
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3544
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::wire::AuxCamControl::autoExposureRoiY
uint16_t autoExposureRoiY
Definition: AuxCamControlMessage.hh:76
crl::multisense::details::wire::SecondaryAppConfig
Definition: SecondaryAppConfigMessage.hh:50
crl::multisense::details::utility::ScopedLock
Definition: linux/Thread.hh:165
SysTestMtuResponseMessage.hh
crl::multisense::image::AuxConfig::hdrEnabled
bool hdrEnabled() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1717
crl::multisense::details::impl::getExternalCalibration
virtual Status getExternalCalibration(system::ExternalCalibration &calibration)
Definition: public.cc:1675
crl::multisense::details::wire::SecondaryAppRegisteredApps
Definition: SecondaryAppRegisteredAppsMessage.hh:66
crl::multisense::details::impl::getImuConfig
virtual Status getImuConfig(uint32_t &samplesPerMessage, std::vector< imu::Config > &c)
Definition: public.cc:1926
crl::multisense::details::wire::StreamControl
Definition: StreamControlMessage.hh:47
crl::multisense::details::wire::SysTestMtuResponse
Definition: SysTestMtuResponseMessage.hh:49
crl::multisense::details::wire::SysDeviceInfo::motorType
uint32_t motorType
Definition: SysDeviceInfoMessage.hh:161
crl::multisense::lighting::Config::setStartupTime
bool setStartupTime(uint32_t ledTransientResponse_us)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2423
crl::multisense::image::AuxConfig::whiteBalanceRed
float whiteBalanceRed() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1678
crl::multisense::image::AuxConfig::autoExposureRoiY
uint16_t autoExposureRoiY() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1731
crl::multisense::details::wire::SysGetPacketDelay
Definition: SysGetPacketDelayMessage.hh:49
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::system::DeviceInfo::imagerType
uint32_t imagerType
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3305
crl::multisense::image::PacketDelay
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1946
crl::multisense::details::wire::CamControl::autoExposureRoiHeight
uint16_t autoExposureRoiHeight
Definition: CamControlMessage.hh:98
crl::multisense::lighting::Config::getDutyCycle
float getDutyCycle(uint32_t i) const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2369
SysGetTransmitDelayMessage.hh
crl::multisense::system::StatusMessage::uptime
double uptime
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3501
crl::multisense::system::DeviceInfo::motorGearReduction
float motorGearReduction
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3337
crl::multisense::details::impl::imagerApiToWire
static uint32_t imagerApiToWire(uint32_t h)
Definition: Legacy/details/channel.cc:597
crl::multisense::system::GroundSurfaceParams::ground_surface_max_fitting_iterations
int ground_surface_max_fitting_iterations
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3811
SysLidarCalibrationMessage.hh
crl::multisense::details::wire::StatusResponse::logicPower
float logicPower
Definition: StatusResponseMessage.hh:85
crl::multisense::details::wire::ExposureConfig::gain
float gain
Definition: ExposureConfigMessage.hh:67
CamSetResolutionMessage.hh
crl::multisense::details::impl::addIsolatedCallback
virtual Status addIsolatedCallback(image::Callback callback, DataSource imageSourceMask, void *userDataP)
Definition: public.cc:141
crl::multisense::details::wire::SysGroundSurfaceParams::ground_surface_number_of_levels_x
int ground_surface_number_of_levels_x
Definition: SysGroundSurfaceParamsMessage.hh:57
crl::multisense::image::Config::autoExposureMax
uint32_t autoExposureMax() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1088
crl::multisense::details::wire::AuxCamControl::gain
float gain
Definition: AuxCamControlMessage.hh:59
crl::multisense::details::wire::StreamControl::disable
void disable(SourceType mask)
Definition: StreamControlMessage.hh:65
SysGetNetworkMessage.hh
SecondaryAppGetConfigMessage.hh
crl::multisense::system::ExternalCalibration::z
float z
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3669
crl::multisense::image::AuxConfig::autoExposureMax
uint32_t autoExposureMax() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1646
crl::multisense::image::Calibration::right
Data right
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1933
crl::multisense::system::PcbInfo
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3194
crl::multisense::details::wire::ImuInfo::details
std::vector< imu::Details > details
Definition: ImuInfoMessage.hh:118
crl::multisense::CameraProfile
uint32_t CameraProfile
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:173
crl::multisense::details::wire::PcbInfo::revision
uint32_t revision
Definition: SysDeviceInfoMessage.hh:57
crl::multisense::system::ApriltagParams::quad_detection_blur_sigma
double quad_detection_blur_sigma
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3891
crl::multisense::details::wire::SysDeviceInfo::hardwareRevision
uint32_t hardwareRevision
Definition: SysDeviceInfoMessage.hh:138
crl::multisense::details::utility::TimeStamp::getNanoSeconds
int64_t getNanoSeconds() const
Definition: TimeStamp.cc:206
crl::multisense::details::impl::getNetworkConfig
virtual Status getNetworkConfig(system::NetworkConfig &c)
Definition: public.cc:1577
RemoteHeadControlMessage.hh
crl::multisense::details::wire::SysTestMtu
Definition: SysTestMtuMessage.hh:47
crl::multisense::details::wire::LedSet::led_delay_us
uint32_t led_delay_us
Definition: LedSetMessage.hh:74
SysGetDeviceModesMessage.hh
CPY_ARRAY_2
#define CPY_ARRAY_2(d_, s_, n_, m_)
Definition: Protocol.hh:360
crl::multisense::details::wire::SysGetDeviceModes
Definition: SysGetDeviceModesMessage.hh:47
crl::multisense::details::wire::AuxCamControl::autoExposureThresh
float autoExposureThresh
Definition: AuxCamControlMessage.hh:65
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::wire::PtpStatusResponse::gm_id
uint8_t gm_id[8]
Definition: PtpStatusResponseMessage.hh:75
crl::multisense::details::wire::ExposureConfig::autoExposureTargetIntensity
float autoExposureTargetIntensity
Definition: ExposureConfigMessage.hh:66
crl::multisense::details::utility::boundValue
Type boundValue(Type const &value, Type const &minimum, Type const &maximum)
Definition: Functional.hh:61
crl::multisense::Trigger_External_Inverted
static CRL_CONSTEXPR TriggerSource Trigger_External_Inverted
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:279
crl::multisense::system::DeviceInfo::imagerHeight
uint32_t imagerHeight
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3309
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::wire::SysGetLidarCalibration
Definition: SysGetLidarCalibrationMessage.hh:49
crl::multisense::details::wire::SysDeviceInfo::motorName
std::string motorName
Definition: SysDeviceInfoMessage.hh:160
crl::multisense::details::LidarListener
Listener< lidar::Header, lidar::Callback > LidarListener
Definition: listeners.hh:232
crl::multisense::details::wire::LedGetSensorStatus
Definition: LedGetSensorStatusMessage.hh:49
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::wire::ExposureConfig::autoExposureMax
uint32_t autoExposureMax
Definition: ExposureConfigMessage.hh:56
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::wire::LedSet::invert_pulse
uint8_t invert_pulse
Definition: LedSetMessage.hh:87
SysDeviceInfoMessage.hh
crl::multisense::image::Config::whiteBalanceRed
float whiteBalanceRed() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1120
crl::multisense::system::GroundSurfaceParams::ground_surface_pointcloud_decimation
int ground_surface_pointcloud_decimation
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3776
crl::multisense::image::Histogram::channels
uint32_t channels
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2000
crl::multisense::details::impl::API_VERSION
static CRL_CONSTEXPR VersionType API_VERSION
Definition: Legacy/include/MultiSense/details/channel.hh:286
crl::multisense::details::wire::SecondaryAppControl::data
uint8_t data[1024]
Definition: SecondaryAppControlMessage.hh:59
crl::multisense::details::impl::m_getPtpStatusReturnStatus
Status m_getPtpStatusReturnStatus
Definition: Legacy/include/MultiSense/details/channel.hh:547
AuxCamGetConfigMessage.hh
crl::multisense::system::ApriltagParams
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3880
crl::multisense::lighting::SensorStatus::ambientLightPercentage
float ambientLightPercentage
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2542
crl::multisense::details::wire::DeviceMode::width
uint32_t width
Definition: SysDeviceModesMessage.hh:49
crl::multisense::details::impl::imagerWireToApi
static uint32_t imagerWireToApi(uint32_t h)
Definition: Legacy/details/channel.cc:613
crl::multisense::details::wire::SysGetMtu
Definition: SysGetMtuMessage.hh:47
crl::multisense::image::AuxConfig::enableSharpening
void enableSharpening(const bool &s)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1532
crl::multisense::system::GroundSurfaceParams::ground_surface_number_of_levels_z
int ground_surface_number_of_levels_z
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3755
crl::multisense::details::wire::SysDeviceModes
Definition: SysDeviceModesMessage.hh:69
LedSetMessage.hh
crl::multisense::lighting::Config::getStartupTime
uint32_t getStartupTime() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:2410
crl::multisense::details::wire::ImuInfo
Definition: ImuInfoMessage.hh:109
crl::multisense::details::wire::LedSensorStatus::ambientLightPercentage
float ambientLightPercentage
Definition: LedSensorStatusMessage.hh:57
crl::multisense::image::Config::autoExposureRoiHeight
uint16_t autoExposureRoiHeight() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1199
crl::multisense::RemoteHeadSyncGroup
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:241
crl::multisense::details::wire::SysDeviceInfo::imagerHeight
uint32_t imagerHeight
Definition: SysDeviceInfoMessage.hh:146
crl::multisense::image::Config::stereoPostFilterStrength
float stereoPostFilterStrength() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1160
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::image::AuxConfig::gainMax
float gainMax() const
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:1792
crl::multisense::details::wire::CamControl::autoExposureRoiWidth
uint16_t autoExposureRoiWidth
Definition: CamControlMessage.hh:97
crl::multisense::system::StatusMessage::logicPower
float logicPower
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3554
crl::multisense::system::ChannelStatistics
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3972
crl::multisense::system::StatusMessage
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3496
crl::multisense::details::wire::LedStatus::flash
uint8_t flash
Definition: LedStatusMessage.hh:68
crl::multisense::details::wire::SysNetwork::gateway
std::string gateway
Definition: SysNetworkMessage.hh:64
SecondaryAppActivateMessage.hh
SysGroundSurfaceParamsMessage.hh
crl::multisense::details::wire::CamControl
Definition: CamControlMessage.hh:54
crl::multisense::apriltag::Callback
void(* Callback)(const Header &header, void *userDataP)
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:3016
crl::multisense::Source_Luma_Rectified_Aux
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Aux
Definition: Legacy/include/MultiSense/MultiSenseTypes.hh:142


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