From 4a66a2092852747dbe9ec0707f69cb6698c9b1d5 Mon Sep 17 00:00:00 2001 From: TAO Cheng Date: Fri, 7 Mar 2014 15:51:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9ESV4000E=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E5=8D=A1=E7=9A=84=E9=99=8D=E5=99=AA=E5=8A=9F=E8=83=BD=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E5=8F=8Aso7=5Fconfig.ini=E9=99=8D=E5=99=AA=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E7=9A=84=E8=AE=BE=E7=BD=AE=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp | 95 +++++-- .../Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h | 3 +- .../Tools/UsbUtility/Debug/UtilityDebug.Log | 64 +++++ .../Tools/UsbUtility/Debug/Utility_Config.ini | 6 +- .../Hsi/Tools/UsbUtility/Debug/so7_config.ini | 12 +- .../Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc | 16 +- .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp | 16 +- .../Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h | 4 +- .../UsbUtility/UsbUtil/SetSo7MotionConfig.cpp | 80 ++++-- .../UsbUtility/UsbUtil/Videocard_SV4000E.cpp | 42 ++- .../UsbUtility/UsbUtil/Videocard_SV4000E.h | 6 +- .../Hsi/Tools/UsbUtility/UsbUtil/resource.h | 7 +- .../Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo | Bin 2355712 -> 2355712 bytes .../Msi/Hsi/Videocard/SV4000E/DXMediaCap.h | 242 +++++++++++++++++- .../Msi/Hsi/Videocard/SV4000E/dataAcq.h | 115 --------- .../Msi/Hsi/Videocard/SV4000E/datastru.h | 6 +- 16 files changed, 528 insertions(+), 186 deletions(-) diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp index d0e25d1..4353c2c 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.cpp @@ -544,7 +544,6 @@ CSO7_Proto::CSO7_Proto() g_machine.s_machine_config.motion._ShiftPositionZ=0.0; g_machine.s_machine_config.motion._ShiftPositionZ=0.0; - g_machine.s_machine_config.motion.m_CntThreadSleepVal=550000; g_machine.s_machine_config.motion.GetInterruptMsgMethod=E_GET_INTERRUPT_MSG_INTERRUPT;//E_GET_INTERRUPT_MSG_INQUIRY; g_machine.s_machine_config.motion.m_WriteDataSleepTime=0; g_machine.s_machine_config.motion.m_AccuraErrPulseX=1; @@ -553,6 +552,14 @@ CSO7_Proto::CSO7_Proto() g_machine.s_machine_config.motion.m_EQUIDIS_X=0; g_machine.s_machine_config.motion.m_EQUIDIS_Y=0; g_machine.s_machine_config.motion.m_EQUIDIS_Z=0; + + g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=550000; + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=70; + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=70; + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]=70; + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=70; + + g_machine.s_machine_config.motion.m_MachineType=MACHINE_SO7_CONTROLLER; g_machine.s_machine_config.motion.m_VideoCardType=0; @@ -2152,7 +2159,7 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config() fprintf(m_pOutFile,"%d", g_machine.s_machine_config.zm_axis._SpeedSlow); fprintf(m_pOutFile, "\n;\n"); - outBuff="[HARDWARE]"; + outBuff="[MOTION]"; fprintf(m_pOutFile,"%s", outBuff); fprintf(m_pOutFile, "\n"); outBuff="CLOSE_LOOP_ENABLED="; @@ -2175,10 +2182,6 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config() fprintf(m_pOutFile,"%s", outBuff); fprintf(m_pOutFile,"%.6f", g_machine.s_machine_config.motion._ShiftPositionZ); fprintf(m_pOutFile, "\n"); - outBuff="SDK3000_SLEEP_COUNT="; - fprintf(m_pOutFile,"%s", outBuff); - fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_CntThreadSleepVal); - fprintf(m_pOutFile, "\n"); outBuff="GET_USB_MESSAGE_METHOD="; fprintf(m_pOutFile,"%s", outBuff); fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.GetInterruptMsgMethod); @@ -2212,6 +2215,29 @@ SSI_STATUS_MOTION CSO7_Proto::Save_So7_Config() fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_EQUIDIS_Z); fprintf(m_pOutFile, "\n;\n"); + outBuff="[VIDEOCARD]"; + outBuff="SDK3000_SLEEP_COUNT="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal); + fprintf(m_pOutFile, "\n"); + outBuff="SV4000E_DENOISE_PARA_CHANNEL1="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]); + fprintf(m_pOutFile, "\n"); + outBuff="SV4000E_DENOISE_PARA_CHANNEL2="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]); + fprintf(m_pOutFile, "\n"); + outBuff="SV4000E_DENOISE_PARA_CHANNEL3="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]); + fprintf(m_pOutFile, "\n"); + outBuff="SV4000E_DENOISE_PARA_CHANNEL4="; + fprintf(m_pOutFile,"%s", outBuff); + fprintf(m_pOutFile,"%d", g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]); + fprintf(m_pOutFile, "\n"); + fprintf(m_pOutFile, "\n;\n"); + outBuff="[HSI]"; fprintf(m_pOutFile,"%s", outBuff); fprintf(m_pOutFile, "\n"); @@ -2386,15 +2412,6 @@ SSI_STATUS_MOTION CSO7_Proto::Load_So7_Config() g_machine.s_machine_config.motion._ShiftPositionZ=atof(cTemp); } } - else if (!_stricmp(token,"SDK3000_SLEEP_COUNT")) - { - token = strtok( NULL, seps); - if (token) - { - strcpy(cTemp,token); - g_machine.s_machine_config.motion.m_CntThreadSleepVal=atoi(cTemp); - } - } else if (!_stricmp(token,"GET_USB_MESSAGE_METHOD")) { token = strtok( NULL, seps); @@ -2466,7 +2483,53 @@ SSI_STATUS_MOTION CSO7_Proto::Load_So7_Config() strcpy(cTemp,token); g_machine.s_machine_config.motion.m_EQUIDIS_Z=atoi(cTemp); } - } + } + //=================VideoCard======================== + else if (!_stricmp(token,"SDK3000_SLEEP_COUNT")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=atoi(cTemp); + } + } + else if (!_stricmp(token,"SV4000E_DENOISE_PARA_CHANNEL1")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=atoi(cTemp); + } + } + else if (!_stricmp(token,"SV4000E_DENOISE_PARA_CHANNEL2")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=atoi(cTemp); + } + } + else if (!_stricmp(token,"SV4000E_DENOISE_PARA_CHANNEL3")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]=atoi(cTemp); + } + } + else if (!_stricmp(token,"SV4000E_DENOISE_PARA_CHANNEL4")) + { + token = strtok( NULL, seps); + if (token) + { + strcpy(cTemp,token); + g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=atoi(cTemp); + } + } //=================MSI======================== else if(!_stricmp(token,"MACHINE_CONTROLLER_TYPE")) { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h index 1cf8245..539913b 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/SevenOcean/SO7_Proto.h @@ -155,7 +155,6 @@ struct s_so7_machine_interface_config double _ShiftPositionX; double _ShiftPositionY; double _ShiftPositionZ; - INT m_CntThreadSleepVal; char GetInterruptMsgMethod; INT m_WriteDataSleepTime; INT m_AccuraErrPulseX; @@ -164,6 +163,8 @@ struct s_so7_machine_interface_config INT m_EQUIDIS_X; INT m_EQUIDIS_Y; INT m_EQUIDIS_Z; + INT m_SDK3000_CntThreadSleepVal; + INT m_SV4000E_DenoisePara[4]; INT m_MachineType; INT m_VideoCardType; }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log index 7d9a5e4..eef606f 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/UtilityDebug.Log @@ -3818,3 +3818,67 @@ Init:Open device succeed . _start_machine Exit: Exit_SO7Usb Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. +Construct Cso7_Proto. +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Init:Open device succeed . +_start_machine +Exit: Exit_SO7Usb +Destruct Cso7_Proto. diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini index 3b655eb..116d353 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/Utility_Config.ini @@ -112,9 +112,9 @@ Z_MOTOR_WHEELBASE=1.500 MOTOR_PULSE_NUM=10000 ; [WORKTABLE] -X_SCALE_RESOLUTION=0.500 -Y_SCALE_RESOLUTION=0.500 -Z_SCALE_RESOLUTION=0.500 +X_SCALE_RESOLUTION=0.400 +Y_SCALE_RESOLUTION=0.400 +Z_SCALE_RESOLUTION=0.400 ; X_NEG_WORKING_LIMIT=0.000 Y_NEG_WORKING_LIMIT=0.000 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini index 9ece5c1..4477c54 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/Debug/so7_config.ini @@ -10,14 +10,13 @@ ZOOM_READING_INTERVAL_TIME=60 ZOOM_MOTOR_SPEED_FAST=2000 ZOOM_MOTOR_SPEED_SLOW=800 ; -[HARDWARE] +[MOTION] CLOSE_LOOP_ENABLED=0 MOTION_RETRY_TIMES=5 SHIFT_POSITION_X=0.000000 SHIFT_POSITION_Y=0.000000 SHIFT_POSITION_Z=0.000000 -SDK3000_SLEEP_COUNT=550000 -GET_USB_MESSAGE_METHOD=0 +GET_USB_MESSAGE_METHOD=1 WRITE_DATA_SLEEP_TIME=0 ACCURA_ERROR_PULSE_X=1 ACCURA_ERROR_PULSE_Y=1 @@ -25,6 +24,13 @@ ACCURA_ERROR_PULSE_Z=1 EQUIDISTANCE_PULSE_X=0 EQUIDISTANCE_PULSE_Y=0 EQUIDISTANCE_PULSE_Z=0 +; +SDK3000_SLEEP_COUNT=550000 +SV4000E_DENOISE_PARA_CHANNEL1=100 +SV4000E_DENOISE_PARA_CHANNEL2=70 +SV4000E_DENOISE_PARA_CHANNEL3=60 +SV4000E_DENOISE_PARA_CHANNEL4=70 + ; [HSI] MACHINE_CONTROLLER_TYPE=0 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc index 7fecc25..c9f2529 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Mv_Util.rc @@ -169,9 +169,11 @@ BEGIN CONTROL "ON",IDC_CHECK_SO7_COAXIAL_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,366,98,26,10 CONTROL "ON",IDC_CHECK_SO7_SPARE_LIGHT_ON,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,366,112,26,10 LTEXT "----------------------------------------------------",IDC_STATIC,305,170,140,8 - EDITTEXT IDC_EDIT_SET_SEQ_NO,261,46,29,14,ES_AUTOHSCROLL - PUSHBUTTON "Get SEQ NO.",IDC_BUTTON_SO7_GET_SEQ_NUMBER,230,66,60,15,BS_MULTILINE - LTEXT "SEQ NO.",IDC_STATIC,232,48,29,8 + EDITTEXT IDC_EDIT_SET_SEQ_NO,261,67,29,14,ES_AUTOHSCROLL + PUSHBUTTON "Get SEQ NO.",IDC_BUTTON_SO7_GET_SEQ_NUMBER,230,87,60,15,BS_MULTILINE + LTEXT "SEQ NO.",IDC_STATIC,232,69,29,8 + PUSHBUTTON "Set SEQ NO.",IDC_BUTTON_SO7_SET_SEQ_NUMBER,230,108,60,15,BS_MULTILINE + PUSHBUTTON "Set Ver NO.",IDC_BUTTON_SO7_SET_VER_NUMBER,230,45,60,15,BS_MULTILINE END IDD_SO7_UTIL_SEND_PARAMETER DIALOGEX 0, 0, 750, 480 @@ -782,9 +784,9 @@ FONT 8, "MS Shell Dlg", 400, 0, 0x1 BEGIN DEFPUSHBUTTON "开始",IDOK,372,298,50,14 PUSHBUTTON "退出",IDCANCEL,435,298,50,14 - CONTROL "彩色图像",IDC_RADIO_SV4000E_RGB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,435,49,48,10 - CONTROL "黑白图像",IDC_RADIO_SV4000E_GRAY,"Button",BS_AUTORADIOBUTTON,435,67,48,10 - CONTROL "垂直镜像",IDC_SV4000E_CHECK_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,93,48,10 + CONTROL "彩色图像",IDC_RADIO_SV4000E_RGB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,435,13,48,10 + CONTROL "黑白图像",IDC_RADIO_SV4000E_GRAY,"Button",BS_AUTORADIOBUTTON,435,31,48,10 + CONTROL "垂直镜像",IDC_SV4000E_CHECK_MIRROR_VERTICALLY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,435,57,48,10 PUSHBUTTON "保存图片",IDC_BUTTON_SV4000E_SAVEFILE,435,117,50,14 GROUPBOX "通道选择",IDC_STATIC,438,145,43,102 CONTROL "",IDC_STATIC_SV4000E_PICTURE,"Static",SS_BLACKFRAME | NOT WS_VISIBLE,225,300,71,12 @@ -793,6 +795,8 @@ BEGIN CONTROL "3",IDC_RADIO_SV4000E_CHANNEL3,"Button",BS_AUTORADIOBUTTON,451,196,20,10 CONTROL "4",IDC_RADIO_SV4000E_CHANNEL4,"Button",BS_AUTORADIOBUTTON,451,213,20,10 CONTROL "All",IDC_RADIO_SV4000E_CHANNEL_ALL,"Button",BS_AUTORADIOBUTTON,451,230,23,10 + EDITTEXT IDC_EDIT_SV4000E_DENOISE,441,93,40,14,ES_AUTOHSCROLL + GROUPBOX "降噪(5-100)",IDC_STATIC,437,75,47,39 END IDD_SO7_UTIL_PROGRAM DIALOGEX 0, 0, 590, 386 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp index 974bd20..b27a788 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.cpp @@ -117,7 +117,6 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog) ON_BN_CLICKED(IDC_BUTTON_RESET_V, &CSO7_UtilDlg::OnBnClickedButtonResetV) ON_BN_CLICKED(IDC_BUTTON_GET_FIXTURE_FLAG, &CSO7_UtilDlg::OnBnClickedButtonGetFixtureFlag) ON_BN_CLICKED(IDC_BUTTON_SET_RESET_FLAG, &CSO7_UtilDlg::OnBnClickedButtonSetResetFlag) - ON_EN_KILLFOCUS(IDC_EDIT_SET_VER_NO, &CSO7_UtilDlg::OnEnKillfocusEditSetVerNo) ON_BN_CLICKED(IDC_BUTTON_RESET_WORKTABLE_RIGHT, &CSO7_UtilDlg::OnBnClickedButtonResetWorktableRight) ON_BN_CLICKED(IDC_BUTTON_SET_OUT_PORT, &CSO7_UtilDlg::OnBnClickedButtonSetOutPort) ON_EN_KILLFOCUS(IDC_EDIT_X_SCALE_COEFFICIENT, &CSO7_UtilDlg::OnEnKillfocusEditXScaleCoefficient) @@ -145,8 +144,9 @@ BEGIN_MESSAGE_MAP(CSO7_UtilDlg, CDialog) ON_BN_CLICKED(IDC_CHECK_SO7_COAXIAL_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7CoaxialLightOn) ON_BN_CLICKED(IDC_CHECK_SO7_SPARE_LIGHT_ON, &CSO7_UtilDlg::OnBnClickedCheckSo7SpareLightOn) ON_BN_CLICKED(IDC_RADIO_READ_OUTPUT_PORT2, &CSO7_UtilDlg::OnBnClickedRadioReadOutputPort2) - ON_EN_KILLFOCUS(IDC_EDIT_SET_SEQ_NO, &CSO7_UtilDlg::OnEnKillfocusEditSetSeqNo) ON_BN_CLICKED(IDC_BUTTON_SO7_GET_SEQ_NUMBER, &CSO7_UtilDlg::OnBnClickedButtonSo7GetSeqNumber) + ON_BN_CLICKED(IDC_BUTTON_SO7_SET_SEQ_NUMBER, &CSO7_UtilDlg::OnBnClickedButtonSo7SetSeqNumber) + ON_BN_CLICKED(IDC_BUTTON_SO7_SET_VER_NUMBER, &CSO7_UtilDlg::OnBnClickedButtonSo7SetVerNumber) END_MESSAGE_MAP() @@ -355,7 +355,8 @@ void CSO7_UtilDlg::UpdateCtrlsStatus(bool _bEnable) GetDlgItem(IDC_BUTTON_GO)->EnableWindow(_bEnable); GetDlgItem(IDC_EDIT_SET_SEQ_NO)->EnableWindow(_bEnable); GetDlgItem(IDC_BUTTON_SO7_GET_SEQ_NUMBER)->EnableWindow(_bEnable); - + GetDlgItem(IDC_BUTTON_SO7_SET_SEQ_NUMBER)->EnableWindow(_bEnable); + GetDlgItem(IDC_BUTTON_SO7_SET_VER_NUMBER)->EnableWindow(_bEnable); } @@ -828,7 +829,7 @@ void CSO7_UtilDlg::OnBnClickedButtonSetResetFlag() m_pSO7_Proto->_send_cmd_SO7_CMD_SET_RESET_FLAG(); } -void CSO7_UtilDlg::OnEnKillfocusEditSetVerNo() +void CSO7_UtilDlg::OnBnClickedButtonSo7SetVerNumber() { UpdateData(TRUE); USES_CONVERSION; @@ -837,7 +838,8 @@ void CSO7_UtilDlg::OnEnKillfocusEditSetVerNo() m_pSO7_Proto->g_machine.cVerNumber = static_cast(atoi(cTempSendCmd)); m_pSO7_Proto->_send_cmd_SO7_CMD_SET_VER_NUMBER(); } -void CSO7_UtilDlg::OnEnKillfocusEditSetSeqNo() + +void CSO7_UtilDlg::OnBnClickedButtonSo7SetSeqNumber() { UpdateData(TRUE); USES_CONVERSION; @@ -848,12 +850,12 @@ void CSO7_UtilDlg::OnEnKillfocusEditSetSeqNo() m_pSO7_Proto->_send_cmd_SO7_CMD_SET_SEQ_NUMBER(); } - void CSO7_UtilDlg::OnBnClickedButtonSo7GetSeqNumber() { m_pSO7_Proto->_send_cmd_SO7_CMD_GET_SEQ_NUMBER(); CString csOutMessage; csOutMessage.Format(_T("%d"),static_cast(m_pSO7_Proto->g_machine.SEQ_NUMBER)); + GetDlgItem(IDC_EDIT_SET_SEQ_NO)->SetWindowTextW(csOutMessage); m_OutMessage = _T("[SEQ NO]: ")+csOutMessage; OutputWithScroll(m_OutMessage,m_edMSG); } @@ -1504,5 +1506,3 @@ void CSO7_UtilDlg::OnBnClickedButtonGo() m_pSO7_Proto->_send_cmd_SO7_CMD_MOVE_TO_POS_Z(); } - - diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h index f20c806..2cefc59 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SO7_UtilDlg.h @@ -98,7 +98,6 @@ public: afx_msg void OnBnClickedButtonResetV(); afx_msg void OnBnClickedButtonGetFixtureFlag(); afx_msg void OnBnClickedButtonSetResetFlag(); - afx_msg void OnEnKillfocusEditSetVerNo(); afx_msg void OnBnClickedButtonResetWorktableRight(); afx_msg void OnBnClickedButtonSetOutPort(); afx_msg void OnEnKillfocusEditXScaleCoefficient(); @@ -126,6 +125,7 @@ public: afx_msg void OnBnClickedCheckSo7CoaxialLightOn(); afx_msg void OnBnClickedCheckSo7SpareLightOn(); afx_msg void OnBnClickedRadioReadOutputPort2(); - afx_msg void OnEnKillfocusEditSetSeqNo(); afx_msg void OnBnClickedButtonSo7GetSeqNumber(); + afx_msg void OnBnClickedButtonSo7SetSeqNumber(); + afx_msg void OnBnClickedButtonSo7SetVerNumber(); }; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp index a8fecda..c7da650 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/SetSo7MotionConfig.cpp @@ -60,7 +60,7 @@ BOOL CSetSo7MotionConfig::OnInitDialog() } UpdateLabelName(); UpdateDataValue(); - m_ConfigList.SetMaxItemIndex(0,13,2,2); + m_ConfigList.SetMaxItemIndex(0,17,2,2); return TRUE; } @@ -98,13 +98,7 @@ void CSetSo7MotionConfig::UpdateLabelName() cStr="default:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; - - cStr="SDK3000_SLEEP_COUNT"; - m_ConfigList.SetItemText(iRow,iCol,cStr); - cStr="default:550000"; - m_ConfigList.SetItemText(iRow,iCol+2,cStr); - iRow++; - + cStr="GET_USB_MESSAGE_METHOD"; m_ConfigList.SetItemText(iRow,iCol,cStr); cStr="default:1"; @@ -152,6 +146,37 @@ void CSetSo7MotionConfig::UpdateLabelName() cStr="default:0"; m_ConfigList.SetItemText(iRow,iCol+2,cStr); iRow++; + + //=================VIDEOCARD================== + cStr="SDK3000_SLEEP_COUNT"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:550000"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SV4000E_DENOISE_PARA_CHANNEL1"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:70"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SV4000E_DENOISE_PARA_CHANNEL2"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:70"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SV4000E_DENOISE_PARA_CHANNEL3"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:70"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; + + cStr="SV4000E_DENOISE_PARA_CHANNEL4"; + m_ConfigList.SetItemText(iRow,iCol,cStr); + cStr="default:70"; + m_ConfigList.SetItemText(iRow,iCol+2,cStr); + iRow++; } void CSetSo7MotionConfig::UpdateDataValue() { @@ -168,8 +193,6 @@ void CSetSo7MotionConfig::UpdateDataValue() m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%.3f"),m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ); m_ConfigList.SetItemText(iRow++,iCol,cStr); - cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_CntThreadSleepVal); - m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.GetInterruptMsgMethod); m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_WriteDataSleepTime); @@ -186,6 +209,16 @@ void CSetSo7MotionConfig::UpdateDataValue() m_ConfigList.SetItemText(iRow++,iCol,cStr); cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z); m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]); + m_ConfigList.SetItemText(iRow++,iCol,cStr); + cStr.Format(_T("%d"),m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]); + m_ConfigList.SetItemText(iRow++,iCol,cStr); } void CSetSo7MotionConfig::SaveDataValue() { @@ -214,11 +247,7 @@ void CSetSo7MotionConfig::SaveDataValue() iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); - m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ=atof(cTemp); - iRow++; - cStr=m_ConfigList.GetItemText(iRow,iCol); - cTemp=T2A(cStr); - m_pSO7_Proto->g_machine.s_machine_config.motion.m_CntThreadSleepVal=atoi(cTemp); + m_pSO7_Proto->g_machine.s_machine_config.motion._ShiftPositionZ=atof(cTemp); iRow++; cStr=m_ConfigList.GetItemText(iRow,iCol); cTemp=T2A(cStr); @@ -252,7 +281,26 @@ void CSetSo7MotionConfig::SaveDataValue() cTemp=T2A(cStr); m_pSO7_Proto->g_machine.s_machine_config.motion.m_EQUIDIS_Z=atoi(cTemp); iRow++; - + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_SDK3000_CntThreadSleepVal=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[0]=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[1]=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[2]=atoi(cTemp); + iRow++; + cStr=m_ConfigList.GetItemText(iRow,iCol); + cTemp=T2A(cStr); + m_pSO7_Proto->g_machine.s_machine_config.motion.m_SV4000E_DenoisePara[3]=atoi(cTemp); + iRow++; } void CSetSo7MotionConfig::OnBnClickedButtonSo7MotionConfigOk() { diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.cpp b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.cpp index 002968c..f536bc1 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.cpp +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.cpp @@ -29,6 +29,10 @@ IMPLEMENT_DYNAMIC(CVideocard_SV4000E, CDialog) m_bMirror=FALSE; m_ConvertColorType=YUY2TORGB; m_bSaveFile=FALSE; + for (int i=0;i<4;i++) + { + m_DenoiseValue[i]=0; + } } CVideocard_SV4000E::~CVideocard_SV4000E() @@ -37,6 +41,7 @@ CVideocard_SV4000E::~CVideocard_SV4000E() void CVideocard_SV4000E::DoDataExchange(CDataExchange* pDX) { + DDX_Text(pDX, IDC_EDIT_SV4000E_DENOISE,m_EditDenoise); CDialog::DoDataExchange(pDX); } @@ -54,6 +59,7 @@ BEGIN_MESSAGE_MAP(CVideocard_SV4000E, CDialog) ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL3, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel3) ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL4, &CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel4) ON_BN_CLICKED(IDC_RADIO_SV4000E_CHANNEL_ALL, &CVideocard_SV4000E::OnBnClickedRadioSv4000eChannelAll) + ON_EN_KILLFOCUS(IDC_EDIT_SV4000E_DENOISE, &CVideocard_SV4000E::OnEnKillfocusEditSv4000eDenoise) END_MESSAGE_MAP() @@ -90,7 +96,9 @@ BOOL CVideocard_SV4000E::OnInitDialog() ((CButton *)GetDlgItem(IDC_RADIO_SV4000E_CHANNEL2))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_SV4000E_CHANNEL3))->SetCheck(FALSE); ((CButton *)GetDlgItem(IDC_RADIO_SV4000E_CHANNEL4))->SetCheck(FALSE); - + m_EditDenoise.Format(_T("%d"),m_DenoiseValue[m_Channel]); + EnableDenoise(m_Channel); + UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control } //=================================================== @@ -158,6 +166,8 @@ void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel1() { #ifdef _RELEASE_FULL_VERSION m_Channel=0; + m_EditDenoise.Format(_T("%d"),m_DenoiseValue[m_Channel]); + UpdateData(FALSE); #endif //_RELEASE_FULL_VERSION } //=================================================== @@ -165,6 +175,8 @@ void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel2() { #ifdef _RELEASE_FULL_VERSION m_Channel=1; + m_EditDenoise.Format(_T("%d"),m_DenoiseValue[m_Channel]); + UpdateData(FALSE); #endif //_RELEASE_FULL_VERSION } //=================================================== @@ -172,6 +184,8 @@ void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel3() { #ifdef _RELEASE_FULL_VERSION m_Channel=2; + m_EditDenoise.Format(_T("%d"),m_DenoiseValue[m_Channel]); + UpdateData(FALSE); #endif //_RELEASE_FULL_VERSION } //=================================================== @@ -179,6 +193,8 @@ void CVideocard_SV4000E::OnBnClickedRadioSV4000EChannel4() { #ifdef _RELEASE_FULL_VERSION m_Channel=3; + m_EditDenoise.Format(_T("%d"),m_DenoiseValue[m_Channel]); + UpdateData(FALSE); #endif //_RELEASE_FULL_VERSION } @@ -186,6 +202,26 @@ void CVideocard_SV4000E::OnBnClickedRadioSv4000eChannelAll() { m_Channel=4; } +//=================================================== +void CVideocard_SV4000E::EnableDenoise(int _DeviceID) +{ +#ifdef _RELEASE_FULL_VERSION + DXEnableDenoise(m_device[_DeviceID],m_DenoiseValue[_DeviceID]); +#endif //_RELEASE_FULL_VERSION + +} +//=================================================== +void CVideocard_SV4000E::OnEnKillfocusEditSv4000eDenoise() +{ + if(m_Channel<4) + { + UpdateData(TRUE); + USES_CONVERSION; + const char* cTempValue=T2A(m_EditDenoise); + m_DenoiseValue[m_Channel] = static_cast(atoi(cTempValue)); + EnableDenoise(m_Channel); + } +} //======================================= BOOL CVideocard_SV4000E::LoadVideocard() @@ -284,6 +320,7 @@ BOOL CVideocard_SV4000E::UnloadVideocard() { m_status=DXStopRawVideoCallback(m_device[i]); m_status=DXSetRawVideoCallback(m_device[i],NULL,NULL); + Sleep(100); CloseDevice(m_device[i]); } DXUninitialize(); @@ -292,7 +329,8 @@ BOOL CVideocard_SV4000E::UnloadVideocard() } //================================================================ -void CVideocard_SV4000E::ConvertVideoSubType(const Image_Buffer& _ImageBuffer, BYTE *_pSrcData,ConvertColorType _type,BOOL _bMirror) +void CVideocard_SV4000E::ConvertVideoSubType(const Image_Buffer& _ImageBuffer, + BYTE *_pSrcData,ConvertColorType _type,BOOL _bMirror) { int x=0; int y=0; diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.h index 0ac1598..59c0a01 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/Videocard_SV4000E.h @@ -33,7 +33,7 @@ public: protected: unsigned int m_status; device_handle m_device[4]; - + unsigned m_DenoiseValue[4]; int m_nDevNum; DWORD m_dwCard; Image_Buffer m_ImageBuffer; @@ -42,6 +42,7 @@ protected: BOOL m_bMirror; BOOL m_bSaveFile; CString m_SaveFile; + CString m_EditDenoise; unsigned int m_Channel; unsigned int bInitSdk; public: @@ -51,11 +52,12 @@ public: void CloseDevice(device_handle _Device); void ConvertVideoSubType(const Image_Buffer& _ImageBuffer, BYTE *pSrcData,ConvertColorType _type,BOOL _bMirror); BOOL SaveBitmapToFile(const CBitmap& bitmap, CString lpFileName); - + void EnableDenoise(int _DeviceID); afx_msg void OnBnClickedRadioSV4000EChannel1(); afx_msg void OnBnClickedRadioSV4000EChannel2(); afx_msg void OnBnClickedRadioSV4000EChannel3(); afx_msg void OnBnClickedRadioSV4000EChannel4(); afx_msg void OnBnClickedRadioSv4000eChannelAll(); + afx_msg void OnEnKillfocusEditSv4000eDenoise(); }; \ No newline at end of file diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h index 6f5cc4e..a4ef2b9 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil/resource.h @@ -329,8 +329,10 @@ #define IDC_RADIO_SELECT_X 1262 #define IDC_RADIO_SELECT_Y 1263 #define IDC_RADIO_SELECT_Z 1264 -#define IDC_BUTTON_RESET_WORKTABLE_RIGHT2 1265 #define IDC_BUTTON_SO7_GET_SEQ_NUMBER 1265 +#define IDC_BUTTON_SO7_SET_SEQ_NUMBER 1266 +#define IDC_BUTTON_SO7_SET_SEQ_NUMBER2 1267 +#define IDC_BUTTON_SO7_SET_VER_NUMBER 1267 #define IDC_BUTTON_SET_OUT_PORT 1269 #define IDC_EDIT_SET_VER_NO 1271 #define IDC_EDIT_X_SCALE_COEFFICIENT 1272 @@ -926,6 +928,7 @@ #define IDC_BTN_KEYENCE_LKG5000_ETHERNET_STOP_SCAN2 1834 #define IDC_RADIO_SO7_MOVE_SPEED_GEAR4 1834 #define IDC_RADIO_SO7_MOVE_SPEED_GEAR5 1835 +#define IDC_EDIT_SV4000E_DENOISE 1836 #define IDC_BUTTON_DIY_EXIT_BUTTON 32740 #define ID_EDIT_SO7_CONFIG_MOTION 32741 @@ -935,7 +938,7 @@ #ifndef APSTUDIO_READONLY_SYMBOLS #define _APS_NEXT_RESOURCE_VALUE 191 #define _APS_NEXT_COMMAND_VALUE 32771 -#define _APS_NEXT_CONTROL_VALUE 1836 +#define _APS_NEXT_CONTROL_VALUE 1837 #define _APS_NEXT_SYMED_VALUE 104 #endif #endif diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo index 5a857a23a86ecc4316c089acdb98a35cc7616277..ee71abe2c5191555d034f41369e2fab1abb85051 100644 GIT binary patch delta 4023 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 delta 3752 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 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/DXMediaCap.h b/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/DXMediaCap.h index 03a69b6..4f6cb02 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/DXMediaCap.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/DXMediaCap.h @@ -256,7 +256,7 @@ unsigned __stdcall DXGetDeviceState(device_handle device, unsigned& state); device - [in] 设备句柄 hWnd - [in] 显示视频的窗体句柄。NULL - 停止显示视频 rect - [in] 视频显示的矩形区域。NULL - 占用整个窗体 - vmrtype - [in] 该保留参数。(准备做指定显示过滤器只用) + vvmrtype - [in] 视频显示模式,0为OVERLAY显示,1为离屏显示 返回值: 0 - 成功;失败则返回错误代码 // */ @@ -444,7 +444,8 @@ unsigned __stdcall DXDetachIspTask(device_handle device, IispTask* ispTask); 返回值: 0 - 成功;失败则返回错误代码 // */ -typedef unsigned (__stdcall *fnEncVideoCallback)(unsigned fourcc, unsigned char* buffer, unsigned bufferSize, void* context); +typedef unsigned (__stdcall *fnEncVideoCallback)(unsigned fourcc, unsigned char* buffer, + unsigned bufferSize, void* context); /* 描述: @@ -485,7 +486,10 @@ unsigned __stdcall DXStopEncVideoCallback(device_handle device); 使能去隔行功能 参数: device - [in] 设备句柄 - deinterlace - [in] 去隔行的算法类型 + deinterlace - [in] 去隔行化方法:0 -- SimpleBob +// 1 -- TomsMoComp +// 2 -- YADIF +// 其他值表示自动取消隔行功能 返回值: 0 - 成功;失败则返回错误代码 // */ @@ -496,11 +500,22 @@ unsigned __stdcall DXEnableDeinterlace(device_handle device, unsigned deinterlac 使能去噪功能 参数: device - [in] 设备句柄 - denoise - [in] 去噪的算法类型 + denoise - [in] 降噪标准 (5 - 100),其他值表示自动取消去噪功能 返回值: 0 - 成功;失败则返回错误代码 // */ -unsigned __stdcall DXEnableDenoise(device_handle device, unsigned denoise); +unsigned __stdcall DXEnableDenoise(device_handle device, unsigned denoise = 35); + +/* +描述: + 锐化处理功能 +参数: + device - [in] 设备句柄 + deSharpness - [in] 锐化标准(0 - 255),其它值表示自动取消锐化功能 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXEnableSharpen(device_handle device, unsigned deSharpness = 128); /* 描述: @@ -521,4 +536,221 @@ unsigned __stdcall DXConvertYUVtoRGB(device_handle device, void* pYUVBuf, BOOL bInverted, BOOL bInvertColor); +/* +描述: + 音频原始数据回调的函数原型 +参数: + buffer - [in] 缓冲区指针 + bufferSize - [out] 获取的编码数据的缓冲区大小(单位:字节) + context - [in] 回调函数的上下文 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +typedef unsigned (__stdcall *fnAudDataCallback)(unsigned char* buffer, unsigned bufferSize, void* context); + +/* +描述: + 设置音频原始数据回调的函数 +参数: + device - [in] 设备句柄 + fn - [in] 回调函数指针,NULL - 停止回调 + context - [in] 回调函数的上下文 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXSetAudDataCallback(device_handle device, fnAudDataCallback fn, void* context); + +/* +描述: + 开始音频原始数据回调的函数 +参数: + device - [in] 设备句柄 + fn - [in] 回调函数指针,NULL - 停止回调 + context - [in] 回调函数的上下文 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXStartAudDataCallback(device_handle device, fnAudDataCallback fn, void* context); + +/* +描述: + 停止音频原始数据回调的函数 +参数: + device - [in] 设备句柄 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXStopAudDataCallback(device_handle device); + +/* +描述: + 设置时间OSD参数的函数 +参数: + device - [in] 设备句柄 + x,y - [in]时间OSD的位置坐标 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXSetTimeOSD +( + /*in*/ device_handle device, + /*in*/ int x, + /*in*/ int y, + /*in*/ int pointSize, + /*in*/ LPCTSTR faceName = TEXT("Arial"), + /*in*/ COLORREF color = RGB(0,0,255), + /*in*/ COLORREF bgcolor = RGB(0, 0, 0), + /*in*/ BOOL transparent = TRUE +); + +/* +描述: + 设置文本OSD参数的函数 +参数: + device - [in] 设备句柄 + x,y - [in]时间OSD的位置坐标 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXSetTextOSD +( + /*in*/ device_handle device, + /*in*/ int x, + /*in*/ int y, + /*in*/ int TextNO, + /*in*/ LPCTSTR osdText, + /*in*/ int pointSize, + /*in*/ LPCTSTR faceName = TEXT("Arial"), + /*in*/ COLORREF color = RGB(0,0,255), + /*in*/ COLORREF bgcolor = RGB(0, 0, 0), + /*in*/ BOOL transparent = TRUE +); + +/* +描述: + 设置图片OSD参数的函数 +参数: + device - [in] 设备句柄 + x,y - [in]时间OSD的位置坐标 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXSetPictureOSD +( + /*in*/ device_handle device, + /*in*/ int x, + /*in*/ int y, + /*in*/ int PicNO, + /*in*/ LPCTSTR picFileName, + /*in*/ BOOL transparent = TRUE, + /*in*/ unsigned char alpha = 255 +); + +/* +描述: + 设置图片OSD参数的函数 +参数: + device - [in] 设备句柄 + osdType - [in]叠加类型 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXEnOSDDisp +( + /*in*/ device_handle device, + /*in*/ unsigned osdType, //0表示时间叠加,1表示文本叠加,2表示图片叠加 + /*in*/ int number, /* 叠加编号,当number = -1时为全部 */ + /*in*/ BOOL enable +); + +/* +描述: + 从加密芯片用户区读取数据的函数 +参数: + device - [in] 设备句柄 + chPassWord - [in]密码 + chData------[out]读取数据空间 + chLen-------[out]读取数据长度,不超过0x20 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXReadDeviceSerial(device_handle device,unsigned char * chPassWord, + unsigned char * chData, unsigned char& chLen); + +//从加密芯片用户区读出数据 +/* +描述: + 向加密芯片用户区写入数据的函数 +参数: + device - [in] 设备句柄 + chPassWord - [in]密码 + chData------[in]写入数据空间 + chLen-------[in]写入数据长度,不超过0x20 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXWriteDeviceSerial(device_handle device,unsigned char * chPassWord, + unsigned char * chData, unsigned char chLen); + +/* +描述: + 原始视频数据回调的函数原型 +参数: + buffer - [in] 缓冲区指针 + colorSpace - [in] 获取的原始数据的色彩空间类型 + width - [in] 获取的原始数据的像素宽度 + height - [in] 获取的原始数据的像素高度 + bytesWidth - [in] 获取的原始数据的字节宽度 + context - [in] 回调函数的上下文 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +typedef unsigned (__stdcall *fnRawVideoCallback)(unsigned char* buffer, unsigned colorSpace, + unsigned width, unsigned height, unsigned bytesWidth, void* context); + +/* +描述: + 设置原始视频数据回调的函数 +参数: + device - [in] 设备句柄 + fn - [in] 回调函数指针,NULL - 停止回调 + context - [in] 回调函数的上下文 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXSetRawVideoCallback(device_handle device, fnRawVideoCallback fn, void* context); + +/* +描述: + 开始原始视频数据回调的函数 +参数: + device - [in] 设备句柄 + fn - [in] 回调函数指针,NULL - 停止回调 + context - [in] 回调函数的上下文 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXStartRawVideoCallback(device_handle device, fnRawVideoCallback fn, void* context); + +/* +描述: + 停止原始视频数据回调的函数 +参数: + device - [in] 设备句柄 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXStopRawVideoCallback(device_handle device); + +/* +描述: + 暂停原始视频数据回调的函数 +参数: + device - [in] 设备句柄 + bPause---[in] true:暂停原始流回调;false:重新开始原始流回调 +返回值: + 0 - 成功;失败则返回错误代码 +// */ +unsigned __stdcall DXPauseRawVideoCallback(device_handle device, bool bPause); + #endif // __DXMEDIACAP_2011__ diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/dataAcq.h b/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/dataAcq.h index 857c65a..ad06155 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/dataAcq.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/dataAcq.h @@ -91,56 +91,6 @@ unsigned __stdcall DXSnapToBMPFile(device_handle device, TCHAR* szFileName, PREC // */ unsigned __stdcall DXSnapToJPGFile(device_handle device, TCHAR* szFileName, unsigned quality, PRECT rect = NULL); -/* -描述: - 原始视频数据回调的函数原型 -参数: - buffer - [in] 缓冲区指针 - colorSpace - [in] 获取的原始数据的色彩空间类型 - width - [in] 获取的原始数据的像素宽度 - height - [in] 获取的原始数据的像素高度 - bytesWidth - [in] 获取的原始数据的字节宽度 - context - [in] 回调函数的上下文 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -typedef unsigned (__stdcall *fnRawVideoCallback)(unsigned char* buffer, unsigned colorSpace, - unsigned width, unsigned height, unsigned bytesWidth, void* context); - -/* -描述: - 设置原始视频数据回调的函数 -参数: - device - [in] 设备句柄 - fn - [in] 回调函数指针,NULL - 停止回调 - context - [in] 回调函数的上下文 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -unsigned __stdcall DXSetRawVideoCallback(device_handle device, fnRawVideoCallback fn, void* context); - -/* -描述: - 开始原始视频数据回调的函数 -参数: - device - [in] 设备句柄 - fn - [in] 回调函数指针,NULL - 停止回调 - context - [in] 回调函数的上下文 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -unsigned __stdcall DXStartRawVideoCallback(device_handle device, fnRawVideoCallback fn, void* context); - -/* -描述: - 停止原始视频数据回调的函数 -参数: - device - [in] 设备句柄 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -unsigned __stdcall DXStopRawVideoCallback(device_handle device); - /* 描述: 原始音频数据回调的函数原型 @@ -166,71 +116,6 @@ typedef unsigned (__stdcall *fnRawAudioCallback)(unsigned char* buffer, unsigned // */ unsigned __stdcall DXSetRawAudioCallback(device_handle device, fnRawAudioCallback fn, void* context); - -/* -描述: - 原始视频数据叠加回调的函数原型 -参数: - hdc - [in] 视频叠加的HDC - width - [in] 能够叠加的宽度(单位:像素) - height - [in] 能够叠加的高度(单位:像素) - context - [in] 回调函数的上下文 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -typedef unsigned (__stdcall *fnOSDCallback)(HDC hdc, unsigned width, unsigned height, void* context); - -/* -描述: - 设置视频数据叠加回调的函数 -参数: - device - [in] 设备句柄 - fn - [in] 回调函数指针,NULL - 停止回调 - context - [in] 回调函数的上下文 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -unsigned __stdcall DXSetOSDCallback(device_handle device, fnOSDCallback fn, void* context); - -enum {osd_text, osd_time, osd_image}; -#define MAX_OSD_TEXT_LEN 16 -/* -描述: - 设置原始视频帧数据的OSD -参数: - device - [in] 设备句柄 - osdType - [in] OSD的类型 - x - [in] 指定OSD的左上角横坐标 - x - [in] 指定OSD的左上角竖坐标 - osdData - [in] OSD的数据,NULL - 取消OSD - osdType = osd_text,最大MAX_OSD_TEXT_LEN个字符 - osdType = osd_time,指定时间格式 - osdType = osd_image,指定图片路径 - pointSize - [in] 字体大小 - faceName - [in] 字体名称 - color - [in] 针对 osd_text, osd_time 两种类型的OSD的前景色,默认值:白色(RGB(255, 255, 255)) - bgcolor - [in] OSD的背景色,默认值:黑色(RGB(0, 0, 0)) - opaque - [in] OSD的背景色是否不透明,默认值:是。当选择透明时,则以 bgcolor 进行透明处理 - alpha - [in] alpha运算值。取值[0 ~ 255],0 - OSD透明,255 - OSD不透明,中间值 - OSD与视频数据进行alpha运算 -返回值: - 0 - 成功;失败则返回错误代码 -// */ -unsigned __stdcall DXSetOSD(device_handle device, unsigned osdType, int x, int y, char* osdData, int pointSize = 120, LPCTSTR faceName = TEXT("Arial"), - COLORREF color = RGB(255, 255, 255), COLORREF bgcolor = RGB(0, 0, 0), BOOL opaque = TRUE, - unsigned char alpha = 255); - -/* -描述: - 启用/禁用原始视频帧数据的OSD -参数: - device - [in] 设备句柄 - osdType - [in] OSD的类型 - enable - [in] TRUE - 启用OSD,FALSE - 禁用OSD -返回值: - 0 - 成功;失败则返回错误代码 -// */ -unsigned __stdcall DXEnableOSD(device_handle device, unsigned osdType, BOOL enable); - /* 描述: 由图片缓冲创建预览对象 diff --git a/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/datastru.h b/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/datastru.h index c470ac4..2aa9940 100644 --- a/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/datastru.h +++ b/PcDmis/Base/Interfac/Msi/Hsi/Videocard/SV4000E/datastru.h @@ -1,12 +1,8 @@ /******************************************************************** created: 2011/08/05 - created: 5:8:2011 9:31 filename: .\libDXCap\datastru.h file path: .\libDXCap - file base: datastru - file ext: h - author: 34973832@qq.com - + purpose: *********************************************************************/