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 5a857a2..ee71abe 100644 Binary files a/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo and b/PcDmis/Base/Interfac/Msi/Hsi/Tools/UsbUtility/UsbUtil_VS2010.suo differ 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: *********************************************************************/