Go to the documentation of this file.
153 }
catch (
const std::exception& e) {
174 }
catch (
const std::exception& e) {
195 }
catch (
const std::exception& e) {
216 }
catch (
const std::exception& e) {
238 }
catch (
const std::exception& e) {
259 }
catch (
const std::exception& e) {
280 }
catch (
const std::exception& e) {
295 std::list<ImageListener*>::iterator it;
300 if ((*it)->callback() == callback) {
307 }
catch (
const std::exception& e) {
329 }
catch (
const std::exception& e) {
344 std::list<LidarListener*>::iterator it;
349 if ((*it)->callback() == callback) {
356 }
catch (
const std::exception& e) {
372 std::list<PpsListener*>::iterator it;
377 if ((*it)->callback() == callback) {
384 }
catch (
const std::exception& e) {
400 std::list<ImuListener*>::iterator it;
405 if ((*it)->callback() == callback) {
412 }
catch (
const std::exception& e) {
428 std::list<CompressedImageListener*>::iterator it;
433 if ((*it)->callback() == callback) {
440 }
catch (
const std::exception& e) {
456 std::list<GroundSurfaceSplineListener*>::iterator it;
461 if ((*it)->callback() == callback) {
468 }
catch (
const std::exception& e) {
484 std::list<AprilTagDetectionListener*>::iterator it;
489 if ((*it)->callback() == callback) {
496 }
catch (
const std::exception& e) {
511 std::list<SecondaryAppListener*>::iterator it;
516 if ((*it)->callback() == callback) {
523 }
catch (
const std::exception& e) {
542 }
catch (
const std::exception& e) {
566 }
catch (
const std::exception& e) {
593 CRL_DEBUG(
"no meta cached for frameId %ld",
594 static_cast<long int>(
frameId));
601 const int entries = histogram.
channels * histogram.
bins;
602 const int sizeBytes = entries *
sizeof(uint32_t);
604 histogram.
data.resize(entries);
610 catch (
const std::exception& e) {
656 cmd.
enable = enabled ? 1 : 0;
765 duty = (data.
intensity[i] * 100.0f) / 255;
814 return requestStatus;
844 #ifdef BUILD_API_DATE
848 #endif // BUILD_API_DATE
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;
885 ConfigAccess& a = *((ConfigAccess *) &config);
887 a.setResolution(
d.width,
d.height);
888 if (-1 ==
d.disparities) {
894 a.setDisparities(
d.disparities);
895 a.setFps(
d.framesPerSecond);
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);
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);
913 a.setAutoExposureRoi(
d.autoExposureRoiX,
d.autoExposureRoiY,
914 d.autoExposureRoiWidth,
d.autoExposureRoiHeight);
916 a.setCal(
d.fx,
d.fy,
d.cx,
d.cy,
918 d.roll,
d.pitch,
d.yaw);
923 a.setGainMax(
d.gainMax);
935 void setCal(
float fx,
float fy,
float cx,
float cy) {
936 m_fx = fx; m_fy = fy; m_cx = cx; m_cy = cy;
941 ConfigAccess& a = *((ConfigAccess *) &config);
954 for (
size_t i = 0 ; i <
d.secondaryExposureConfigs.size() ; ++i)
959 index =
static_cast<int>(i);
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);
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))));
988 a.setGain(auxExposureConfig.
gain);
990 a.setExposure(auxExposureConfig.
exposure);
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);
1008 a.setCal(
d.fx,
d.fy,
d.cx,
d.cy);
1012 a.setGamma(
d.gamma);
1014 a.enableSharpening(
d.sharpeningEnable);
1015 a.setSharpeningPercentage(
d.sharpeningPercentage);
1016 a.setSharpeningLimit(
d.sharpeningLimit);
1017 a.setGainMax(
d.gainMax);
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);
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);
1043 a.setAutoExposureRoi(
d.autoExposureRoiX,
d.autoExposureRoiY,
1044 d.autoExposureRoiWidth,
d.autoExposureRoiHeight);
1046 a.setCal(
d.fx,
d.fy,
d.cx,
d.cy);
1050 a.setGamma(
d.gamma);
1052 a.enableSharpening(
d.sharpeningEnable);
1053 a.setSharpeningPercentage(
d.sharpeningPercentage);
1054 a.setSharpeningLimit(
d.sharpeningLimit);
1055 a.setGainMax(
d.gainMax);
1237 std::vector<RemoteHeadSyncGroup> grp;
1240 for (uint32_t i = 0 ; i < r.
syncGroups.size() ; ++i)
1244 std::vector<RemoteHeadChannel> responders;
1245 responders.reserve(wire_sg.
responders.size());
1247 for (uint32_t j = 0 ; j < wire_sg.
responders.size() ; ++j)
1251 responders.push_back(resp.
channel);
1268 const std::vector<RemoteHeadSyncGroup> c_sync_groups = c.
syncGroups();
1271 for (uint32_t i = 0 ; i < c_sync_groups.size() ; ++i)
1275 std::vector<wire::RemoteHeadChannel> r_responders;
1276 r_responders.reserve(c_sg.
responders.size());
1278 for (uint32_t j = 0 ; j < c_sg.
responders.size() ; ++j)
1283 r_responders.push_back(wire_channel);
1450 modes.resize(
d.modes.size());
1451 for(uint32_t i=0; i<
d.modes.size(); i++) {
1511 uint32_t bisections = 0;
1520 while (bisections < 7){
1530 cur_mtu -= (cur_mtu - min_mtu) / 2;
1531 }
else if (bisections < 7){
1533 cur_mtu += (max_mtu - cur_mtu) / 2;
1536 if ((
Status_Ok != status) && (bisections == 7)){
1614 info.
pcbs.push_back(pcb);
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];
1760 if (
d.dataLength >= 1024)
1762 std::cerr <<
"Error: data length exceeds 1024b, truncating\n";
1791 std::cerr <<
"Error: data length too large" << std::endl;
1813 for (
auto app:
d.apps)
1816 registeredApps.
apps.push_back(_a);
1887 std::vector<imu::Info>& info)
1899 info.resize(w.
details.size());
1900 for(uint32_t i=0; i<w.
details.size(); i++) {
1904 info[i].name =
d.name;
1905 info[i].device =
d.device;
1906 info[i].units =
d.units;
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;
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;
1927 std::vector<imu::Config>& c)
1940 for(uint32_t i=0; i<w.
configs.size(); i++) {
1941 c[i].name = w.
configs[i].name;
1943 c[i].rateTableIndex = w.
configs[i].rateTableIndex;
1944 c[i].rangeTableIndex = w.
configs[i].rangeTableIndex;
1954 uint32_t samplesPerMessage,
1955 const std::vector<imu::Config>& c)
1965 for(uint32_t i=0; i<c.size(); i++) {
1966 w.
configs[i].name = c[i].name;
1968 w.
configs[i].rateTableIndex = c[i].rateTableIndex;
1969 w.
configs[i].rangeTableIndex = c[i].rangeTableIndex;
1979 uint32_t& bufferSize)
1991 uint32_t bufferSize)
1994 CRL_DEBUG(
"WARNING: supplying less than recommended number of large buffers: %ld/%ld\n",
1995 static_cast<long int>(buffers.size()),
1998 CRL_DEBUG(
"WARNING: supplying smaller than recommended large buffers: %ld/%ld bytes\n",
1999 static_cast<long int>(bufferSize),
2010 BufferPool::const_iterator it;
2018 for(uint32_t i=0; i<buffers.size(); i++)
2021 }
catch (
const std::exception& e) {
double quad_detection_blur_sigma
float rightImagerTemperature
float ground_surface_pointcloud_max_range_m
static CRL_CONSTEXPR TriggerSource Trigger_PTP
RemoteHeadChannel controller
void setFlash(bool onOff)
static CRL_CONSTEXPR Status Status_Failed
virtual Status getTransmitDelay(image::TransmitDelay &c)
int ground_surface_pointcloud_decimation
std::vector< wire::RemoteHeadSyncGroup > syncGroups
static CRL_CONSTEXPR uint32_t STATUS_CAMERAS_OK
static CRL_CONSTEXPR uint32_t SOURCE_EXTERNAL
#define CPY_ARRAY_1(d_, s_, n_)
std::list< CompressedImageListener * > m_compressedImageListeners
virtual Status setImageConfig(const image::Config &c)
std::string sensorFirmwareBuildDate
std::vector< wire::RemoteHeadSyncGroup > syncGroups
virtual Status setPacketDelay(const image::PacketDelay &p)
static CRL_CONSTEXPR Status Status_Ok
static wire::SourceType sourceApiToWire(DataSource mask)
float nominalRelativeAperture
uint16_t autoExposureRoiX
void(* Callback)(const Header &header, void *userDataP)
static CRL_CONSTEXPR uint32_t MAX_USER_IMAGE_QUEUE_SIZE
uint32_t extendedDataSources
int ground_surface_base_model
wire::VersionResponse m_sensorVersion
std::vector< uint32_t > data
virtual Status stopStreams(DataSource mask)
static CRL_CONSTEXPR Status Status_Error
float ground_surface_pointcloud_min_height_m
uint64_t sensorHardwareVersion
uint16_t autoExposureRoiY
std::vector< PcbInfo > pcbs
uint8_t sharpeningLimit() const
DataSource supportedDataSources
static CRL_CONSTEXPR uint32_t STATUS_LASER_OK
float autoExposureTargetIntensity() const
#define CRL_DEBUG(fmt,...)
uint16_t autoExposureRoiHeight
std::list< PpsListener * > m_ppsListeners
void(* Callback)(const Header &header, void *userDataP)
VersionType firmwareVersion
bool m_networkTimeSyncEnabled
virtual Status setMotorSpeed(float rpm)
std::string firmwareBuildDate
bool autoWhiteBalance() const
float autoWhiteBalanceThresh() const
virtual Status setLargeBuffers(const std::vector< uint8_t * > &buffers, uint32_t bufferSize)
CameraProfile cameraProfile() const
virtual Status setGroundSurfaceParams(const system::GroundSurfaceParams ¶ms)
uint32_t exposure() const
float whiteBalanceBlue() const
float ground_surface_pointcloud_grid_size
virtual Status getAuxImageConfig(image::AuxConfig &c)
virtual Status setMtu(int32_t mtu)
float ground_surface_adjacent_cell_search_size_m
static CRL_CONSTEXPR uint32_t SOURCE_EXTERNAL_INVERTED
static CRL_CONSTEXPR DataSource Source_Luma_Left
virtual Status getMtu(int32_t &mtu)
int ground_surface_base_model
uint16_t autoExposureRoiWidth() const
CameraProfile cameraProfile() const
void(* Callback)(const Header &header, void *userDataP)
Listener< apriltag::Header, apriltag::Callback > AprilTagDetectionListener
int ground_surface_number_of_levels_z
int ground_surface_max_fitting_iterations
Listener< pps::Header, pps::Callback > PpsListener
uint32_t autoWhiteBalanceDecay
float ground_surface_pointcloud_min_width_m
int ground_surface_min_points_per_grid
virtual Status setBestMtu()
system::ChannelStatistics m_channelStatistics
uint32_t samplesPerMessage
uint8_t rolling_shutter_led
virtual Status removeIsolatedCallback(image::Callback callback)
bool enableRollingShutterLedSynchronization(const bool enabled)
float ground_surface_obstacle_height_thresh_m
float autoExposureThresh() const
static DataSource sourceWireToApi(wire::SourceType mask)
utility::Mutex m_dispatchLock
uint32_t getNumberOfPulses() const
virtual Status getMotorPos(int32_t &mtu)
float autoExposureTargetIntensity
static CRL_CONSTEXPR uint32_t STATUS_PIPELINE_OK
virtual Status getDeviceInfo(system::DeviceInfo &info)
static CRL_CONSTEXPR uint32_t MAX_USER_GROUND_SURFACE_QUEUE_SIZE
float ground_surface_obstacle_height_thresh_m
virtual Status setExternalCalibration(const system::ExternalCalibration &calibration)
uint16_t autoExposureRoiY
static CRL_CONSTEXPR uint32_t MAX_USER_COMPRESSED_IMAGE_QUEUE_SIZE
#define CRL_DEBUG_RAW(fmt)
bool autoExposure() const
double quad_detection_decimate
float ground_surface_pointcloud_min_height_m
uint32_t exposure() const
std::list< SecondaryAppListener * > m_secondaryAppListeners
BufferPool m_rxLargeBufferPool
bool autoExposure() const
static CRL_CONSTEXPR uint32_t SOURCE_PTP
bool setNumberOfPulses(const uint32_t numPulses)
float ground_surface_pointcloud_min_width_m
bool getInvertPulse() const
bool setInvertPulse(const bool invert)
CRL_THREAD_LOCAL utility::BufferStream * dispatchBufferReferenceTP
virtual system::ChannelStatistics getStats()
uint64_t min_border_width
int ground_surface_min_points_per_grid
void enable(SourceType mask)
float ground_surface_pointcloud_max_width_m
virtual Status getImageCalibration(image::Calibration &c)
Listener< ground_surface::Header, ground_surface::Callback > GroundSurfaceSplineListener
Listener< image::Header, image::Callback > ImageListener
uint8_t rolling_shutter_led
static CRL_CONSTEXPR uint32_t MAX_USER_IMU_QUEUE_SIZE
uint16_t autoExposureRoiX() const
static CRL_CONSTEXPR Status Status_Unsupported
float autoWhiteBalanceThresh
float ground_surface_obstacle_percentage_thresh
virtual Status getImageHistogram(int64_t frameId, image::Histogram &histogram)
static uint32_t hardwareApiToWire(uint32_t h)
Listener< secondary_app::Header, secondary_app::Callback > SecondaryAppListener
float ground_surface_pointcloud_min_range_m
virtual Status getLightingSensorStatus(lighting::SensorStatus &status)
uint32_t number_of_pulses
float cameraToSpindleFixed[4][4]
static CRL_CONSTEXPR uint32_t MAX_USER_SECONDARY_APP_QUEUE_SIZE
float ground_surface_pointcloud_min_range_m
uint64_t sensorHardwareMagic
uint32_t number_of_pulses
DataSource m_streamsEnabled
uint32_t autoExposureDecay
void(* Callback)(const Header &header, void *userDataP)
float autoExposureTargetIntensity
void setSyncGroups(const std::vector< RemoteHeadSyncGroup > &sync_groups)
std::vector< SecondaryAppRegisteredApp > apps
static CRL_CONSTEXPR uint32_t STATUS_IMU_OK
virtual Status setRemoteHeadConfig(const image::RemoteHeadConfig &c)
float autoExposureThresh() const
virtual Status setImageCalibration(const image::Calibration &c)
bool processingPipelineOk
Listener< imu::Header, imu::Callback > ImuListener
bool setDutyCycle(float percent)
virtual Status getLightingConfig(lighting::Config &c)
static CRL_CONSTEXPR uint32_t STATUS_GENERAL_OK
uint32_t autoWhiteBalanceDecay
uint32_t autoExposureDecay() const
static CRL_CONSTEXPR uint32_t STATUS_EXTERNAL_LED_OK
std::vector< imu::Config > configs
uint32_t maxSamplesPerMessage
virtual Status setDeviceInfo(const std::string &key, const system::DeviceInfo &i)
double quad_detection_decimate
float autoWhiteBalanceThresh
wire::StatusResponse m_statusResponseMessage
float powerSupplyTemperature
virtual Status setLidarCalibration(const lidar::Calibration &c)
float ground_surface_pointcloud_max_height_m
virtual void serialize(void)=0
float ground_surface_pointcloud_max_width_m
virtual Status getLargeBufferDetails(uint32_t &bufferCount, uint32_t &bufferSize)
std::string const * frameId(const M &m)
uint16_t autoExposureRoiX
virtual Status getImuInfo(uint32_t &maxSamplesPerMessage, std::vector< imu::Info > &info)
float ground_surface_pointcloud_max_range_m
uint32_t autoExposureDecay() const
uint32_t hardwareRevision
utility::TimeStamp uptime
uint16_t autoExposureRoiHeight
float laserToSpindle[4][4]
virtual Status getEnabledStreams(DataSource &mask)
uint16_t autoExposureRoiHeight() const
float autoExposureTargetIntensity() const
static CRL_CONSTEXPR uint32_t STATUS_LASER_MOTOR_OK
uint16_t autoExposureRoiX
virtual Status setAuxImageConfig(const image::AuxConfig &c)
DepthCache< int64_t, wire::ImageMeta > m_imageMetaCache
uint16_t autoExposureRoiWidth
float stereoPostFilterStrength
static CRL_CONSTEXPR DataSource Source_Luma_Aux
static CRL_CONSTEXPR uint32_t FLAGS_ENABLED
virtual void * reserveCallbackBuffer()
float autoWhiteBalanceThresh() const
static CRL_CONSTEXPR TriggerSource Trigger_Internal
float ground_surface_obstacle_percentage_thresh
std::vector< wire::RemoteHeadChannel > responders
void(* Callback)(const Header &header, void *userDataP)
static CRL_CONSTEXPR uint32_t SOURCE_INTERNAL
wire::RemoteHeadChannel controller
VersionType sensorFirmwareVersion
virtual Status secondaryAppActivate(const std::string &s)
uint32_t autoWhiteBalanceDecay() const
uint16_t autoExposureRoiWidth
Status waitData(const T &command, U &data, const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)
bool m_ptpTimeSyncEnabled
uint16_t m_serverSocketPort
std::list< LidarListener * > m_lidarListeners
float ground_surface_adjacent_cell_search_size_m
std::vector< ExposureConfig > secondaryExposureConfigs
virtual Status setTransmitDelay(const image::TransmitDelay &c)
float leftImagerTemperature
static CRL_CONSTEXPR uint32_t MAX_USER_PPS_QUEUE_SIZE
uint8_t intensity[MAX_LIGHTS]
uint32_t disparities() const
::crl::multisense::RemoteHeadChannel channel
void(* Callback)(const Header &header, void *userDataP)
virtual Status getSensorVersion(VersionType &version)
std::vector< RemoteHeadSyncGroup > syncGroups() const
virtual Status setSecondaryAppConfig(system::SecondaryAppConfig &c)
static CRL_CONSTEXPR uint32_t RX_POOL_LARGE_BUFFER_SIZE
bool autoWhiteBalance() const
uint32_t autoExposureDecay
static CRL_CONSTEXPR uint32_t MIN_MTU_SIZE
static CRL_CONSTEXPR uint32_t MAX_USER_APRILTAG_QUEUE_SIZE
uint16_t autoExposureRoiY() const
std::list< ImuListener * > m_imuListeners
virtual Status networkTimeSynchronization(bool enabled)
virtual Status getPacketDelay(image::PacketDelay &p)
virtual Status ptpTimeSynchronization(bool enabled)
static CRL_CONSTEXPR Status Status_Exception
virtual Status getPtpStatus(system::PtpStatus &ptpStatus)
int ground_surface_number_of_levels_x
float whiteBalanceBlue() const
uint32_t autoWhiteBalanceDecay() const
std::vector< RemoteHeadChannel > responders
void(* Callback)(const Header &header, void *userDataP)
std::list< AprilTagDetectionListener * > m_aprilTagDetectionListeners
virtual Status secondaryAppDeactivate(const std::string &s)
float sharpeningPercentage() const
std::list< GroundSurfaceSplineListener * > m_groundSurfaceSplineListeners
float ground_surface_pointcloud_max_height_m
Status m_getStatusReturnStatus
virtual Status setLightingConfig(const lighting::Config &c)
virtual Status getLidarCalibration(lidar::Calibration &c)
virtual Status getRemoteHeadConfig(image::RemoteHeadConfig &c)
virtual Status setApriltagParams(const system::ApriltagParams ¶ms)
static uint32_t hardwareWireToApi(uint32_t h)
virtual Status getImageConfig(image::Config &c)
virtual Status releaseCallbackBuffer(void *referenceP)
float sharpeningPercentage
static CRL_CONSTEXPR uint32_t RX_POOL_LARGE_BUFFER_COUNT
Listener< compressed_image::Header, compressed_image::Callback > CompressedImageListener
uint16_t autoExposureRoiX() const
std::list< ImageListener * > m_imageListeners
static CRL_CONSTEXPR uint32_t MAX_MTU_SIZE
uint32_t supportedDataSources
virtual Status getVersionInfo(system::VersionInfo &v)
virtual Status setNetworkConfig(const system::NetworkConfig &c)
uint8_t intensity[MAX_LIGHTS]
uint16_t autoExposureRoiWidth() const
virtual Status getSecondaryAppConfig(system::SecondaryAppConfig &c)
wire::PtpStatusResponse m_ptpStatusResponseMessage
static CRL_CONSTEXPR uint32_t MAX_LIGHTS
uint32_t autoExposureDecay
static CRL_CONSTEXPR TriggerSource Trigger_External
float ground_surface_pointcloud_grid_size
float nominalRelativeAperture
bool getRollingShutterLedSynchronizationStatus(void) const
uint8_t storeSettingsInFlash
utility::Mutex m_statisticsLock
virtual Status setImuConfig(bool storeSettingsInFlash, uint32_t samplesPerMessage, const std::vector< imu::Config > &c)
virtual Status getApiVersion(VersionType &version)
uint16_t autoExposureRoiY
virtual Status getExternalCalibration(system::ExternalCalibration &calibration)
virtual Status getImuConfig(uint32_t &samplesPerMessage, std::vector< imu::Config > &c)
bool setStartupTime(uint32_t ledTransientResponse_us)
float whiteBalanceRed() const
uint16_t autoExposureRoiY() const
virtual Status getDeviceStatus(system::StatusMessage &status)
uint16_t autoExposureRoiHeight
float getDutyCycle(uint32_t i) const
static uint32_t imagerApiToWire(uint32_t h)
int ground_surface_max_fitting_iterations
virtual Status addIsolatedCallback(image::Callback callback, DataSource imageSourceMask, void *userDataP)
int ground_surface_number_of_levels_x
uint32_t autoExposureMax() const
void disable(SourceType mask)
uint32_t autoExposureMax() const
std::vector< imu::Details > details
double quad_detection_blur_sigma
uint32_t hardwareRevision
int64_t getNanoSeconds() const
virtual Status getNetworkConfig(system::NetworkConfig &c)
#define CPY_ARRAY_2(d_, s_, n_, m_)
utility::Mutex m_streamLock
float autoExposureTargetIntensity
Type boundValue(Type const &value, Type const &minimum, Type const &maximum)
static CRL_CONSTEXPR TriggerSource Trigger_External_Inverted
virtual Status setTriggerSource(TriggerSource s)
virtual Status getRegisteredApps(system::SecondaryAppRegisteredApps &c)
virtual Status getLocalUdpPort(uint16_t &port)
Listener< lidar::Header, lidar::Callback > LidarListener
virtual Status getDeviceModes(std::vector< system::DeviceMode > &modes)
virtual Status startStreams(DataSource mask)
static CRL_CONSTEXPR uint32_t MAX_USER_LASER_QUEUE_SIZE
float whiteBalanceRed() const
int ground_surface_pointcloud_decimation
static CRL_CONSTEXPR VersionType API_VERSION
Status m_getPtpStatusReturnStatus
float ambientLightPercentage
static uint32_t imagerWireToApi(uint32_t h)
void enableSharpening(const bool &s)
int ground_surface_number_of_levels_z
uint32_t getStartupTime() const
float ambientLightPercentage
uint16_t autoExposureRoiHeight() const
float stereoPostFilterStrength() const
Status waitAck(const T &msg, wire::IdType id=MSG_ID(T::ID), const double &timeout=DEFAULT_ACK_TIMEOUT(), int32_t attempts=DEFAULT_ACK_ATTEMPTS)
uint16_t autoExposureRoiWidth
void(* Callback)(const Header &header, void *userDataP)
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Aux