diff --git a/src/lpCamera/tpCamBaumer/CameraBaumer.cpp b/src/lpCamera/tpCamBaumer/CameraBaumer.cpp index 84b4d9c..388c568 100644 --- a/src/lpCamera/tpCamBaumer/CameraBaumer.cpp +++ b/src/lpCamera/tpCamBaumer/CameraBaumer.cpp @@ -108,7 +108,7 @@ void CCameraBaumer::BufferReady(BGAPI2::Buffer * pBuffer) m_nImageHeight = pBuffer->GetHeight(); //m_funcFreeBuffer = NULL; //myImageCleanupFunc; m_nFrameNum = pBuffer->GetFrameID();//++;// = pFrame->frameID + 1; - m_pCb->IPushCameraData2(this); + m_pCb->IPushCameraData(this); pImage->Release(); pTranImage->Release(); pBuffer->QueueBuffer(); @@ -129,7 +129,7 @@ void CCameraBaumer::BufferReady(BGAPI2::Buffer * pBuffer) //m_nImageHeight = pBuffer->GetHeight(); //m_funcFreeBuffer = NULL; //myImageCleanupFunc; m_nFrameNum = pBuffer->GetFrameID();//++;// = pFrame->frameID + 1; - m_pCb->IPushCameraData2(this); + m_pCb->IPushCameraData(this); //pImage->Release(); //pTranImage->Release(); pBuffer->QueueBuffer(); @@ -292,6 +292,37 @@ void CCameraBaumer::IStopCamera() m_bStarted = false; } +void CCameraBaumer::InitProperty() +{ + if (m_pDevice != nullptr&&m_pCamOpt != nullptr) + { + long iShutter, iMaxShutter, iMinShutter; + //set exposure + { + if (m_pDevice->GetRemoteNodeList()->GetNodePresent("ExposureTime")) + { + m_pDevice->GetRemoteNode("ExposureTime")->SetDouble(m_pCamOpt->exposure); + } + else if (m_pDevice->GetRemoteNodeList()->GetNodePresent("ExposureTimeAbs")) + { + //iShutter = (long)m_pDevice->GetRemoteNode("ExposureTimeAbs")->GetDouble(); + iMinShutter = (long)m_pDevice->GetRemoteNode("ExposureTimeAbs")->GetDoubleMin(); + iMaxShutter = (long)m_pDevice->GetRemoteNode("ExposureTimeAbs")->GetDoubleMax(); + if (m_pCamOpt->exposure < iMinShutter || m_pCamOpt->exposure > iMaxShutter) { + qWarning() << QString("Invalid exposure time value:%1.").arg(m_pCamOpt->exposure) + << " - " << __FUNCTION__; + return; + } + m_pDevice->GetRemoteNode("ExposureTimeAbs")->SetDouble(m_pCamOpt->exposure); + + qDebug() << QString("Set exposure time value:%1 successfully.").arg(m_pCamOpt->exposure) + << " - " << __FUNCTION__; + } + } + } + +} + int CCameraBaumer::ISendSoftTrigger() { if (NULL == m_pDevice) diff --git a/src/lpCamera/tpCamBaumer/CameraBaumer.h b/src/lpCamera/tpCamBaumer/CameraBaumer.h index 8c5d645..0797228 100644 --- a/src/lpCamera/tpCamBaumer/CameraBaumer.h +++ b/src/lpCamera/tpCamBaumer/CameraBaumer.h @@ -3,8 +3,6 @@ #include "iCameraObject.h" #include "bgapi2_genicam.hpp" -//#include "QZkMutexMap.h" -//#include "LogBySpider.h" class CCameraBaumer : public ICameraObject { @@ -23,6 +21,7 @@ protected: virtual void IStartPush() {} virtual void IPausePush() {} + virtual void InitProperty(); virtual int ISendSoftTrigger(); virtual void ISnapCamera(); virtual QList IEnumAvailableCameras(); diff --git a/src/lpCoreCtrl/tpCamera/CameraPool.cpp b/src/lpCoreCtrl/tpCamera/CameraPool.cpp index f63005e..0ed7843 100644 --- a/src/lpCoreCtrl/tpCamera/CameraPool.cpp +++ b/src/lpCoreCtrl/tpCamera/CameraPool.cpp @@ -753,6 +753,10 @@ bool CCameraPool::ISetWidth(const QString& strSerial, int& width) TP_CAMERA_PROPERTY nProperty; nProperty.property = TP_CAM_PROPERTY_IMAGE_WIDTH; nProperty.value = width; + TP_CAMERA_OPTION* opt = lpCameraConfig::instance()->getCameraOption(strSerial); + if (opt) { + opt->width = width; + } return pCam->ISetProperty(&nProperty); } return false; @@ -780,6 +784,10 @@ bool CCameraPool::ISetHeight(const QString& strSerial, int& height) TP_CAMERA_PROPERTY nProperty; nProperty.property = TP_CAM_PROPERTY_IMAGE_HEIGHT; nProperty.value = height; + TP_CAMERA_OPTION* opt = lpCameraConfig::instance()->getCameraOption(strSerial); + if (opt) { + opt->height = height; + } return pCam->ISetProperty(&nProperty); } return false; diff --git a/src/lpCoreCtrl/tpCamera/lpCameraConfig.h b/src/lpCoreCtrl/tpCamera/lpCameraConfig.h index d2c967c..58a3d10 100644 --- a/src/lpCoreCtrl/tpCamera/lpCameraConfig.h +++ b/src/lpCoreCtrl/tpCamera/lpCameraConfig.h @@ -15,7 +15,7 @@ public: lpCameraConfig(); ~lpCameraConfig(); bool getCameraOption(const QString& serials, TP_CAMERA_OPTION& camOpt); - bool CameraOptionByKey(const QString& sKey, TP_CAMERA_OPTION& camOpt); + bool CameraOptionByKey(const QString& sKey, TP_CAMERA_OPTION& camOpt); bool SetCameraOption(const QString& sKey, const TP_CAMERA_OPTION& camOpt); TP_CAMERA_OPTION* getCameraOption(const QString& serials); QList CameraKeys() { diff --git a/tpvs17/Enchanter/Resources/hubwheel.ico b/tpvs17/Enchanter/Resources/hubwheel.ico new file mode 100644 index 0000000..4a8c169 Binary files /dev/null and b/tpvs17/Enchanter/Resources/hubwheel.ico differ diff --git a/tpvs17/Enchanter/Resources/hzleaper.ico b/tpvs17/Enchanter/Resources/hzleaper.ico new file mode 100644 index 0000000..1bc7255 Binary files /dev/null and b/tpvs17/Enchanter/Resources/hzleaper.ico differ diff --git a/tpvs17/Enchanter/Resources/molun.ico b/tpvs17/Enchanter/Resources/molun.ico new file mode 100644 index 0000000..b36695a Binary files /dev/null and b/tpvs17/Enchanter/Resources/molun.ico differ