37 #ifndef LibMultiSense_MultiSenseTypes_hh 38 #define LibMultiSense_MultiSenseTypes_hh 47 #if __cplusplus > 199711L 49 #define CRL_CONSTEXPR constexpr 52 #define CRL_CONSTEXPR const 57 #if !defined(MULTISENSE_API) 58 #if defined (_MSC_VER) 59 #if defined (MultiSense_EXPORTS) 60 #define MULTISENSE_API __declspec(dllexport) 62 #define MULTISENSE_API __declspec(dllimport) 65 #define MULTISENSE_API 69 #if defined (_MSC_VER) 76 #pragma warning (push) 77 #pragma warning (disable: 4251) 81 namespace multisense {
196 const std::string& addr,
197 uint16_t p=DFL_UDP_PORT,
202 fpsDecimation(dec) {};
231 virtual bool inMask(DataSource mask) { (void) mask;
return true; };
432 : source(Source_Unknown) {};
438 virtual bool inMask(DataSource mask) {
return (mask & source) != 0;};
555 uint32_t h) { m_width=w;m_height=h; };
677 float b) { m_wbRed=r;m_wbBlue=b; };
725 void setHdr (
bool e) { m_hdrEnabled = e; };
755 m_autoExposureRoiX = start_x;
756 m_autoExposureRoiY = start_y;
757 m_autoExposureRoiWidth = width;
758 m_autoExposureRoiHeight = height;
779 uint32_t
width ()
const {
return m_width; };
787 uint32_t
height ()
const {
return m_height; };
812 int offset ()
const {
return m_offset; };
820 float fps ()
const {
return m_fps; };
828 float gain ()
const {
return m_gain; };
986 float fx()
const {
return m_fx; };
997 float fy()
const {
return m_fy; };
1009 float cx()
const {
return m_cx; };
1021 float cy()
const {
return m_cy; };
1031 float tx()
const {
return m_tx; };
1042 float ty()
const {
return m_ty; };
1053 float tz()
const {
return m_tz; };
1063 float roll()
const {
return m_roll; };
1073 float pitch()
const {
return m_pitch; };
1083 float yaw()
const {
return m_yaw; };
1090 m_exposure(10000), m_aeEnabled(true), m_aeMax(5000000), m_aeDecay(7), m_aeThresh(0.75
f),
1091 m_wbBlue(1.0
f), m_wbRed(1.0
f), m_wbEnabled(true), m_wbDecay(3), m_wbThresh(0.5
f),
1092 m_width(1024), m_height(544), m_disparities(128), m_cam_mode(0), m_offset(-1), m_spfStrength(0.5
f),
1093 m_hdrEnabled(false), m_storeSettingsInFlash(false),
1094 m_autoExposureRoiX(0), m_autoExposureRoiY(0),
1095 m_autoExposureRoiWidth(Roi_Full_Image), m_autoExposureRoiHeight(Roi_Full_Image),
1096 m_profile(User_Control),
1097 m_fx(0), m_fy(0), m_cx(0), m_cy(0),
1098 m_tx(0), m_ty(0), m_tz(0), m_roll(0), m_pitch(0), m_yaw(0) {};
1328 uint8_t adc_gain[2];
1332 int16_t bl_offset[2];
1558 float laserToSpindle[4][4];
1561 float cameraToSpindleFixed[4][4];
1567 namespace lighting {
1689 if (percent < 0.0 || percent > MAX_DUTY_CYCLE)
1692 std::fill(m_dutyCycle.begin(),
1711 if (i >= MAX_LIGHTS ||
1712 percent < 0.0 || percent > MAX_DUTY_CYCLE)
1715 m_dutyCycle[i] = percent;
1729 if (i >= MAX_LIGHTS)
1731 return m_dutyCycle[i];
1738 Config() : m_flashEnabled(false), m_dutyCycle(MAX_LIGHTS, -1.0
f) {};
1886 return (static_cast<double>(timeSeconds) +
1887 1e-6 * static_cast<double>(timeMicroSeconds));
2168 supportedDataSources(
d),
2233 sensorFirmwareVersion(0),
2234 sensorHardwareVersion(0),
2235 sensorHardwareMagic(0),
2236 sensorFpgaDna(0) {};
2302 static CRL_CONSTEXPR uint32_t HARDWARE_REV_MULTISENSE_S = HARDWARE_REV_MULTISENSE_S7;
2379 hardwareRevision(0),
2384 nominalBaseline(0.0),
2385 nominalFocalLength(0.0),
2386 nominalRelativeAperture(0.0),
2391 motorGearReduction(0.0) {};
2475 ipv4Address(
"10.66.171.21"),
2476 ipv4Gateway(
"10.66.171.1"),
2477 ipv4Netmask(
"255.255.240.0") {};
2489 const std::string& g,
2490 const std::string& n) :
2600 laserMotorOk(false),
2603 externalLedsOk(false),
2604 processingPipelineOk(false),
2605 powerSupplyTemperature(0.),
2606 fpgaTemperature(0.),
2607 leftImagerTemperature(0.),
2608 rightImagerTemperature(0.),
2736 #if defined (_MSC_VER) 2737 #pragma warning (pop) 2740 #endif // LibMultiSense_MultiSenseTypes_hh
static CRL_CONSTEXPR DataSource Source_Disparity_Cost
uint16_t m_autoExposureRoiWidth
static CRL_CONSTEXPR DataSource Source_Luma_Aux
std::vector< PcbInfo > pcbs
std::vector< RangeEntry > ranges
void setStereoPostFilterStrength(float s)
NetworkConfig(const std::string &a, const std::string &g, const std::string &n)
static CRL_CONSTEXPR DataSource Source_Disparity_Right
static CRL_CONSTEXPR DataSource Source_Disparity_Left
DirectedStream(DataSource m, const std::string &addr, uint16_t p=DFL_UDP_PORT, uint32_t dec=1)
void setAutoWhiteBalanceThresh(float t)
static CRL_CONSTEXPR DataSource Source_Jpeg_Left
static CRL_CONSTEXPR CameraProfile Detail_Disparity
void setAutoWhiteBalanceDecay(uint32_t d)
static CRL_CONSTEXPR DataSource Source_Disparity
void setHeight(uint32_t h)
uint16_t m_autoExposureRoiHeight
static CRL_CONSTEXPR TriggerSource Trigger_Internal
void setStoreSettingsInFlash(bool e)
static CRL_CONSTEXPR TriggerSource Trigger_PTP
static CRL_CONSTEXPR DataSource Source_Chroma_Left
bool autoWhiteBalance() const
void setWidth(uint32_t w)
uint64_t sensorHardwareMagic
CameraProfile cameraProfile() const
static CRL_CONSTEXPR Status Status_Unsupported
float getDutyCycle(uint32_t i) const
static CRL_CONSTEXPR TriggerSource Trigger_External
static CRL_CONSTEXPR DataSource Source_Luma_Left
void setResolution(uint32_t w, uint32_t h)
bool m_storeSettingsInFlash
uint16_t autoExposureRoiX() const
bool setDutyCycle(uint32_t i, float percent)
float whiteBalanceBlue() const
uint32_t disparities() const
std_msgs::Header * header(M &m)
std::string sensorFirmwareBuildDate
static CRL_CONSTEXPR Status Status_Failed
bool setDutyCycle(float percent)
float powerSupplyTemperature
uint16_t autoExposureRoiHeight() const
float stereoPostFilterStrength() const
uint32_t autoExposureMax() const
uint32_t autoWhiteBalanceDecay() const
std::vector< float > m_dutyCycle
std::vector< uint32_t > data
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Aux
float autoExposureThresh() const
static CRL_CONSTEXPR DataSource Source_Lidar_Scan
static CRL_CONSTEXPR DataSource Source_Luma_Right
void setExposure(uint32_t e)
static CRL_CONSTEXPR DataSource Source_Imu
float leftImagerTemperature
void setFlash(bool onOff)
std::vector< RateEntry > rates
uint32_t hardwareRevision
static CRL_CONSTEXPR Status Status_TimedOut
bool autoExposure() const
static CRL_CONSTEXPR float MAX_DUTY_CYCLE
uint16_t autoExposureRoiY() const
static CRL_CONSTEXPR Status Status_Ok
bool processingPipelineOk
static CRL_CONSTEXPR DataSource Source_Chroma_Aux
static CRL_CONSTEXPR DataSource Source_Pps
static CRL_CONSTEXPR DataSource Source_Rgb_Left
void setAutoExposure(bool e)
void setDisparities(uint32_t d)
static CRL_CONSTEXPR CameraProfile User_Control
static CRL_CONSTEXPR TriggerSource Trigger_External_Inverted
uint16_t m_autoExposureRoiX
void setAutoExposureMax(uint32_t m)
uint16_t autoExposureRoiWidth() const
static CRL_CONSTEXPR CameraProfile High_Contrast
float whiteBalanceRed() const
DeviceMode(uint32_t w=0, uint32_t h=0, DataSource d=0, int32_t s=-1)
void setWhiteBalance(float r, float b)
static CRL_CONSTEXPR DataSource Source_Unknown
uint32_t autoExposureDecay() const
uint32_t exposure() const
VersionType sensorFirmwareVersion
uint16_t m_autoExposureRoiY
void setAutoExposureRoi(uint16_t start_x, uint16_t start_y, uint16_t width, uint16_t height)
static CRL_CONSTEXPR DataSource Source_Chroma_Rectified_Aux
static CRL_CONSTEXPR DataSource Source_Raw_Right
float nominalRelativeAperture
static CRL_CONSTEXPR DataSource Source_Raw_Left
static CRL_CONSTEXPR uint32_t MAX_LIGHTS
uint32_t timeMicroSeconds
float rightImagerTemperature
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Right
void setAutoExposureDecay(uint32_t d)
void(* Callback)(const Header &header, void *userDataP)
static CRL_CONSTEXPR Status Status_Exception
static CRL_CONSTEXPR DataSource Source_Raw_Aux
void setAutoWhiteBalance(bool e)
void setAutoExposureThresh(float t)
static CRL_CONSTEXPR DataSource Source_Disparity_Aux
bool storeSettingsInFlash() const
static CRL_CONSTEXPR Status Status_Error
uint64_t sensorHardwareVersion
static CRL_CONSTEXPR int Roi_Full_Image
float ambientLightPercentage
DataSource supportedDataSources
float autoWhiteBalanceThresh() const
static CRL_CONSTEXPR DataSource Source_Chroma_Right
static CRL_CONSTEXPR DataSource Source_All
static CRL_CONSTEXPR Status Status_Unknown
void setCameraProfile(const CameraProfile &profile)
static CRL_CONSTEXPR DataSource Source_Luma_Rectified_Left