diff --git a/.gitignore b/.gitignore index 742e971..766e31c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,10 @@ ## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # User-specific files +*.rsuser *.suo *.user *.userosscache @@ -10,48 +13,68 @@ # User-specific files (MonoDevelop/Xamarin Studio) *.userprefs +# Mono auto generated files +mono_crash.* + # Build results [Dd]ebug/ [Dd]ebugPublic/ [Rr]elease/ [Rr]eleases/ -[Xx]64/ -[Xx]86/ -[Bb]uild/ +x64/ +x86/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ bld/ [Bb]in/ [Oo]bj/ +[Ll]og/ + -# Visual Studio 2015 cache/options directory +# Visual Studio 2015/2017 cache/options directory .vs/ # Uncomment if you have tasks that create the project's static files in wwwroot #wwwroot/ +# Visual Studio 2017 auto generated files +Generated\ Files/ + # MSTest test Results [Tt]est[Rr]esult*/ [Bb]uild[Ll]og.* -# NUNIT +# NUnit *.VisualState.xml TestResult.xml +nunit-*.xml # Build Results of an ATL Project [Dd]ebugPS/ [Rr]eleasePS/ dlldata.c -# DNX +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core project.lock.json +project.fragment.lock.json artifacts/ +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio *_i.c *_p.c -*_i.h +*_h.h *.ilk *.meta *.obj +*.iobj *.pch *.pdb +*.ipdb *.pgc *.pgd *.rsp @@ -61,6 +84,7 @@ artifacts/ *.tlh *.tmp *.tmp_proj +*_wpftmp.csproj *.log *.vspscc *.vssscc @@ -81,6 +105,7 @@ ipch/ *.sdf *.cachefile *.VC.db +*.VC.VC.opendb # Visual Studio profiler *.psess @@ -88,6 +113,9 @@ ipch/ *.vspx *.sap +# Visual Studio Trace Files +*.e2e + # TFS 2012 Local Workspace $tf/ @@ -108,6 +136,14 @@ _TeamCity* # DotCover is a Code Coverage Tool *.dotCover +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Visual Studio code coverage results +*.coverage +*.coveragexml + # NCrunch _NCrunch_* .*crunch*.local.xml @@ -139,22 +175,27 @@ publish/ # Publish Web Output *.[Pp]ublish.xml *.azurePubxml - -# TODO: Un-comment the next line if you do not want to checkin -# your web deploy settings because they may include unencrypted -# passwords -#*.pubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml *.publishproj +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + # NuGet Packages *.nupkg +# NuGet Symbol Packages +*.snupkg # The packages folder can be ignored because of Package Restore -**/packages/* +**/[Pp]ackages/* # except build/, which is used as an MSBuild target. -!**/packages/build/ +!**/[Pp]ackages/build/ # Uncomment if necessary however generally it will be regenerated when needed -#!**/packages/repositories.config -# NuGet v3's project.json files produces more ignoreable files +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files *.nuget.props *.nuget.targets @@ -166,28 +207,40 @@ csx/ ecf/ rcf/ -# Windows Store app package directory +# Windows Store app package directories and files AppPackages/ BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload # Visual Studio cache files # files ending in .cache can be ignored *.[Cc]ache # but keep track of directories ending in .cache -!*.[Cc]ache/ +!?*.[Cc]ache/ # Others ClientBin/ -[Ss]tyle[Cc]op.* ~$* *~ *.dbmdl *.dbproj.schemaview +*.jfm *.pfx *.publishsettings -node_modules/ orleans.codegen.cs +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + # RIA/Silverlight projects Generated_Code/ @@ -198,15 +251,22 @@ _UpgradeReport_Files/ Backup*/ UpgradeLog*.XML UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak # SQL Server files *.mdf *.ldf +*.ndf # Business Intelligence projects *.rdl.data *.bim.layout *.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl # Microsoft Fakes FakesAssemblies/ @@ -216,6 +276,7 @@ FakesAssemblies/ # Node.js Tools for Visual Studio .ntvs_analysis.dat +node_modules/ # Visual Studio 6 build log *.plg @@ -223,6 +284,9 @@ FakesAssemblies/ # Visual Studio 6 workspace options file *.opt +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + # Visual Studio LightSwitch build output **/*.HTMLClient/GeneratedArtifacts **/*.DesktopClient/GeneratedArtifacts @@ -231,20 +295,71 @@ FakesAssemblies/ **/*.Server/ModelManifest.xml _Pvt_Extensions -# LightSwitch generated files -GeneratedArtifacts/ -ModelManifest.xml - # Paket dependency manager .paket/paket.exe +paket-files/ # FAKE - F# Make .fake/ -#klocwork -.klocwork/ -#GIS -GISControlDlg20140626/ -.cpptest/ -.parasoft -.parasoft.dat/ +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# The folders defined by Robin to be ignored +Bin/ +Lib/ +Src/Debug/ +Src/Release/ +Src/FH98ViewOnPlane_Setup/ +Src/ipch/ +Src/XtremeToolKitPro/ +Src/JoyStick/ +Src/QB_ImgProcessFun/ +Src/QB_ImgShowBase/ \ No newline at end of file diff --git a/Lib/Decoder_H264_ALLD.lib b/Lib/Decoder_H264_ALLD.lib index a261865..065fdc5 100644 Binary files a/Lib/Decoder_H264_ALLD.lib and b/Lib/Decoder_H264_ALLD.lib differ diff --git a/Lib/Decoder_H264_ALLR.lib b/Lib/Decoder_H264_ALLR.lib index b45e06e..e619bc5 100644 Binary files a/Lib/Decoder_H264_ALLR.lib and b/Lib/Decoder_H264_ALLR.lib differ diff --git a/Src/CH91PayloadSoftware.sln b/Src/CH91PayloadSoftware.sln index 1ca0bcd..318d72c 100644 --- a/Src/CH91PayloadSoftware.sln +++ b/Src/CH91PayloadSoftware.sln @@ -1,6 +1,8 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.9.34728.123 +MinimumVisualStudioVersion = 10.0.40219.1 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CH91PayloadSoftware", "CH91PayloadSoftware\CH91PayloadSoftware.vcxproj", "{89E02284-2466-4FFA-B5D4-12173645A4F1}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Decoder_H264_ALL", "Decoder_H264_ALL\Decoder_H264_ALL.vcxproj", "{5756743E-2CA9-41B7-A71D-0A4044E2F1A0}" diff --git a/Src/CH91PayloadSoftware/CH91PayloadSoftware.rc b/Src/CH91PayloadSoftware/CH91PayloadSoftware.rc index 4063695..37da237 100644 Binary files a/Src/CH91PayloadSoftware/CH91PayloadSoftware.rc and b/Src/CH91PayloadSoftware/CH91PayloadSoftware.rc differ diff --git a/Src/CH91PayloadSoftware/CH91PayloadSoftware.sln b/Src/CH91PayloadSoftware/CH91PayloadSoftware.sln new file mode 100644 index 0000000..3619ff7 --- /dev/null +++ b/Src/CH91PayloadSoftware/CH91PayloadSoftware.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CH91PayloadSoftware", "CH91PayloadSoftware.vcxproj", "{89E02284-2466-4FFA-B5D4-12173645A4F1}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Win32 = Debug|Win32 + Release|Win32 = Release|Win32 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {89E02284-2466-4FFA-B5D4-12173645A4F1}.Debug|Win32.ActiveCfg = Debug|Win32 + {89E02284-2466-4FFA-B5D4-12173645A4F1}.Debug|Win32.Build.0 = Debug|Win32 + {89E02284-2466-4FFA-B5D4-12173645A4F1}.Release|Win32.ActiveCfg = Release|Win32 + {89E02284-2466-4FFA-B5D4-12173645A4F1}.Release|Win32.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj b/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj index c0148c3..3061e0d 100644 --- a/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj +++ b/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj @@ -49,15 +49,15 @@ true ..\..\Bin\ $(Configuration)\ - E:\FH-98机载相机监控软件2023\ProgramFiles\boost_1_56;E:\FH-98机载相机监控软件2023\ProgramFiles\opencv245\include;E:\FH-98机载相机监控软件2023\ProgramFiles\gdal\include;$(IncludePath) - C:\ProgramFiles\boost_1_56\stage\lib;E:\FH-98机载相机监控软件2023\ProgramFiles\boost_1_56\stage\lib;E:\FH-98机载相机监控软件2023\ProgramFiles\gdal\lib;E:\FH-98机载相机监控软件2023\ProgramFiles\opencv245\lib\x86;$(LibraryPath) + C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\boost_1_56;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\include;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\include;$(IncludePath) + C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\boost_1_56\stage\lib;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\lib;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\lib\x86;$(LibraryPath) false ..\..\Bin\ ..\..\Bin\ - C:\ProgramFiles\boost_1_56;E:\FH-98机载相机监控软件2023\ProgramFiles\boost_1_56;E:\FH-98机载相机监控软件2023\ProgramFiles\opencv245\include\opencv;E:\FH-98机载相机监控软件2023\ProgramFiles\opencv245\include\opencv2;E:\FH-98机载相机监控软件2023\ProgramFiles\opencv245\include;E:\FH-98机载相机监控软件2023\ProgramFiles\gdal\include;$(IncludePath) - C:\ProgramFiles\boost_1_56\stage\lib;E:\FH-98机载相机监控软件2023\ProgramFiles\boost_1_56\stage\lib;E:\FH-98机载相机监控软件2023\ProgramFiles\gdal\lib;E:\FH-98机载相机监控软件2023\ProgramFiles\opencv245\lib\x86;$(LibraryPath) + C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\boost_1_56;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\include\opencv;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\include\opencv2;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\include;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\include;$(IncludePath) + C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\boost_1_56\stage\lib;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\lib;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\lib\x86;$(LibraryPath) FH98PayloadOnBoard @@ -67,14 +67,14 @@ Disabled WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) Async - ..\..\Include;..\XtremeToolKitPro;C:\ProgramFiles\gdal\include;C:\ProgramFiles\opencv245\include;%(AdditionalIncludeDirectories) + ..\..\Include;..\XtremeToolKitPro;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\include;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\include;%(AdditionalIncludeDirectories) Windows true QB_SimpleImgShowD.lib;QB_GoogleMapOperateD.lib;MapPrj.lib;QB_ImgShowBaseD.lib;QB_ImgProcessFunD.lib;QB_AutoMapD.lib;OIS_static_d.lib;Decoder_H264_ALLD.lib;%(AdditionalDependencies) $(OutDir)$(TargetName)$(TargetExt) - C:\ProgramFiles\opencv245\lib\x86;C:\ProgramFiles\gdal\lib;%(AdditionalLibraryDirectories) + C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\lib\x86;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\lib;%(AdditionalLibraryDirectories) false @@ -104,7 +104,7 @@ true true QB_SimpleImgShow.lib;QB_GoogleMapOperate.lib;MapPrj.lib;QB_ImgShowBase.lib;QB_AutoMap.lib;QB_ImgProcessFun.lib;OIS_static.lib;Decoder_H264_ALLR.lib;%(AdditionalDependencies) - C:\ProgramFiles\gdal\lib;C:\ProgramFiles\opencv245\lib\x86;%(AdditionalLibraryDirectories) + C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\gdal\lib;C:\1、Htsdfp\2、GCS\3、FH-98机载相机监控软件2023\ProgramFiles\opencv245\lib\x86;%(AdditionalLibraryDirectories) false @@ -180,9 +180,14 @@ + + + + + @@ -233,8 +238,12 @@ + + + + diff --git a/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj.filters b/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj.filters index 5c51045..3a99993 100644 --- a/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj.filters +++ b/Src/CH91PayloadSoftware/CH91PayloadSoftware.vcxproj.filters @@ -94,6 +94,9 @@ {8eb1f68d-8c2d-485d-b3bd-9859d81467d5} + + {be9a2dce-ba4c-44fd-9db6-fefe7b53caa0} + @@ -384,6 +387,21 @@ IMP\协议 + + CYH新增 + + + CYH新增 + + + CYH新增 + + + CYH新增 + + + CYH新增 + @@ -509,6 +527,18 @@ IMP\协议 + + CYH新增 + + + CYH新增 + + + CYH新增 + + + CYH新增 + diff --git a/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.cpp b/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.cpp index 002d511..79843db 100644 --- a/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.cpp +++ b/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.cpp @@ -10,6 +10,7 @@ #include "GlobalMember.h" #include "GetElevation.h" #include + using namespace cv; #ifdef _DEBUG @@ -80,9 +81,9 @@ CCH91PayloadSoftwareDlg::CCH91PayloadSoftwareDlg(CWnd* pParent /*=NULL*/) g_bMapDirectGuide = FALSE; // Ƿǵͼֱӵ־ - p_DlgCameraCtrl = NULL; + p_DlgCameraCtrl = NULL;//տҳ g_DlgIMP = NULL;//IMPԻʼָ - + p_Dlg13InstituteDCNewCtrl = NULL;//13¿Ʒҳ } void CCH91PayloadSoftwareDlg::DoDataExchange(CDataExchange* pDX) @@ -376,16 +377,30 @@ void CCH91PayloadSoftwareDlg::OnInitControlDlg() } m_CControlDlgFH96Page1Dlg->MoveWindow(&rc_ControlInstruction); m_CControlDlgFH96Page1Dlg->ShowWindow(SW_SHOW);*/ - + + /**************ԭտҳ***********/ p_DlgCameraCtrl = new CDlgCameraCtrl(); if (p_DlgCameraCtrl != NULL) { p_DlgCameraCtrl->Create(IDD_DLG_CAMERA_CTRL, this); } + p_DlgCameraCtrl->MoveWindow(&rc_ControlInstruction); - p_DlgCameraCtrl->ShowWindow(SW_SHOW); + //p_DlgCameraCtrl->ShowWindow(SW_SHOW); + p_DlgCameraCtrl->ShowWindow(SW_HIDE); + /*************ԭտҳ************/ + /**********13װָҳ**********/ + p_Dlg13InstituteDCNewCtrl = new Dlg13InstituteDCNew(); + if (p_Dlg13InstituteDCNewCtrl != NULL) + { + p_Dlg13InstituteDCNewCtrl->Create(IDD_DIALOG_DC_13INSTITUTE_NEW, this); + } + p_Dlg13InstituteDCNewCtrl->MoveWindow(&rc_ControlInstruction); + p_Dlg13InstituteDCNewCtrl->ShowWindow(SW_HIDE); + /**********13װָҳ**********/ + /***********IMP************/ CRect rc_ControlInstructionIMP; GetDlgItem(IDC_STATIC_CONTROLINSTRUCTION_IMP)->GetWindowRect(rc_ControlInstructionIMP); @@ -397,7 +412,8 @@ void CCH91PayloadSoftwareDlg::OnInitControlDlg() g_DlgIMP->Create(IDD_DLG_IMP, this); } g_DlgIMP->MoveWindow(&rc_ControlInstructionIMP); - g_DlgIMP->ShowWindow(SW_SHOW); + //g_DlgIMP->ShowWindow(SW_SHOW); + g_DlgIMP->ShowWindow(SW_HIDE); if(g_DlgIMP->IsWindowVisible()) { IMPDlgWindowVisible=true; @@ -406,6 +422,17 @@ void CCH91PayloadSoftwareDlg::OnInitControlDlg() { IMPDlgWindowVisible=false; } + /***********IMP************/ + + /**********װָҳ**********/ + p_DlgDCOverroll = new DCOverrollDlg(); + if(p_DlgDCOverroll != NULL) + { + p_DlgDCOverroll->Create(IDD_DIALOG_DC,this); + } + p_DlgDCOverroll->MoveWindow(&rc_ControlInstruction); + p_DlgDCOverroll->ShowWindow(SW_SHOW); + /**********װָҳ**********/ } // Խгʼ @@ -450,6 +477,9 @@ void CCH91PayloadSoftwareDlg::OnInitCH96Decoder() GetDlgItem(IDC_STATIC_EO_REGION)->GetWindowRect(&rect); ScreenToClient(&rect); + m_wndShowEO_Position_Max_x = rect.right - rect.left; //ͼʾֵx + m_wndShowEO_Position_Max_y = rect.bottom - rect.top; //ͼʾֵy + m_wndShowEO->MoveWnd(rect); m_wndShowEO->ShowWnd(SW_SHOW); m_wndShowEO->SetCallBackFun(GetEOImgCenterOffset); @@ -607,12 +637,19 @@ void CCH91PayloadSoftwareDlg::OnDestroy() } // жƵ m_JoyKeybord.OnDestoryJoyKeybord(); - + + //տҳ if(p_DlgCameraCtrl) { delete p_DlgCameraCtrl; p_DlgCameraCtrl = NULL; } + //13¿Ʒҳ + if(p_Dlg13InstituteDCNewCtrl) + { + delete p_Dlg13InstituteDCNewCtrl; + p_Dlg13InstituteDCNewCtrl = NULL; + } // жIMPԻ if(g_DlgIMP !=NULL) { diff --git a/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.h b/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.h index a3d38f0..a554a17 100644 --- a/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.h +++ b/Src/CH91PayloadSoftware/CH91PayloadSoftwareDlg.h @@ -22,6 +22,8 @@ #include "afxcmn.h" #include "DlgCameraCtrl.h" #include "DlgIMP.h" +#include "Dlg13InstituteDCNew.h" +#include "DCOverrollDlg.h" //#include "FrameIMP_DOWN.h" // CCH91PayloadSoftwareDlg Ի @@ -169,7 +171,9 @@ private: CUDPSocket m_UdpSend2Payload; bool m_bCreatUDP; //CControlDlgFH96Page1* m_CControlDlgFH96Page1Dlg; - CDlgCameraCtrl * p_DlgCameraCtrl; + CDlgCameraCtrl * p_DlgCameraCtrl;//տҳ + Dlg13InstituteDCNew * p_Dlg13InstituteDCNewCtrl;//13¿Ʒҳ + DCOverrollDlg *p_DlgDCOverroll;//տҳ public: afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt); diff --git a/Src/CH91PayloadSoftware/CMDBtn.cpp b/Src/CH91PayloadSoftware/CMDBtn.cpp index e4cb732..cd4bd4a 100644 --- a/Src/CH91PayloadSoftware/CMDBtn.cpp +++ b/Src/CH91PayloadSoftware/CMDBtn.cpp @@ -12,9 +12,10 @@ static char THIS_FILE[] = __FILE__; CCMDBtn::CCMDBtn(void) { Cmd = 0x00; + Cmdpage = 0; } -BEGIN_MESSAGE_MAP(CCMDBtn, CButton) +BEGIN_MESSAGE_MAP(CCMDBtn, CMFCButton) //{{AFX_MSG_MAP(CMCBtn) ON_WM_LBUTTONUP() ON_WM_LBUTTONDOWN() @@ -36,9 +37,53 @@ void CCMDBtn::OnLButtonUp( UINT nFlags, CPoint point ) void CCMDBtn::OnLButtonDown( UINT nFlags, CPoint point ) { - g_FrameCamera.ckCmd = Cmd; + BYTE byFcCmd; + byFcCmd = GetFcCmdFromPane( Cmdpage, Cmd ); + g_FrameCamera.ckCmd = byFcCmd; g_FrameCamera.SendPrepare(); if(g_IsSending) g_MUDPCamera.SendToY(g_FrameCamera.Addr(),8); CButton::OnLButtonDown( nFlags, point ); +} +BYTE CCMDBtn::GetFcCmdFromPane( int page, BYTE cmd ) +{ + BYTE B; + /*Ƶָ-֮տҳ*/ + if( page == 20) + { + switch ( cmd ) + { + case 1: + B = 0xC4; break;//2M + case 2: + B = 0xC5; break;//4M + case 3: + B = 0xC6; break;//ͨ1 + case 4: + B = 0xC7; break;//ͨ2 + case 5: + B = 0xC8; break;//0-3ƴͼ + case 6: + B = 0xC9; break;//4-6ƴͼ + case 7: + B = 0xCB; break;//¼ + case 8: + B = 0xCC; break;//ֹͣ¼ + case 9: + B = 0xCD; break;// + case 10: + B = 0xC0; break;//L/SPI + case 11: + B = 0xC1; break;//ͨ/ + case 12: + B = 0xC2; break;//˫·/· + default: + B = 0x00; break; + } + } + else if(page==0) + { + + } + return B; } \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/CMDBtn.h b/Src/CH91PayloadSoftware/CMDBtn.h index 50af3c5..e583012 100644 --- a/Src/CH91PayloadSoftware/CMDBtn.h +++ b/Src/CH91PayloadSoftware/CMDBtn.h @@ -5,11 +5,12 @@ #pragma once #endif // _MSC_VER > 1000 -class CCMDBtn : public CButton +class CCMDBtn : public CMFCButton { public: CCMDBtn(); BYTE Cmd; + int Cmdpage; virtual ~CCMDBtn(); protected: //{{AFX_MSG(CMCBtn) @@ -18,5 +19,7 @@ protected: //}}AFX_MSG DECLARE_MESSAGE_MAP() +public: + BYTE GetFcCmdFromPane(int page,BYTE cmd); }; #endif // !defined(AFX_XPBTN_H__1806C3A3_0278_4B10_A383_905233E78AD1__INCLUDED_) diff --git a/Src/CH91PayloadSoftware/CYHMudpSend.cpp b/Src/CH91PayloadSoftware/CYHMudpSend.cpp new file mode 100644 index 0000000..60b240d --- /dev/null +++ b/Src/CH91PayloadSoftware/CYHMudpSend.cpp @@ -0,0 +1,34 @@ +#include "StdAfx.h" +#include "CYHMudpSend.h" +/*鲥*/ +CYHMudpSend::CYHMudpSend() +{ + +} +CYHMudpSend::~CYHMudpSend() +{ + +} + + +bool CYHMudpSend::initMUDP(const char *IP,u_short Port) +{ + WSAStartup(MAKEWORD(2, 2), &wsaData); + sock = socket(AF_INET, SOCK_DGRAM, 0); + n = 0; + setsockopt(sock, IPPROTO_IP, IP_MULTICAST_TTL, (char*)&n, sizeof(n)); + + addr.sin_addr.S_un.S_addr = inet_addr(IP); + addr.sin_family = AF_INET; + addr.sin_port = htons(Port); + return true; +} + +bool CYHMudpSend::SendData(BYTE* const bufs,int length) +{ + char* buf = (char*)bufs; + //sendto(sock, buf, strlen(buf) + 1, 0, (sockaddr*)&addr, sizeof(sockaddr)); + sendto(sock, buf, length, 0, (sockaddr*)&addr, sizeof(sockaddr)); + return true; +} + diff --git a/Src/CH91PayloadSoftware/CYHMudpSend.h b/Src/CH91PayloadSoftware/CYHMudpSend.h new file mode 100644 index 0000000..25c912d --- /dev/null +++ b/Src/CH91PayloadSoftware/CYHMudpSend.h @@ -0,0 +1,19 @@ +#pragma once +#include +#include +#include +class CYHMudpSend +{ +public: + CYHMudpSend(); + ~CYHMudpSend(); +public: + WSADATA wsaData; + SOCKET sock; + int n; + sockaddr_in addr; +public: + bool initMUDP(const char* IP, u_short Port); + bool SendData(BYTE* const,int); +}; + diff --git a/Src/CH91PayloadSoftware/DCFrameCkCmd.h b/Src/CH91PayloadSoftware/DCFrameCkCmd.h new file mode 100644 index 0000000..ff3b117 --- /dev/null +++ b/Src/CH91PayloadSoftware/DCFrameCkCmd.h @@ -0,0 +1,214 @@ +#ifndef _CDCFrameCkCmdFrame_ +#define _CDCFrameCkCmdFrame_ + +//עָӿطЭ + +#pragma once +//#include "framelib/basetype.h" +//#include "framelib/DataInject.h" +#pragma pack(1) + +typedef struct struProtocalDataInject_DC +{ + UINT8 DCtype; // + union + { + struct + { + UINT8 SwitchCmd; //ָ + INT16 param1; //1 + INT16 param2; //2 + UINT8 reserve[9]; // + }DC_13Ins;//13տָ + struct + { + BYTE param; // + BYTE param2; // + BYTE param3; // + BYTE param4; // + BYTE param5; // + BYTE param6; // + BYTE param7; // + BYTE param8; // + BYTE param9; // + BYTE param10; // + BYTE param11; // + BYTE param12; // + BYTE param13; // + BYTE param14; // + }DC_WHTJ; //տָ + BYTE DataIn[14];//14ֽ + }; +}ProtocalDataInject_DC; + +typedef struct struDataInject_DC +{ + UINT8 DCtype; // + union + { + struct + { + UINT8 SwitchCmd; //ָ + double param1; //1 + double param2; //2 + UINT8 reserve[9]; // + }DC_13Ins;//13տָ + struct + { + BYTE param; // + BYTE param2; // + BYTE param3; // + BYTE param4; // + BYTE param5; // + BYTE param6; // + BYTE param7; // + BYTE param8; // + BYTE param9; // + BYTE param10; // + BYTE param11; // + BYTE param12; // + BYTE param13; // + BYTE param14; // + }DC_WHTJ;//տָ + BYTE DC_Data[14];//14ֽ + }; +}DataInject_DC; + + +//עָӿط֡---13 +typedef struct struDCFrameCkCmd +{ + UINT8 FrameHead[2]; //֡ͷEB 90 + UINT8 fcode; //עָ + ProtocalDataInject_DC protocalDataInject_DC; + UINT16 crc16; //Уλ +}DCFrameCkCmd; + + +#pragma pack() +//ݽṹ +typedef struct struDCFrameCkCmdData +{ + UINT8 fcode; //עָ + DataInject_DC dataInject_DC; + UINT16 crc16; //Уλ +}DCFrameCkCmdData; +#pragma pack() + +class CDCFrameCkCmdFrame : public CFrameAbstract +{ +public: + DCFrameCkCmdData Data; +public: + CDCFrameCkCmdFrame() + { + //ݳ + _tcscpy(Name, _T("DateInject_CK_DC"));//ע ӿ + FrameLength = 20; + HeadLength = 2; + Head[0] = 0xEB; + Head[1] = 0x90; + memcpy(Addr(), Head, HeadLength);//HeadĵһλHeadLengthλֵֵAddr() + CheckLength = 2; + CheckPos = FrameLength - 2; + FrameType = ftFKu; + memset(&Data,0,sizeof(DCFrameCkCmdData));//DataеȫʼΪ0 + } + + virtual ~CDCFrameCkCmdFrame(){} + virtual void Encode() + { + DCFrameCkCmd *pBuff = (DCFrameCkCmd*) Addr(); + pBuff->fcode = Data.fcode; + pBuff->protocalDataInject_DC.DCtype = Data.dataInject_DC.DCtype; + switch(Data.dataInject_DC.DCtype) + { + case 0x01: + pBuff->protocalDataInject_DC.DC_13Ins.SwitchCmd = Data.dataInject_DC.DC_13Ins.SwitchCmd; + pBuff->protocalDataInject_DC.DC_13Ins.param1 = Data.dataInject_DC.DC_13Ins.param1; + pBuff->protocalDataInject_DC.DC_13Ins.param2 = Data.dataInject_DC.DC_13Ins.param2; + memset(&(pBuff->protocalDataInject_DC.DC_13Ins.reserve),0,sizeof(pBuff->protocalDataInject_DC.DC_13Ins.reserve)); + break; + case 0x02: + pBuff->protocalDataInject_DC.DC_WHTJ.param = Data.dataInject_DC.DC_WHTJ.param; + pBuff->protocalDataInject_DC.DC_WHTJ.param2 = Data.dataInject_DC.DC_WHTJ.param2; + pBuff->protocalDataInject_DC.DC_WHTJ.param3 = Data.dataInject_DC.DC_WHTJ.param3; + pBuff->protocalDataInject_DC.DC_WHTJ.param4 = Data.dataInject_DC.DC_WHTJ.param4; + pBuff->protocalDataInject_DC.DC_WHTJ.param5 = Data.dataInject_DC.DC_WHTJ.param5; + pBuff->protocalDataInject_DC.DC_WHTJ.param6 = Data.dataInject_DC.DC_WHTJ.param6; + pBuff->protocalDataInject_DC.DC_WHTJ.param7 = Data.dataInject_DC.DC_WHTJ.param7; + pBuff->protocalDataInject_DC.DC_WHTJ.param8 = Data.dataInject_DC.DC_WHTJ.param8; + pBuff->protocalDataInject_DC.DC_WHTJ.param9 = Data.dataInject_DC.DC_WHTJ.param9; + pBuff->protocalDataInject_DC.DC_WHTJ.param10 = Data.dataInject_DC.DC_WHTJ.param10; + pBuff->protocalDataInject_DC.DC_WHTJ.param11 = Data.dataInject_DC.DC_WHTJ.param11; + pBuff->protocalDataInject_DC.DC_WHTJ.param12 = Data.dataInject_DC.DC_WHTJ.param12; + pBuff->protocalDataInject_DC.DC_WHTJ.param13 = Data.dataInject_DC.DC_WHTJ.param13; + pBuff->protocalDataInject_DC.DC_WHTJ.param14 = Data.dataInject_DC.DC_WHTJ.param14; + break; + default: + break; + } + /* + switch(Data.fcode) + { + case 0x70: + if(Data.details.DataZ70.DCtype == 0x01){ + EncodeUZ70( &( pBuff->details ),&( Data.details )); + } + if(Data.details.DataZ70_TJDC.DCTpye == 0x02){ + EncodeUZ70_TJDC( &( pBuff->details ),&( Data.details )); + } + break; + default: + break; + } + */ + } + virtual void Decode() + { + DCFrameCkCmd *pBuff = (DCFrameCkCmd*) Addr(); + Data.fcode = pBuff->fcode; + Data.dataInject_DC.DCtype = pBuff->protocalDataInject_DC.DCtype; + switch(pBuff->protocalDataInject_DC.DCtype) + { + case 0x01: + Data.dataInject_DC.DC_13Ins.SwitchCmd = pBuff->protocalDataInject_DC.DC_13Ins.SwitchCmd; + Data.dataInject_DC.DC_13Ins.param1 = pBuff->protocalDataInject_DC.DC_13Ins.param1; + Data.dataInject_DC.DC_13Ins.param2 = pBuff->protocalDataInject_DC.DC_13Ins.param2; + memset(&(Data.dataInject_DC.DC_13Ins.reserve),0,sizeof(Data.dataInject_DC.DC_13Ins.reserve)); + break; + case 0x02: + Data.dataInject_DC.DC_WHTJ.param = pBuff->protocalDataInject_DC.DC_WHTJ.param; + Data.dataInject_DC.DC_WHTJ.param2 = pBuff->protocalDataInject_DC.DC_WHTJ.param2; + Data.dataInject_DC.DC_WHTJ.param3 = pBuff->protocalDataInject_DC.DC_WHTJ.param3; + Data.dataInject_DC.DC_WHTJ.param4 = pBuff->protocalDataInject_DC.DC_WHTJ.param4; + Data.dataInject_DC.DC_WHTJ.param5 = pBuff->protocalDataInject_DC.DC_WHTJ.param5; + Data.dataInject_DC.DC_WHTJ.param6 = pBuff->protocalDataInject_DC.DC_WHTJ.param6; + Data.dataInject_DC.DC_WHTJ.param7 = pBuff->protocalDataInject_DC.DC_WHTJ.param7; + Data.dataInject_DC.DC_WHTJ.param8 = pBuff->protocalDataInject_DC.DC_WHTJ.param8; + Data.dataInject_DC.DC_WHTJ.param9 = pBuff->protocalDataInject_DC.DC_WHTJ.param9; + Data.dataInject_DC.DC_WHTJ.param10 = pBuff->protocalDataInject_DC.DC_WHTJ.param10; + Data.dataInject_DC.DC_WHTJ.param11 = pBuff->protocalDataInject_DC.DC_WHTJ.param11; + Data.dataInject_DC.DC_WHTJ.param12 = pBuff->protocalDataInject_DC.DC_WHTJ.param12; + Data.dataInject_DC.DC_WHTJ.param13 = pBuff->protocalDataInject_DC.DC_WHTJ.param13; + Data.dataInject_DC.DC_WHTJ.param14 = pBuff->protocalDataInject_DC.DC_WHTJ.param14; + break; + default: + break; + } + Data.crc16 = pBuff->crc16; + } + //void Phrase(const BYTE* Src, const UINT32 Count) + //{ + + //} + + virtual struCHECK CheckCRC(BYTE* const p) + { + //return MakeCheckSum_WuHanTJDC(p,31); + return MakeCheckCRC(p+2,16); + } + +}; + +#endif//_CDCFrameCkCmdFrame_ \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/DCOverrollDlg.cpp b/Src/CH91PayloadSoftware/DCOverrollDlg.cpp new file mode 100644 index 0000000..82e2222 --- /dev/null +++ b/Src/CH91PayloadSoftware/DCOverrollDlg.cpp @@ -0,0 +1,321 @@ +// DCOverrollDlg.cpp : ʵļ +// + +#include "stdafx.h" +#include "DCOverrollDlg.h" +#include "afxdialogex.h" + + +// DCOverrollDlg Ի + +IMPLEMENT_DYNAMIC(DCOverrollDlg, CDialogEx) + +DCOverrollDlg::DCOverrollDlg(CWnd* pParent /*=NULL*/) + : CDialogEx(DCOverrollDlg::IDD, pParent) +{ + //m_bkBrush.CreateSolidBrush(BKGCLR); + + m_CurSelect = 99; +} + +DCOverrollDlg::~DCOverrollDlg() +{ + /*رնʱ*/ + DelateTimer(); +} +//ʱص +void FAR PASCAL m_DCOverrollTimer(WORD IDEvent, WORD uReserved, DWORD dwUser, DWORD dwReserved1, DWORD dwReserve2) +{ + DCOverrollDlg *m_pView = (DCOverrollDlg *)dwUser; + m_pView->DC0verrollStep(dwUser); +} +void DCOverrollDlg::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + //DDX_Control(pDX, IDC_STATIC_DC, m_DCFrameInfoTab); + DDX_Control(pDX, IDC_STATIC_DC, m_ShowPosition); +} + + +BEGIN_MESSAGE_MAP(DCOverrollDlg, CDialogEx) + //ON_COMMAND(ID_13Ins, &DCOverrollDlg::OnUpdate13Ins) + //ON_UPDATE_COMMAND_UI(ID_WHTJ, &DCOverrollDlg::OnUpdateWHTJ) + ON_WM_CTLCOLOR() + ON_WM_CLOSE() + ON_BN_CLICKED(IDC_BTN_SHOW, &DCOverrollDlg::OnBnClickedBtnShow) + ON_CBN_SELCHANGE(IDC_DC_CHOSET, &DCOverrollDlg::OnCbnSelchangeDcChoset) + ON_BN_CLICKED(IDC_RADIO1, &DCOverrollDlg::OnBnClickedRadio1) + ON_BN_CLICKED(IDC_RADIO2, &DCOverrollDlg::OnBnClickedRadio2) + ON_MESSAGE(WM_PROCESS_DC_CMD, ProcessDCCMD) +END_MESSAGE_MAP() + +HBRUSH DCOverrollDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) +{ + HBRUSH hbr = CDialogEx::OnCtlColor(pDC, pWnd, nCtlColor); + + // TODO: ڴ˸ DC κ + /* + if(nCtlColor==CTLCOLOR_STATIC) + { + pDC->SetBkColor(RGB(0,0,0)); + pDC->SetTextColor(TXTCLR); + pDC->SetBkMode(TRANSPARENT); + }*/ + // TODO: ĬϵIJ軭ʣ򷵻һ + return m_bkBrush; +} + +// DCOverrollDlg Ϣ +BOOL DCOverrollDlg::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + DlgDCOverroll_Hwnd = GetSafeHwnd();//Ĵھ + + //CRect m_crect; + //GetDlgItem(IDC_STATIC_DC_PUBLCI)->GetWindowRect(m_crect); + //ScreenToClient(&m_crect); + //this->MoveWindow(m_crect.left, m_crect.top, m_crect.Width()*1.05, m_crect.Height()*12); + this->CenterWindow(); + + ///*Ļֱʾ*/ + //int cx = 0.65*GetSystemMetrics(SM_CXMAXIMIZED); + //int cy = 0.5*GetSystemMetrics(SM_CYMAXIMIZED); + //CRect rcRect(0,0,cx,cy); + //this->MoveWindow(rcRect,true); + //this->CenterWindow(); + + //CSize tabSize(180,25); + //m_DCFrameInfoTab.SetItemSize(tabSize); + //m_DCFrameInfoTab.SetNormalColor(RGB(230,230,230)); + //m_DCFrameInfoTab.SetSelectedColor(0x32CD32); + + CreateAllDlg(); + + ((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->InsertString(0, "13տ"); + ((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->InsertString(1, "տ"); + ((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->SetCurSel(0); + + ((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(true); + + /*ʱ*/ + //ȹر + DelateTimer(); + // + if((DCDC0verrollTimerId = timeSetEvent(20, 10, (LPTIMECALLBACK)m_DCOverrollTimer, (DWORD)this, TIME_PERIODIC)) == 0) + { + MessageBox( "ͨÿƵնʱ!" ); + } + + return 0; +} + +BOOL DCOverrollDlg::CreateAllDlg() +{ + CRect m_crect; + GetDlgItem(IDC_STATIC_DC_PUBLCI)->GetWindowRect(m_crect);//IDC_STATIC_DC_PUBLCIλ + ScreenToClient(&m_crect); + + CRect m_crect2; + GetDlgItem(IDC_STATIC_DC)->GetWindowRect(m_crect2);//IDC_STATIC_DCλ + ScreenToClient(&m_crect2); + + + //µĿƷʽ Ĭʾ + if(!m_13InstituteDCNewDlg.GetSafeHwnd()) + { + m_13InstituteDCNewDlg.Create(IDD_DIALOG_DC_13INSTITUTE_NEW,this); + } + + m_13InstituteDCNewDlg.MoveWindow(m_crect2);//IDD_DIALOG_DC_13INSTITUTE_NEWƵIDC_STATIC_DC_PUBLCIڵλ + m_13InstituteDCNewDlg.ShowWindow(SW_SHOW); + + if(!m_WHTJDCNewDlg.GetSafeHwnd()) + { + m_WHTJDCNewDlg.Create(IDD_DIALOG_DC_WuHanTJ_NEW,this); + } + + m_WHTJDCNewDlg.MoveWindow(m_crect2);//IDD_DIALOG_DC_13INSTITUTE_NEWƵIDC_STATIC_DC_PUBLCIڵλ + m_WHTJDCNewDlg.ShowWindow(SW_HIDE); + + CRect m_RectShow; //ʾֵ + GetWindowRect(&m_RectLarge); + GetDlgItem(IDC_STATIC_DC_PUBLCI)->GetWindowRect(&m_RectShow); + m_RectSmall.left = m_RectLarge.left; + m_RectSmall.top = m_RectLarge.top; + m_RectSmall.right = m_RectShow.right; + m_RectSmall.bottom = m_RectLarge.bottom; + SetWindowPos(NULL,0,0,m_RectSmall.Width(),m_RectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER); + + return true; +} +//ʱ +void DCOverrollDlg::DC0verrollStep(DWORD) +{ + +} +void DCOverrollDlg::DelateTimer() +{ + if(DCDC0verrollTimerId!=0) + { + timeKillEvent(DCDC0verrollTimerId); + DCDC0verrollTimerId = 0; + } +} +void DCOverrollDlg::OnClose() +{ + // TODO: ڴϢ/Ĭֵ + /*رնʱ*/ + DelateTimer(); + + m_CurSelect = 99; + CDialogEx::OnClose(); +} + + +void DCOverrollDlg::OnBnClickedBtnShow() +{ + // TODO: ڴӿؼ֪ͨ + + CString str; + GetDlgItemText(IDC_BTN_SHOW, str); + if(str == _T("չʾ>>")) + { + SetDlgItemText(IDC_BTN_SHOW, _T("ʾ<<")); + SetWindowPos(NULL, 0, 0, m_RectLarge.Width(), m_RectLarge.Height(),SWP_NOMOVE|SWP_NOZORDER); + } + else if(str == _T("ʾ<<")) + { + SetDlgItemText(IDC_BTN_SHOW, _T("չʾ>>")); + SetWindowPos(NULL, 0, 0, m_RectSmall.Width(), m_RectSmall.Height(),SWP_NOMOVE|SWP_NOZORDER); + } + +} +//LRESULT DCOverrollDlg::ProcessDCCMD(WPARAM wParam, LPARAM lParam) +//{ +// if(!gCurGCSCtrlFlag) +// { +// return 0; +// } +// if(m_CurSelect == 1) +// { +// m_WHTJDCNewDlg.UpdateTJDCAction((int)lParam); +// } +// else if(m_CurSelect == 0 || m_CurSelect == 99)//ĬϿ13 +// { +// m_13InstituteDCNewDlg.UpdateDC13Action((int)lParam); +// } +// +// return 0; +//} + +void DCOverrollDlg::OnCbnSelchangeDcChoset() +{ + // TODO: ڴӿؼ֪ͨ + // TODO: ڴӿؼ֪ͨ + //int a = m_DCFrameInfoTab.GetCurSel(); + UpdateData( true ); + int iCount =((CComboBox *)GetDlgItem(IDC_DC_CHOSET))->GetCurSel(); + if(m_CurSelect != iCount) + { + m_CurSelect = iCount; + + if(m_CurSelect == 0) + { + /* + //վɵĿƷʽ + //ɾնԻ + m_WuHanTJDCDlg.ShowWindow(SW_HIDE); + m_WuHanTJDCDlg.DelateTimer(); + m_WuHanTJDCDlg.m_DCCommonDateProcess.DelateTimer(); + //ʾ13տƶԻ + m_13InstituteDCDlg.ShowWindow(SW_SHOW); + m_13InstituteDCDlg.InitializeTimer(); + */ + + //µĿƷʽ + //ʾ13տƶԻ + m_13InstituteDCNewDlg.ShowWindow(SW_SHOW); + //տƶԻ + m_WHTJDCNewDlg.ShowWindow(SW_HIDE); + + Sleep(120); + } + if(m_CurSelect == 1) + { + /* + //վɵĿƷʽ + //ɾ13նԻ + m_13InstituteDCDlg.ShowWindow(SW_HIDE); + m_13InstituteDCDlg.DelateTimer(); + m_13InstituteDCDlg.m_DCCommonDateProcess.DelateTimer(); + //ʾտƶԻ + m_WuHanTJDCDlg.ShowWindow(SW_SHOW); + m_WuHanTJDCDlg.InitializeTimer(); + */ + + //µĿƷʽ + //13տƶԻ + m_13InstituteDCNewDlg.ShowWindow(SW_HIDE); + //ʾտƶԻ + m_WHTJDCNewDlg.ShowWindow(SW_SHOW); + + Sleep(120); + } + if(m_CurSelect == 99)//Ĭʾ13 + { + /* + //վɵĿƷʽ + m_WuHanTJDCDlg.DelateTimer(); + m_WuHanTJDCDlg.ShowWindow(SW_HIDE); + m_WuHanTJDCDlg.m_DCCommonDateProcess.DelateTimer(); + m_13InstituteDCDlg.DelateTimer(); + m_13InstituteDCDlg.ShowWindow(SW_HIDE); + m_13InstituteDCDlg.m_DCCommonDateProcess.DelateTimer(); + */ + + //µĿƷʽ + //13տƶԻ + m_13InstituteDCNewDlg.ShowWindow(SW_HIDE); + //տƶԻ + m_WHTJDCNewDlg.ShowWindow(SW_HIDE); + + Sleep(120); + } + } +} + + +void DCOverrollDlg::OnBnClickedRadio1() +{ + + m_CurSelect = 0; + //ʾ13տƶԻ + m_13InstituteDCNewDlg.ShowWindow(SW_SHOW); + //տƶԻ + m_WHTJDCNewDlg.ShowWindow(SW_HIDE); + Sleep(120); +} + + +void DCOverrollDlg::OnBnClickedRadio2() +{ + m_CurSelect = 1; + //13տƶԻ + m_13InstituteDCNewDlg.ShowWindow(SW_HIDE); + //ʾտƶԻ + m_WHTJDCNewDlg.ShowWindow(SW_SHOW); + Sleep(120); +} +LRESULT DCOverrollDlg::ProcessDCCMD(WPARAM wParam, LPARAM lParam) +{ + if(m_CurSelect == 1) + { + m_WHTJDCNewDlg.UpdateTJDCAction((int)lParam); + } + //else if(m_CurSelect == 0 || m_CurSelect == 99)//ĬϿ13 + //{ + // m_13InstituteDCNewDlg.UpdateDC13Action((int)lParam); + //} + + return 0; +} \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/DCOverrollDlg.h b/Src/CH91PayloadSoftware/DCOverrollDlg.h new file mode 100644 index 0000000..bec6190 --- /dev/null +++ b/Src/CH91PayloadSoftware/DCOverrollDlg.h @@ -0,0 +1,61 @@ +#pragma once +#include "resource.h" +#include "DlgWHTJDCNew.h" //人Ի +#include "Dlg13InstituteDCNew.h" //13նԻ + +#include "afxwin.h" +#include "CMDBtn.h" +#include "BtnST.h" +#include "afxdlgs.h" +// DCOverrollDlg Ի + +class DCOverrollDlg : public CDialogEx +{ + DECLARE_DYNAMIC(DCOverrollDlg) +private: + CBrush m_bkBrush; //汳ˢ +public: + afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); +public: + DCOverrollDlg(CWnd* pParent = NULL); // ׼캯 + virtual ~DCOverrollDlg(); + +// Ի + enum { IDD = IDD_DIALOG_DC }; + virtual BOOL OnInitDialog(); + BOOL CreateAllDlg(); + //CXTabCtrl m_DCFrameInfoTab; + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧ + + DECLARE_MESSAGE_MAP() +public: + + //µĿƷʽ + Dlg13InstituteDCNew m_13InstituteDCNewDlg; //13¿ƽԻ + DlgWHTJDCNew m_WHTJDCNewDlg; //人¿ƽԻ + + + +private: + CRect m_RectLarge; //ȫ + CRect m_RectSmall; //֮ + +public: + //CMFCToolBar m_wndToolBar; + //afx_msg void OnUpdate13Ins(); + //afx_msg void OnUpdateWHTJ(CCmdUI *pCmdUI); + void DC0verrollStep(DWORD); //ʱ + int DCDC0verrollTimerId; //ʱID + int m_CurSelect; + void DelateTimer(); //ɾʱ + afx_msg void OnBnClickedButton1(); + afx_msg void OnClose(); + afx_msg void OnBnClickedBtnShow(); + LRESULT ProcessDCCMD(WPARAM param, LPARAM lparam); // + afx_msg void OnCbnSelchangeDcChoset(); + CStatic m_ShowPosition; + afx_msg void OnBnClickedRadio1(); + afx_msg void OnBnClickedRadio2(); +}; diff --git a/Src/CH91PayloadSoftware/Dlg13InstituteDCNew.cpp b/Src/CH91PayloadSoftware/Dlg13InstituteDCNew.cpp new file mode 100644 index 0000000..488fee5 --- /dev/null +++ b/Src/CH91PayloadSoftware/Dlg13InstituteDCNew.cpp @@ -0,0 +1,1337 @@ +// Dlg13InstituteDCNew.cpp : ʵļ + +#include "stdafx.h" +#include "Dlg13InstituteDCNew.h" +#include "afxdialogex.h" + +/*鲥*/ +#include +#include +#include + + +//tag_RecBind +HWND g_hwnd13InstituteDCNew = nullptr; + +//̺߳ ֵһ +void ThreadInstituteDCNew() +{ + //Ϣ + ::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)0); + Sleep(50); + ::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)1); + +} +//λ-̺߳80뷢һ +void ThreadInstituteDCNew2() +{ + do + { + ::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)0); + Sleep(80); + } + while(g_bBindData==true);//ţ̌g_bBindDatafasleѭ + //::PostMessage(g_hwnd13InstituteDCNew,WM_13DC_UPDAFRAME,(WPARAM)g_commandNum,(LPARAM)1); +} + +IMPLEMENT_DYNAMIC(Dlg13InstituteDCNew, CDialogEx) + +Dlg13InstituteDCNew::Dlg13InstituteDCNew(CWnd* pParent /*=NULL*/) + : CDialogEx(Dlg13InstituteDCNew::IDD, pParent) + ,InfraredOrVisibleLight(0) + ,Param1(0) + ,Param2(0) +{ + SwitchCmd = 0x00; + PitchControl = 0x00; + DirControl = 0x00; + PitchRecord = 0x00; + DirRecord = 0x00; + mTimerId = 0; + num = 0; + injectstart = false; +} + +Dlg13InstituteDCNew::~Dlg13InstituteDCNew() +{ + //رնʱ + if(mTimerId!=0) + { + timeKillEvent(mTimerId); + mTimerId = 0; + } +} + +//ʱص +void FAR PASCAL TimeCALLBACK(WORD IDEvent, WORD uReserved, DWORD dwUser, DWORD dwReserved1, DWORD dwReserve2) +{ + Dlg13InstituteDCNew *m_pView = (Dlg13InstituteDCNew *)dwUser; + m_pView->TimeStep(dwUser); +} +//ʱ +void Dlg13InstituteDCNew::TimeStep(DWORD dwUser) +{ + + if (g_IsSending && g_bBindData) + { + //m_MudpSend.SendData(DCFrameCkCmd13.Addr(),20); + //g_DCMUDP.SendTo(DCFrameCkCmd13.Addr(), 20); + //g_MUDPCamera.SendToY(DCFrameCkCmd13.Addr(), 20); + } +} +void Dlg13InstituteDCNew::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW, DC13InsBtn[0]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW2, DC13InsBtn[1]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW3, DC13InsBtn[2]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW4, DC13InsBtn[3]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW5, DC13InsBtn[4]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW6, DC13InsBtn[5]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW7, DC13InsBtn[6]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW8, DC13InsBtn[7]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW9, DC13InsBtn[8]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW10, DC13InsBtn[9]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW11, DC13InsBtn[10]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW12, DC13InsBtn[11]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW13, DC13InsBtn[12]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW14, DC13InsBtn[13]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW15, DC13InsBtn[14]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW16, DC13InsBtn[15]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW17, DC13InsBtn[16]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW18, DC13InsBtn[17]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW19, DC13InsBtn[18]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW20, DC13InsBtn[19]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW21, DC13InsBtn[20]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW22, DC13InsBtn[21]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW23, DC13InsBtn[22]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW24, DC13InsBtn[23]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW25, DC13InsBtn[24]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW26, DC13InsBtn[25]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW27, DC13InsBtn[26]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW28, DC13InsBtn[27]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW29, DC13InsBtn[28]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW30, DC13InsBtn[29]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW31, DC13InsBtn[30]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW32, DC13InsBtn[31]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW33, DC13InsBtn[32]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW34, DC13InsBtn[33]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW35, DC13InsBtn[34]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW36, DC13InsBtn[35]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW37, DC13InsBtn[36]); + DDX_Control(pDX, IDC_BTN_DC_13INSTITUTE_NEW38, DC13InsBtn[37]); + + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_1, m_DCFlyCmd[0]);//ͨ1 + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_2, m_DCFlyCmd[1]);//ͨ2 + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_3, m_DCFlyCmd[2]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_4, m_DCFlyCmd[3]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_5, m_DCFlyCmd[4]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_6, m_DCFlyCmd[5]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_7, m_DCFlyCmd[6]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_8, m_DCFlyCmd[7]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_9, m_DCFlyCmd[8]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_10, m_DCFlyCmd[9]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_11, m_DCFlyCmd[10]); + DDX_Control(pDX, IDC_BUTTON_DCOverroll_13Ins_12, m_DCFlyCmd[11]); + + //DDX_Control(pDX, IDC_STATIC, DC13InsBtn[38]); + DDX_Text(pDX, IDC_EDIT_Pitch_Param, Param1); + //DDV_MinMaxInt(pDX, Param1, -18000, 18000); + DDX_Text(pDX, IDC_EDIT_Dir_Param, Param2); + //DDV_MinMaxInt(pDX, Param2, -18000, 18000); +} + +BOOL Dlg13InstituteDCNew::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + CenterWindow(); + g_hwnd13InstituteDCNew = this->GetSafeHwnd(); + + CFont m_oFont;// + m_oFont.CreatePointFont(80, _T("Times New Roman")); + for(int i = 0;i<38;++i) + { + //DC13InsBtn[i].SetTextColor(RGB(255,255,255)); + //DC13InsBtn[i].SetFont(&m_oFont); + //DC13InsBtn[i].SetFaceColor(RGB(54,54,54),true); + if(i==34||i==35||i==36||i==37||i==3) + { + DC13InsBtn[i].SetTextColor(RGB(0,0,0)); + DC13InsBtn[i].SetFont(&m_oFont); + DC13InsBtn[i].SetFaceColor(RGB(133,220,49),true); + } + else + { + DC13InsBtn[i].SetTextColor(RGB(0,0,0)); + DC13InsBtn[i].SetFont(&m_oFont); + DC13InsBtn[i].SetFaceColor(RGB(204,255,255),true); + } + + } + + m_font.CreatePointFont(100,_T(""),NULL); + CWnd* pWnd = GetDlgItem(IDC_STATIC_PitchAndDir); + pWnd->SetFont(&m_font); + + CWnd* pWnd2 = GetDlgItem(IDC_EDIT_Pitch_Param); + pWnd2->SetFont(&m_font); + GetDlgItem(IDC_EDIT_Pitch_Param)->SetWindowText("0.00"); + CWnd* pWnd3 = GetDlgItem(IDC_EDIT_Dir_Param); + pWnd3->SetFont(&m_font); + GetDlgItem(IDC_EDIT_Dir_Param)->SetWindowText("0.00"); + + + + ////ʱ + //if((mTimerId = timeSetEvent(50, 20, (LPTIMECALLBACK)TimeCALLBACK, (DWORD)this, TIME_PERIODIC)) == 0) + //{ + // MessageBox( "13նʱ!", _T("ʾ")); + //} + + m_MudpSend.initMUDP("224.1.1.1",5622); + + for(int i=0;i<12;++i) + { + m_DCFlyCmd[i].Cmd=i+1; + m_DCFlyCmd[i].Cmdpage = 20;//ҳ־Ϊ20 + m_DCFlyCmd[i].SetTextColor(RGB(0,0,0)); + m_DCFlyCmd[i].SetFont(&m_oFont); + m_DCFlyCmd[i].SetFaceColor(RGB(24,225,255),true); + } + + memset(DC13InsCmdBuffer,0,sizeof(DC13InsCmdBuffer)); + + + + return TRUE; +} + +BEGIN_MESSAGE_MAP(Dlg13InstituteDCNew, CDialogEx) + + ON_MESSAGE(WM_13DC_UPDAFRAME, &Dlg13InstituteDCNew::OnUpdate13DCFrame) + ON_WM_CTLCOLOR() +END_MESSAGE_MAP() + + +// Dlg13InstituteDCNew Ϣ +//߳ϢϢ +afx_msg LRESULT Dlg13InstituteDCNew::OnUpdate13DCFrame(WPARAM wParam, LPARAM lParam) +{ + injectstart = true;//װʼ + switch ((int)wParam) + { + case 0://ģʽ + UpdateFrame((int&)lParam); + break; + case 2://ɨģʽ + UpdateFrame2((int&)lParam); + break; + case 3://ģʽ + UpdateFrame3((int&)lParam); + break; + case 4://ƽ̨λ + UpdateFrame4((int&)lParam); + break; + case 5: + UpdateFrame5(); + break; + case 6: + UpdateFrame6(); + break; + case 7: + UpdateFrame7(); + break; + case 8: + UpdateFrame8(); + break; + case 9: + UpdateFrame9((int&)lParam); + break; + case 10: + UpdateFrame10((int&)lParam); + break; + case 11: + UpdateFrame11((int&)lParam); + break; + case 12: + UpdateFrame12((int&)lParam); + break; + case 13: + UpdateFrame13((int&)lParam); + break; + case 14: + UpdateFrame14(); + break; + case 15: + UpdateFrame15(); + break; + case 16: + UpdateFrame16((int&)lParam); + break; + case 17: + UpdateFrame17((int&)lParam); + break; + case 18: + UpdateFrame18((int&)lParam); + break; + case 19: + UpdateFrame19((int&)lParam); + break; + case 20: + UpdateFrame20(); + break; + case 21: + UpdateFrame21(); + break; + case 22: + UpdateFrame22((int&)lParam); + break; + case 23: + UpdateFrame23((int&)lParam); + break; + case 24: + UpdateFrame24((int&)lParam); + break; + case 25: + UpdateFrame25((int&)lParam); + break; + case 26: + UpdateFrame26((int&)lParam); + break; + case 27: + UpdateFrame27((int&)lParam); + break; + case 28: + UpdateFrame28((int&)lParam); + break; + case 29: + UpdateFrame29((int&)lParam); + break; + case 30: + UpdateFrame30((int&)lParam); + break; + case 31: + UpdateFrame31((int&)lParam); + break; + case 32: + UpdateFrame32((int&)lParam); + break; + case 33: + UpdateFrame33((int&)lParam); + break; + case 34: + UpdateFrame34((int&)lParam); + break; + case 35://+ + UpdateFrame35(); + break; + case 36://- + UpdateFrame36(); + break; + case 37://λ+ + UpdateFrame37(); + break; + case 38://λ- + UpdateFrame38(); + break; + default: + break; + } + //if((int&)lParam == 0) + //{ + // if(g_IsSending){ + // g_MUDPCamera.SendToY(DCFrameCkCmd13.Addr(), 20); + // } + //} + /* + if((int&)lParam==0) + { + if(!gCurGCSCtrlFlag)//ӿ + { + if(gComFlags.test(11))//((gCommuFlags & 0x0800) != 0x00) ) + { + //עָӿط---13 + DCFrameCkCmd13.Data.fcode = 0x70; + DCFrameCkCmd13.Data.DCtype = g_FrameFKU.Data.details.DataZ70.DCtype ; + DCFrameCkCmd13.Data.SwitchCmd =g_FrameFKU.Data.details.DataZ70.SwitchCmd; + DCFrameCkCmd13.Data.param1 = g_FrameFKU.Data.details.DataZ70.param1; + DCFrameCkCmd13.Data.param2 = g_FrameFKU.Data.details.DataZ70.param2; + DCFrameCkCmd13.SendPrepare(); + g_UDPACmdSwi.WriteBuffer(DCFrameCkCmd13.Addr(),11); + } + } + } + */ + return 0; +} + +//13տָ ť£д +//ظ͵ָֱӸֱֵţ̌װ־Ϊfalseֹͣ +//ֻһεָһ̣߳߳100msȺ͸ֵղֵڼָ(GCSView::Setp)պָٷ͡ +void Dlg13InstituteDCNew::Update13InsNewCmdBuffer(HWND hwnd) +{ + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW)->m_hWnd) + { + g_commandNum = 0; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW2)->m_hWnd) + { + g_commandNum = 2; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW3)->m_hWnd) + { + g_commandNum = 3; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW4)->m_hWnd) + { + g_commandNum = 4; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW5)->m_hWnd) + { + //UpdateFrame5(); + g_commandNum = 5; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW6)->m_hWnd) + { + //UpdateFrame6(); + g_commandNum = 6; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW7)->m_hWnd) + { + //UpdateFrame7(); + g_commandNum = 7; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW8)->m_hWnd) + { + //UpdateFrame8(); + g_commandNum = 8; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW9)->m_hWnd) + { + g_commandNum = 9; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW10)->m_hWnd) + { + g_commandNum = 10; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW11)->m_hWnd) + { + g_commandNum = 11; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW12)->m_hWnd) + { + g_commandNum = 12; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW13)->m_hWnd) + { + g_commandNum = 13; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW14)->m_hWnd) + { + //UpdateFrame14(); + g_commandNum = 14; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW15)->m_hWnd) + { + //UpdateFrame15(); + g_commandNum = 15; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW16)->m_hWnd) + { + g_commandNum = 16; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW17)->m_hWnd) + { + g_commandNum = 17; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW18)->m_hWnd) + { + g_commandNum = 18; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW19)->m_hWnd) + { + g_commandNum = 19; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW20)->m_hWnd) + { + //UpdateFrame20(); + g_commandNum = 20; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW21)->m_hWnd) + { + //UpdateFrame21(); + g_commandNum = 21; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW22)->m_hWnd) + { + g_commandNum = 22; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW23)->m_hWnd) + { + g_commandNum = 23; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW24)->m_hWnd) + { + g_commandNum = 24; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW25)->m_hWnd) + { + g_commandNum = 25; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW26)->m_hWnd) + { + g_commandNum = 26; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW27)->m_hWnd) + { + g_commandNum = 27; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW28)->m_hWnd) + { + g_commandNum = 28; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW29)->m_hWnd) + { + g_commandNum = 29; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW30)->m_hWnd) + { + g_commandNum = 30; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW31)->m_hWnd) + { + g_commandNum = 31; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW32)->m_hWnd) + { + g_commandNum = 32; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW33)->m_hWnd) + { + g_commandNum = 33; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW34)->m_hWnd) + { + g_commandNum = 34; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW35)->m_hWnd)//+ + { + g_commandNum = 35; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW36)->m_hWnd)//- + { + g_commandNum = 36; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW37)->m_hWnd)//λ+ + { + g_commandNum = 37; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_DC_13INSTITUTE_NEW38)->m_hWnd)//λ- + { + g_commandNum = 38; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadInstituteDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳2 + CloseHandle(hCheckThread); + } +} +//buffer֡ṹ +void Dlg13InstituteDCNew::UpdateDataZ70_13Ins() +{ + DCFrameCkCmd13.Data.fcode = 0x70; + DCFrameCkCmd13.Data.dataInject_DC.DCtype = 0x01; + DCFrameCkCmd13.Data.dataInject_DC.DC_13Ins.SwitchCmd = DC13InsCmdBuffer[0]; + DCFrameCkCmd13.Data.dataInject_DC.DC_13Ins.param1 = DC13InsCmdBuffer[1]+DC13InsCmdBuffer[2]*255; + DCFrameCkCmd13.Data.dataInject_DC.DC_13Ins.param2 = DC13InsCmdBuffer[3]+DC13InsCmdBuffer[4]*255; + DCFrameCkCmd13.SendPrepare(); + if(g_IsSending){ + g_MUDPCamera.SendToY(DCFrameCkCmd13.Addr(), 20); + } + //DC13InsCmdBuffer + memset(DC13InsCmdBuffer,0,sizeof(DC13InsCmdBuffer)); +} +//ģʽDC13InsCmdBuffer +void Dlg13InstituteDCNew::UpdateFrame(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x15; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ɨģʽ +void Dlg13InstituteDCNew::UpdateFrame2(int &sendEnd) +{ + if (sendEnd == 0) + { + DC13InsCmdBuffer[0] = 0x17; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ģʽ +void Dlg13InstituteDCNew::UpdateFrame3(int &sendEnd) +{ + if(sendEnd==0) + { + UpdateData(TRUE); + DC13InsCmdBuffer[0] = 0x19; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + + /**/ + INT16 MinPitch = 0xD508;//-11000 + INT16 MaxPitch = 0x1388;//5000 + if(Param1*100MaxPitch) + { + PitchControl = MaxPitch; + } + else + { + PitchControl = Param1*100; + } + /*λ*/ + INT16 MinDir = 0xB9B0;//-18000 + INT16 MaxDir = 0x4650;//+18000 + if(Param2*100MaxDir) + { + DirControl = MaxDir; + } + else + { + DirControl = Param2*100; + } + DC13InsCmdBuffer[1] = PitchControl; + DC13InsCmdBuffer[2] = PitchControl>>8; + DC13InsCmdBuffer[3] = DirControl; + DC13InsCmdBuffer[4] = DirControl>>8; + PitchRecord = PitchControl; + DirRecord = DirControl; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ƽ̨λ +void Dlg13InstituteDCNew::UpdateFrame4(int &sendEnd) +{ + if (sendEnd == 0) + { + DC13InsCmdBuffer[0] = 0x1B; + PitchRecord = 0; + DirRecord = 0; + PitchControl = 0; + DirControl = 0; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//Ưλ- +void Dlg13InstituteDCNew::UpdateFrame5() +{ + DC13InsCmdBuffer[0] = 0x1D; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + g_bBindData = true; +} +//Ưλ+ +void Dlg13InstituteDCNew::UpdateFrame6() +{ + DC13InsCmdBuffer[0] = 0x1F; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + g_bBindData = true; +} +//Ư- +void Dlg13InstituteDCNew::UpdateFrame7() +{ + DC13InsCmdBuffer[0] = 0x21; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + g_bBindData = true; +} +//Ư+ +void Dlg13InstituteDCNew::UpdateFrame8() +{ + DC13InsCmdBuffer[0] = 0x23; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + g_bBindData = true; +} +//ֶģʽ +void Dlg13InstituteDCNew::UpdateFrame9(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x25; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ɼ +void Dlg13InstituteDCNew::UpdateFrame10(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x27; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +// +void Dlg13InstituteDCNew::UpdateFrame11(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x28; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +// +void Dlg13InstituteDCNew::UpdateFrame12(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x81; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +// +void Dlg13InstituteDCNew::UpdateFrame13(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x82; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//+ +void Dlg13InstituteDCNew::UpdateFrame14() +{ + DC13InsCmdBuffer[0] = 0x85; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//- +void Dlg13InstituteDCNew::UpdateFrame15() +{ + DC13InsCmdBuffer[0] = 0x86; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//Сӳ +void Dlg13InstituteDCNew::UpdateFrame16(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x87; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//ӳ +void Dlg13InstituteDCNew::UpdateFrame17(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x89; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//OSD on/off +void Dlg13InstituteDCNew::UpdateFrame18(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xA1; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//ͼл +void Dlg13InstituteDCNew::UpdateFrame19(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xA3; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//л +void Dlg13InstituteDCNew::UpdateFrame20() +{ + DC13InsCmdBuffer[0] = 0xB5; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//л +void Dlg13InstituteDCNew::UpdateFrame21() +{ + DC13InsCmdBuffer[0] = 0xB6; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//ͼȶ +void Dlg13InstituteDCNew::UpdateFrame22(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xB7; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//ͼȶ +void Dlg13InstituteDCNew::UpdateFrame23(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xB8; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//ɼ͸1 +void Dlg13InstituteDCNew::UpdateFrame24(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xBB; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; + +} +//ɼ͸2 +void Dlg13InstituteDCNew::UpdateFrame25(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xBC; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ɼ͸3 +void Dlg13InstituteDCNew::UpdateFrame26(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xBD; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ɼ͸ +void Dlg13InstituteDCNew::UpdateFrame27(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xBE; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ʼ +void Dlg13InstituteDCNew::UpdateFrame28(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xC1; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//ֹͣ +void Dlg13InstituteDCNew::UpdateFrame29(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xC3; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//һ +void Dlg13InstituteDCNew::UpdateFrame30(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0xC5; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//Դ +void Dlg13InstituteDCNew::UpdateFrame31(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x92; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//Դ +void Dlg13InstituteDCNew::UpdateFrame32(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x93; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//࿪ +void Dlg13InstituteDCNew::UpdateFrame33(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x94; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +// +void Dlg13InstituteDCNew::UpdateFrame34(int &sendEnd) +{ + if(sendEnd==0) + { + DC13InsCmdBuffer[0] = 0x95; + DC13InsCmdBuffer[1] = 0x00; + DC13InsCmdBuffer[2] = 0x00; + DC13InsCmdBuffer[3] = 0x00; + DC13InsCmdBuffer[4] = 0x00; + UpdateDataZ70_13Ins(); + + g_bBindData = true; + } + else + g_bBindData = false; +} +//+Χ50~-110 +void Dlg13InstituteDCNew::UpdateFrame35() +{ + DC13InsCmdBuffer[0] = 0x19; + if(PitchControl<0x1388)//5000 + { + PitchRecord = PitchRecord+100; + } + else + { + PitchRecord = 0x1388; + } + //DirRecord = DirRecord; + PitchControl = PitchRecord; + DirControl = DirRecord; + DC13InsCmdBuffer[1] = PitchControl; + DC13InsCmdBuffer[2] = PitchControl>>8; + DC13InsCmdBuffer[3] = DirControl; + DC13InsCmdBuffer[4] = DirControl>>8; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//- +void Dlg13InstituteDCNew::UpdateFrame36() +{ + DC13InsCmdBuffer[0] = 0x19; + INT16 MinPitch = 0xD508;//-11000 + if(PitchRecord>MinPitch) + { + PitchRecord = PitchRecord-100; + } + else + { + PitchRecord = MinPitch; + } + //DirRecord = DirRecord; + PitchControl = PitchRecord; + DirControl = DirRecord; + DC13InsCmdBuffer[1] = PitchControl; + DC13InsCmdBuffer[2] = PitchControl>>8; + DC13InsCmdBuffer[3] = DirControl; + DC13InsCmdBuffer[4] = DirControl>>8; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//λ+Χ180~-180 +void Dlg13InstituteDCNew::UpdateFrame37() +{ + DC13InsCmdBuffer[0] = 0x19; + //PitchRecord = PitchRecord; + if(DirRecord<0x4650)//18000 + { + DirRecord = DirRecord+100; + } + else + { + DirRecord = 0x4650; + } + PitchControl = PitchRecord; + DirControl = DirRecord; + DC13InsCmdBuffer[1] = PitchControl; + DC13InsCmdBuffer[2] = PitchControl>>8; + DC13InsCmdBuffer[3] = DirControl; + DC13InsCmdBuffer[4] = DirControl>>8; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} +//λ- +void Dlg13InstituteDCNew::UpdateFrame38() +{ + DC13InsCmdBuffer[0] = 0x19; + //PitchRecord = PitchRecord; + INT16 MinDir = 0xb9b0; + if(DirRecord>MinDir)//-18000 + { + DirRecord = DirRecord-100; + } + else + { + DirRecord = MinDir; + } + PitchControl = PitchRecord; + DirControl = DirRecord; + DC13InsCmdBuffer[1] = PitchControl; + DC13InsCmdBuffer[2] = PitchControl>>8; + DC13InsCmdBuffer[3] = DirControl; + DC13InsCmdBuffer[4] = DirControl>>8; + UpdateDataZ70_13Ins(); + + g_bBindData = true; +} + +//ť¡̧𴥷˺ +BOOL Dlg13InstituteDCNew::PreTranslateMessage(MSG* pMsg) +{ + if(g_IsSending) + { + // TODO: ڴרô/û + if(pMsg->message == WM_LBUTTONDOWN)// + { + Update13InsNewCmdBuffer(pMsg->hwnd); + } + if(pMsg->message == WM_LBUTTONUP)//̧ + { + g_bBindData = false;//װ־false + + + //if(!gCurGCSCtrlFlag) + //{ + // if(gComFlags.test(11))//((gCommuFlags & 0x0800) != 0x00) ) + // { + // g_DC13FrameCkCmd = g_FrameFKU; + // g_UDPACmdSwi.WriteBuffer(g_DC13FrameCkCmd.Addr(),g_DC13FrameCkCmd.GetFrameLength());//дӿָת + + // } + //} + + + } + } + + return CDialogEx::PreTranslateMessage(pMsg); +} + diff --git a/Src/CH91PayloadSoftware/Dlg13InstituteDCNew.h b/Src/CH91PayloadSoftware/Dlg13InstituteDCNew.h new file mode 100644 index 0000000..ccb4d1b --- /dev/null +++ b/Src/CH91PayloadSoftware/Dlg13InstituteDCNew.h @@ -0,0 +1,106 @@ +#pragma once +#include "resource.h" +#include "global.h" +#include +#include "afxwin.h" +#include "DCFrameCkCmd.h" +#include "CYHMudpSend.h"//Զ鲥 +#include "CMDBtn.h" +// Dlg13InstituteDCNew Ի + + +class Dlg13InstituteDCNew : public CDialogEx +{ + DECLARE_DYNAMIC(Dlg13InstituteDCNew) + +public: + Dlg13InstituteDCNew(CWnd* pParent = NULL); // ׼캯 + virtual ~Dlg13InstituteDCNew(); + + // Ի + enum { IDD = IDD_DIALOG_DC_13INSTITUTE_NEW }; + virtual BOOL OnInitDialog(); + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧ + + DECLARE_MESSAGE_MAP() +public: + void TimeStep(DWORD); //ʱ + int mTimerId; //ʱID + int num; //ָ + bool injectstart; //װʼı־ +public: + UINT8 SwitchCmd; //ָ + INT16 PitchControl; // + INT16 DirControl; //λ + INT16 PitchRecord; //¼ + INT16 DirRecord; //λ¼ + +public: + void Update13InsNewCmdBuffer(HWND);//¿ָЭ + void UpdateDataZ70_13Ins();//buffer֡ṹ + void UpdateFrame(int&); + void UpdateFrame2(int&); + void UpdateFrame3(int&); + void UpdateFrame4(int&); + void UpdateFrame5(); + void UpdateFrame6(); + void UpdateFrame7(); + void UpdateFrame8(); + void UpdateFrame9(int&); + void UpdateFrame10(int&); + void UpdateFrame11(int&); + void UpdateFrame12(int&); + void UpdateFrame13(int&); + void UpdateFrame14(); + void UpdateFrame15(); + void UpdateFrame16(int&); + void UpdateFrame17(int&); + void UpdateFrame18(int&); + void UpdateFrame19(int&); + void UpdateFrame20(); + void UpdateFrame21(); + void UpdateFrame22(int&); + void UpdateFrame23(int&); + void UpdateFrame24(int&); + void UpdateFrame25(int&); + void UpdateFrame26(int&); + void UpdateFrame27(int&); + void UpdateFrame28(int&); + void UpdateFrame29(int&); + void UpdateFrame30(int&); + void UpdateFrame31(int&); + void UpdateFrame32(int&); + void UpdateFrame33(int&); + void UpdateFrame34(int&); + void UpdateFrame35();//+Χ50~-110 + void UpdateFrame36();//- + void UpdateFrame37();//λ+Χ180~-180 + void UpdateFrame38();//λ- + //void UpdateFrame39(int&); + //void UpdateFrame40(int&); + //void UpdateDC13Action(int); + +public: + HANDLE hCheckThread;//߳ + DWORD ThreadCheckIDRegion; + afx_msg LRESULT OnUpdate13DCFrame(WPARAM wParam, LPARAM lParam); + int InfraredOrVisibleLight;//ɼл + virtual BOOL PreTranslateMessage(MSG* pMsg); + //CFont m_oFont;// + + CMFCButton DC13InsBtn[38]; + CCMDBtn m_DCFlyCmd[12]; + double Param1; + double Param2; + BYTE DC13InsCmdBuffer[5]; +public: + CBrush m_brush; + CFont m_font; +public: + //afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor); + CDCFrameCkCmdFrame DCFrameCkCmd13;//עָӿط֡---13 + CYHMudpSend m_MudpSend; + +}; diff --git a/Src/CH91PayloadSoftware/DlgWHTJDCNew.cpp b/Src/CH91PayloadSoftware/DlgWHTJDCNew.cpp new file mode 100644 index 0000000..59d01d2 --- /dev/null +++ b/Src/CH91PayloadSoftware/DlgWHTJDCNew.cpp @@ -0,0 +1,1712 @@ +// DlgWHTJDCNew.cpp : ʵļ + +#include "stdafx.h" +#include "DlgWHTJDCNew.h" +#include "afxdialogex.h" + +/*鲥*/ +#include +#include +#include + + +//tag_RecBind +HWND g_hwndWHTJDCNew = nullptr; +//̺߳ +void ThreadWHTJDCNew() +{ + //Ϣ + ::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)0); + Sleep(50); + ::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)1); + +} +//̺߳ +void ThreadWHTJDCNew2() +{ + do + { + ::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)0); + Sleep(80); + } + while(g_bBindData==true);//ţ̌g_bBindDatafasleѭ + //::PostMessage(g_hwndWHTJDCNew,WM_WHTJDC_UPDAFRAME,(WPARAM)g_WHTJDCCmdNum,(LPARAM)1); +} + +IMPLEMENT_DYNAMIC(DlgWHTJDCNew, CDialogEx) + +DlgWHTJDCNew::DlgWHTJDCNew(CWnd* pParent /*=NULL*/) + : CDialogEx(DlgWHTJDCNew::IDD, pParent) + , m_TarTakTemSizeSetWidth(_T("")) + , m_TarTakTemSizeSetHigth(_T("")) + , m_FocalDistanceSet(_T("")) + , m_DigitalGuidanceDir(_T("")) + , m_DigitalGuidancePitch(_T("")) + , m_SCanModelAngle(_T("")) + , m_SCanModelSpeed(_T("")) + , m_DirSCanSetCentre(_T("")) + , m_DirSCanSetRange(_T("")) + , m_PitchSCanSetCentre(_T("")) + , m_PitchSCanSetRange(_T("")) +{ + CharacterSuperpositionSet = 0; + FogThroughMode = 0; + PseudoColorSwitch = 0; + FocalDistanceSIZE = 3; + DirAndPitchCrlSize = 8; +} + +DlgWHTJDCNew::~DlgWHTJDCNew() +{ +} + +void DlgWHTJDCNew::DoDataExchange(CDataExchange* pDX) +{ + CDialogEx::DoDataExchange(pDX); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW, DC13InsBtn[0]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW2, DC13InsBtn[1]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW3, DC13InsBtn[2]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW4, DC13InsBtn[3]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW5, DC13InsBtn[4]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW6, DC13InsBtn[5]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW7, DC13InsBtn[6]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW8, DC13InsBtn[7]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW9, DC13InsBtn[8]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW10, DC13InsBtn[9]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW11, DC13InsBtn[10]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW12, DC13InsBtn[11]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW13, DC13InsBtn[12]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW14, DC13InsBtn[13]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW15, DC13InsBtn[14]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW16, DC13InsBtn[15]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW17, DC13InsBtn[16]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW18, DC13InsBtn[17]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW19, DC13InsBtn[18]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW20, DC13InsBtn[19]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW21, DC13InsBtn[20]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW22, DC13InsBtn[21]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW23, DC13InsBtn[22]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW24, DC13InsBtn[23]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW25, DC13InsBtn[24]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW26, DC13InsBtn[25]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW27, DC13InsBtn[26]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW28, DC13InsBtn[27]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW29, DC13InsBtn[28]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW30, DC13InsBtn[29]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW31, DC13InsBtn[30]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW32, DC13InsBtn[31]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW33, DC13InsBtn[32]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW34, DC13InsBtn[33]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW35, DC13InsBtn[34]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW36, DC13InsBtn[35]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW37, DC13InsBtn[36]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW38, DC13InsBtn[37]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW39, DC13InsBtn[38]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW40, DC13InsBtn[39]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW41, DC13InsBtn[40]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW42, DC13InsBtn[41]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW43, DC13InsBtn[42]); + DDX_Control(pDX, IDC_BTN_WHTJDC_NEW44, DC13InsBtn[43]); + //DDX_Text(pDX, IDC_EDIT_Pitch_Param, Param1); + + //DDX_Text(pDX, IDC_EDIT_Dir_Param, Param2); + + + DDX_Control(pDX, IDC_BUTTON1, m_DCFlyCmd[0]);//ͨ1 + DDX_Control(pDX, IDC_BUTTON2, m_DCFlyCmd[1]);//ͨ2 + DDX_Control(pDX, IDC_BUTTON3, m_DCFlyCmd[2]); + DDX_Control(pDX, IDC_BUTTON4, m_DCFlyCmd[3]); + DDX_Control(pDX, IDC_BUTTON5, m_DCFlyCmd[4]); + DDX_Control(pDX, IDC_BUTTON6, m_DCFlyCmd[5]); + DDX_Control(pDX, IDC_BUTTON7, m_DCFlyCmd[6]); + DDX_Control(pDX, IDC_BUTTON8, m_DCFlyCmd[7]); + DDX_Control(pDX, IDC_BUTTON9, m_DCFlyCmd[8]); + DDX_Control(pDX, IDC_BUTTON10, m_DCFlyCmd[9]); + DDX_Control(pDX, IDC_BUTTON11, m_DCFlyCmd[10]); + DDX_Control(pDX, IDC_BUTTON12, m_DCFlyCmd[11]); + + DDX_Text(pDX, IDC_EDIT_WHTD_6, m_TarTakTemSizeSetWidth); + DDX_Text(pDX, IDC_EDIT_WHTD_7, m_TarTakTemSizeSetHigth); + DDX_Text(pDX, IDC_EDIT_WHTD_5, m_FocalDistanceSet); + DDX_Text(pDX, IDC_EDIT_WHTD_3, m_DigitalGuidanceDir); + DDX_Text(pDX, IDC_EDIT_WHTD_4, m_DigitalGuidancePitch); + DDX_Text(pDX, IDC_EDIT_WHTD_1, m_SCanModelAngle); + DDX_Text(pDX, IDC_EDIT_WHTD_2, m_SCanModelSpeed); + DDX_Text(pDX, IDC_EDIT_WHTD_8, m_DirSCanSetCentre); + DDX_Text(pDX, IDC_EDIT_WHTD_9, m_DirSCanSetRange); + DDX_Text(pDX, IDC_EDIT_WHTD_10, m_PitchSCanSetCentre); + DDX_Text(pDX, IDC_EDIT_WHTD_11, m_PitchSCanSetRange); +} + +BOOL DlgWHTJDCNew::OnInitDialog() +{ + CDialogEx::OnInitDialog(); + CenterWindow(); + + g_hwndWHTJDCNew = this->GetSafeHwnd(); + + CFont m_oFont;// + m_oFont.CreatePointFont(80, _T("Times New Roman"),NULL); + for(int i = 0;i<44;++i) + { + //DC13InsBtn[i].SetTextColor(RGB(255,255,255)); + //DC13InsBtn[i].SetFont(&m_oFont); + //DC13InsBtn[i].SetFaceColor(RGB(54,54,54),true); + if(i==0||i==1||i==2||i==3||i==6||i==7||i==29||i==33) + { + DC13InsBtn[i].SetTextColor(RGB(0,0,0)); + DC13InsBtn[i].SetFont(&m_oFont); + DC13InsBtn[i].SetFaceColor(RGB(133,220,49),true); + } + else + { + DC13InsBtn[i].SetTextColor(RGB(0,0,0)); + DC13InsBtn[i].SetFont(&m_oFont); + DC13InsBtn[i].SetFaceColor(RGB(204,255,255),true); + } + } + + CFont m_font; + m_font.CreatePointFont(100,_T(""),NULL); + //CWnd* pWnd = GetDlgItem(IDC_STATIC_PitchAndDir); + //pWnd->SetFont(&m_font); + + CFont m_font2; + m_font2.CreatePointFont(120,_T(""),NULL); + + CWnd* pWnd2 = GetDlgItem(IDC_EDIT_WHTD_1); + pWnd2->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_1)->SetWindowText("100"); + + CWnd* pWnd3 = GetDlgItem(IDC_EDIT_WHTD_2); + pWnd3->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_2)->SetWindowText("5"); + + CWnd* pWnd4 = GetDlgItem(IDC_EDIT_WHTD_3); + pWnd4->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_3)->SetWindowText("0.00"); + + CWnd* pWnd5 = GetDlgItem(IDC_EDIT_WHTD_4); + pWnd5->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_4)->SetWindowText("0.00"); + + CWnd* pWnd6 = GetDlgItem(IDC_EDIT_WHTD_5); + pWnd6->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_5)->SetWindowText("0.0"); + + CWnd* pWnd7 = GetDlgItem(IDC_EDIT_WHTD_6); + pWnd7->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_6)->SetWindowText("0"); + + CWnd* pWnd8 = GetDlgItem(IDC_EDIT_WHTD_7); + pWnd8->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_7)->SetWindowText("0"); + + CWnd* pWnd9 = GetDlgItem(IDC_EDIT_WHTD_8); + pWnd9->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_8)->SetWindowText("0"); + + CWnd* pWnd10 = GetDlgItem(IDC_EDIT_WHTD_9); + pWnd10->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_9)->SetWindowText("100"); + + CWnd* pWnd11 = GetDlgItem(IDC_EDIT_WHTD_10); + pWnd11->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_10)->SetWindowText("-15"); + + CWnd* pWnd12 = GetDlgItem(IDC_EDIT_WHTD_11); + pWnd12->SetFont(&m_font2); + GetDlgItem(IDC_EDIT_WHTD_11)->SetWindowText("50"); + + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(0,_TEXT("ԶС")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(1,_TEXT("Сģ(16*16)")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(2,_TEXT("ģ(32*32)")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(3,_TEXT("ģ(64*64)")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->InsertString(4,_TEXT("ģ(128*128)")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_1))->SetCurSel(0); + + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(0,_TEXT("dz")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(1,_TEXT("")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(2,_TEXT("")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(3,_TEXT("")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(4,_TEXT("е")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(5,_TEXT("")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(6,_TEXT("Ͽ")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(7,_TEXT("ܿ")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->InsertString(8,_TEXT("dz")); + ((CComboBox * )GetDlgItem(IDC_COMBO_TJDC_2))->SetCurSel(4); + + for(int i=0;i<12;++i) + { + m_DCFlyCmd[i].Cmd=i+1; + m_DCFlyCmd[i].Cmdpage = 20;//ҳ־Ϊ20 + m_DCFlyCmd[i].SetTextColor(RGB(0,0,0)); + m_DCFlyCmd[i].SetFont(&m_oFont); + m_DCFlyCmd[i].SetFaceColor(RGB(24,225,255),true); + } + + memset(TJDCCmdBuffer,0,sizeof(TJDCCmdBuffer)); + + return TRUE; +} + +BEGIN_MESSAGE_MAP(DlgWHTJDCNew, CDialogEx) + ON_MESSAGE(WM_WHTJDC_UPDAFRAME, &DlgWHTJDCNew::OnUpdateWHTJDCFrame) + ON_WM_CTLCOLOR() + ON_CBN_SELCHANGE(IDC_COMBO_TJDC_2, &DlgWHTJDCNew::OnCbnSelchangeComboTjdc2) + ON_WM_LBUTTONDOWN() +END_MESSAGE_MAP() + + +// DlgWHTJDCNew Ϣ +//߳ϢϢ +afx_msg LRESULT DlgWHTJDCNew::OnUpdateWHTJDCFrame(WPARAM wParam, LPARAM lParam) +{ + switch ((int)wParam) + { + case 0: + UpdateFrame(); + break; + case 2: + UpdateFrame2(); + break; + case 3: + UpdateFrame3(); + break; + case 4: + UpdateFrame4(); + break; + case 5: + UpdateFrame5((int&)lParam); + break; + case 6: + UpdateFrame6((int&)lParam); + break; + case 7: + UpdateFrame7(); + break; + case 8: + UpdateFrame8(); + break; + case 9: + UpdateFrame9((int&)lParam); + break; + case 10: + UpdateFrame10((int&)lParam); + break; + case 11: + UpdateFrame11((int&)lParam); + break; + case 12: + UpdateFrame12((int&)lParam); + break; + case 13: + UpdateFrame13((int&)lParam); + break; + case 14: + UpdateFrame14((int&)lParam); + break; + case 15: + UpdateFrame15((int&)lParam); + break; + case 16: + UpdateFrame16((int&)lParam); + break; + case 17: + UpdateFrame17((int&)lParam); + break; + case 18: + UpdateFrame18((int&)lParam); + break; + case 19: + UpdateFrame19((int&)lParam); + break; + case 20: + UpdateFrame20((int&)lParam); + break; + case 21: + UpdateFrame21((int&)lParam); + break; + case 22: + UpdateFrame22((int&)lParam); + break; + case 23: + UpdateFrame23((int&)lParam); + break; + case 24: + UpdateFrame24((int&)lParam); + break; + case 25: + UpdateFrame25((int&)lParam); + break; + case 26: + UpdateFrame26((int&)lParam); + break; + case 27: + UpdateFrame27((int&)lParam); + break; + case 28: + UpdateFrame28((int&)lParam); + break; + case 29: + UpdateFrame29((int&)lParam); + break; + case 30: + UpdateFrame30(); + break; + case 31: + UpdateFrame31((int&)lParam); + break; + case 32: + UpdateFrame32((int&)lParam); + break; + case 33: + UpdateFrame33((int&)lParam); + break; + case 34: + UpdateFrame34(); + break; + case 35: + UpdateFrame35((int&)lParam); + break; + case 36: + UpdateFrame36((int&)lParam); + break; + case 37: + UpdateFrame37((int&)lParam); + break; + case 38: + UpdateFrame38((int&)lParam); + break; + case 39: + UpdateFrame39((int&)lParam); + break; + case 40: + UpdateFrame40((int&)lParam); + break; + case 41: + UpdateFrame41((int&)lParam); + break; + case 43: + UpdateFrame43((int&)lParam); + break; + case 44: + UpdateFrame44((int&)lParam); + break; + case 100: + UpdateFrame100((int&)lParam); + break; + case 101: + UpdateFrame101((int&)lParam); + break; + default: + break; + } + + //if((int&)lParam == 0) + //{ + // if(g_IsSending){ + // g_MUDPCamera.SendToY(DCFrameCkCmdWHTJ.Addr(), 20); + // } + //} + return 0; +} + +//13տָ ť£д +//ظ͵ָֱӸֱֵţ̌װ־Ϊfalseֹͣ +//ֻһεָһ̣߳߳100msȺ͸ֵղֵڼָ(GCSView::Setp)պָٷ͡ +void DlgWHTJDCNew::UpdateWHTJDCCmdBuffer(HWND hwnd) +{ + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW)->m_hWnd) + { + g_WHTJDCCmdNum = 0; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW2)->m_hWnd) + { + g_WHTJDCCmdNum = 2; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW3)->m_hWnd) + { + g_WHTJDCCmdNum = 3; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW4)->m_hWnd) + { + g_WHTJDCCmdNum = 4; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW5)->m_hWnd) + { + g_WHTJDCCmdNum = 5; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW6)->m_hWnd) + { + g_WHTJDCCmdNum = 6; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW7)->m_hWnd) + { + g_WHTJDCCmdNum = 7; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW8)->m_hWnd) + { + g_WHTJDCCmdNum = 8; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW9)->m_hWnd) + { + g_WHTJDCCmdNum = 9; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW10)->m_hWnd) + { + g_WHTJDCCmdNum = 10; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW11)->m_hWnd) + { + g_WHTJDCCmdNum = 11; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW12)->m_hWnd) + { + g_WHTJDCCmdNum = 12; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW13)->m_hWnd) + { + g_WHTJDCCmdNum = 13; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW14)->m_hWnd) + { + //UpdateFrame14(); + g_WHTJDCCmdNum = 14; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW15)->m_hWnd) + { + //UpdateFrame15(); + g_WHTJDCCmdNum = 15; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW16)->m_hWnd) + { + g_WHTJDCCmdNum = 16; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW17)->m_hWnd) + { + g_WHTJDCCmdNum = 17; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW18)->m_hWnd) + { + g_WHTJDCCmdNum = 18; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW19)->m_hWnd) + { + g_WHTJDCCmdNum = 19; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW20)->m_hWnd) + { + //UpdateFrame20(); + g_WHTJDCCmdNum = 20; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW21)->m_hWnd) + { + //UpdateFrame21(); + g_WHTJDCCmdNum = 21; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW22)->m_hWnd) + { + g_WHTJDCCmdNum = 22; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW23)->m_hWnd) + { + g_WHTJDCCmdNum = 23; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW24)->m_hWnd) + { + g_WHTJDCCmdNum = 24; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW25)->m_hWnd) + { + g_WHTJDCCmdNum = 25; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW26)->m_hWnd) + { + g_WHTJDCCmdNum = 26; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW27)->m_hWnd) + { + g_WHTJDCCmdNum = 27; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW28)->m_hWnd) + { + g_WHTJDCCmdNum = 28; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW29)->m_hWnd) + { + g_WHTJDCCmdNum = 29; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW30)->m_hWnd) + { + g_WHTJDCCmdNum = 30; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW31)->m_hWnd) + { + g_WHTJDCCmdNum = 31; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW32)->m_hWnd) + { + g_WHTJDCCmdNum = 32; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW33)->m_hWnd) + { + g_WHTJDCCmdNum = 33; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW34)->m_hWnd) + { + g_WHTJDCCmdNum = 34; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew2, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW35)->m_hWnd) + { + g_WHTJDCCmdNum = 35; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW36)->m_hWnd) + { + g_WHTJDCCmdNum = 36; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW37)->m_hWnd) + { + g_WHTJDCCmdNum = 37; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW38)->m_hWnd) + { + g_WHTJDCCmdNum = 38; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW39)->m_hWnd) + { + g_WHTJDCCmdNum = 39; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW40)->m_hWnd) + { + g_WHTJDCCmdNum = 40; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW41)->m_hWnd) + { + g_WHTJDCCmdNum = 41; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW43)->m_hWnd) + { + g_WHTJDCCmdNum = 43; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } + if(hwnd ==GetDlgItem(IDC_BTN_WHTJDC_NEW44)->m_hWnd) + { + g_WHTJDCCmdNum = 44; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + } +} +void DlgWHTJDCNew::UpdateDataZ70_TJDC() +{ + DCFrameCkCmdWHTJ.Data.fcode=0x70; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DCtype = TJDCCmdBuffer[0];//0x02 + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param = TJDCCmdBuffer[1]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param2 = TJDCCmdBuffer[2]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param3 = TJDCCmdBuffer[3]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param4 = TJDCCmdBuffer[4]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param5 = TJDCCmdBuffer[5]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param6 = TJDCCmdBuffer[6]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param7 = TJDCCmdBuffer[7]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param8 = TJDCCmdBuffer[8]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param9 = TJDCCmdBuffer[9]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param10 = TJDCCmdBuffer[10]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param11 = TJDCCmdBuffer[11]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param12 = TJDCCmdBuffer[12]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param13 = TJDCCmdBuffer[13]; + DCFrameCkCmdWHTJ.Data.dataInject_DC.DC_WHTJ.param14 = TJDCCmdBuffer[14]; + DCFrameCkCmdWHTJ.SendPrepare(); + + if(g_IsSending){ + g_MUDPCamera.SendToY(DCFrameCkCmdWHTJ.Addr(), 20); + } + + //TJDCCmdBuffer + memset(TJDCCmdBuffer,0,sizeof(TJDCCmdBuffer)); + +} +void DlgWHTJDCNew::UpdateFrame() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[6]=0x70; + TJDCCmdBuffer[7]=0x00; + TJDCCmdBuffer[8]=0x00; + TJDCCmdBuffer[9]=DirAndPitchCrlSize; + TJDCCmdBuffer[10]=DirAndPitchCrlSize>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + +} +void DlgWHTJDCNew::UpdateFrame2() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[6]=0x70; + TJDCCmdBuffer[7]=0x00; + TJDCCmdBuffer[8]=0x00; + TJDCCmdBuffer[9]=-DirAndPitchCrlSize; + TJDCCmdBuffer[10]=-DirAndPitchCrlSize>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + +} +void DlgWHTJDCNew::UpdateFrame3() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[6]=0x70; + TJDCCmdBuffer[7]=-DirAndPitchCrlSize; + TJDCCmdBuffer[8]=-DirAndPitchCrlSize>>8; + TJDCCmdBuffer[9]=0x00; + TJDCCmdBuffer[10]=0x00; + UpdateDataZ70_TJDC(); + g_bBindData = true; +} +void DlgWHTJDCNew::UpdateFrame4() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[6]=0x70; + TJDCCmdBuffer[7]=DirAndPitchCrlSize; + TJDCCmdBuffer[8]=DirAndPitchCrlSize>>8; + TJDCCmdBuffer[9]=0x00; + TJDCCmdBuffer[10]=0x00; + UpdateDataZ70_TJDC(); + g_bBindData = true; +} +void DlgWHTJDCNew::UpdateFrame5(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x71; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame6(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x31; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame7() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x45; + TJDCCmdBuffer[2]=0x03; + TJDCCmdBuffer[3]=FocalDistanceSIZE; + UpdateDataZ70_TJDC(); + g_bBindData = true; +} +void DlgWHTJDCNew::UpdateFrame8() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x45; + TJDCCmdBuffer[2]=0x04; + TJDCCmdBuffer[3]=FocalDistanceSIZE; + UpdateDataZ70_TJDC(); + g_bBindData = true; +} +void DlgWHTJDCNew::UpdateFrame9(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x3A; + TJDCCmdBuffer[2]=0x00; + TJDCCmdBuffer[3]=0x00; + TJDCCmdBuffer[4]=0x00; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame10(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x32; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame11(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x33; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame12(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x37; + if(CharacterSuperpositionSet==0){CharacterSuperpositionSet = 1;} + else if(CharacterSuperpositionSet==1){CharacterSuperpositionSet = 2;} + else if(CharacterSuperpositionSet==2){CharacterSuperpositionSet = 0;} + TJDCCmdBuffer[2]=CharacterSuperpositionSet; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame13(int &sendEnd) +{ + if(sendEnd==0) + { + SelectPointTrack = true; + //TJDCCmdBuffer[0]=0x02; + //TJDCCmdBuffer[1]=0x3A; + //TJDCCmdBuffer[2]=0x00; + //TJDCCmdBuffer[3]=0x00; + //TJDCCmdBuffer[4]=0x00; + //TJDCCmdBuffer[5]=0x00; + //UpdateDataZ70_TJDC(); + g_bBindData = true; + //MessageBox(_T("վ֧ѡٹܣĬѡͼ")); + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame13_1() +{ + //x1 m_wndShowEO_Position_Max_x + //y1 m_wndShowEO_Position_Max_y + //x2 g_TrackOffset.x + //y2 g_TrackOffset.y + //double k1 = (float)1920/1080; + + //ȡʵͼ + //x,yʵͼ꣬bʵͼͼxƫkϵ + int x,y,b; + float k; + k = 1080/m_wndShowEO_Position_Max_y; + y = g_TrackOffset.y * k; + b = 0.5*(m_wndShowEO_Position_Max_x * k-1920); + x = (g_TrackOffset.x - b) * k; + if(x<0||x>1920) + { + return; + } + //תΪտָ꣬Ϊ㣬xΧ[-960,960],yΧ[-540,540]; + int xx = x-960; + int yy = y-540; + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x3A; + TJDCCmdBuffer[2]=xx; + TJDCCmdBuffer[3]=xx>>8; + TJDCCmdBuffer[4]=yy; + TJDCCmdBuffer[5]=yy>>8; + UpdateDataZ70_TJDC(); + SelectPointTrack = false; + +} +void DlgWHTJDCNew::UpdateFrame14(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x36; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame15(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x3D; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame16(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x34; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame17(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x33; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame18(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x33; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame19(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x3B; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame20(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + + if(!IsPositiveInteger(m_TarTakTemSizeSetWidth)||!IsPositiveInteger(m_TarTakTemSizeSetHigth)) + { + MessageBox(_T("һ0-255")); + return; + } + int TarTakTemSizeSetWidth,TarTakTemSizeSetHigth; + TarTakTemSizeSetWidth = _ttoi(m_TarTakTemSizeSetWidth); + TarTakTemSizeSetHigth = _ttoi(m_TarTakTemSizeSetHigth); + if(TarTakTemSizeSetWidth<0||TarTakTemSizeSetWidth>255||TarTakTemSizeSetHigth<0||TarTakTemSizeSetHigth>255) + { + MessageBox(_T("ĿģС÷Χ0-255")); + return; + } + + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x23; + int m_TDFlag = ((CComboBox*)GetDlgItem(IDC_COMBO_TJDC_1))->GetCurSel();//IDC_COMBO_TJDC_1ťĵǰѡ + switch (m_TDFlag) + { + case 0: + TJDCCmdBuffer[2]=0x00; + TJDCCmdBuffer[3]=0; + TJDCCmdBuffer[4]=TarTakTemSizeSetWidth; + TJDCCmdBuffer[5]=TarTakTemSizeSetHigth; + break; + case 1: + TJDCCmdBuffer[2]=0x01; + TJDCCmdBuffer[3]=0; + TJDCCmdBuffer[4]=0; + TJDCCmdBuffer[5]=0; + break; + case 2: + TJDCCmdBuffer[2]=0x02; + TJDCCmdBuffer[3]=0; + TJDCCmdBuffer[4]=0; + TJDCCmdBuffer[5]=0; + break; + case 3: + TJDCCmdBuffer[2]=0x03; + TJDCCmdBuffer[3]=0; + TJDCCmdBuffer[4]=0; + TJDCCmdBuffer[5]=0; + break; + case 4: + TJDCCmdBuffer[2]=0x04; + TJDCCmdBuffer[3]=0; + TJDCCmdBuffer[4]=0; + TJDCCmdBuffer[5]=0; + break; + default: + break; + } + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } + +} +void DlgWHTJDCNew::UpdateFrame21(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x38; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame22(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x3E; + TJDCCmdBuffer[2]=0x02; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame23(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x53; + TJDCCmdBuffer[2]=0x01; + if(PseudoColorSwitch==0){PseudoColorSwitch = 1;} + else if(PseudoColorSwitch==1){PseudoColorSwitch = 2;} + else if(PseudoColorSwitch==2){PseudoColorSwitch = 3;} + else if(PseudoColorSwitch==3){PseudoColorSwitch = 4;} + else if(PseudoColorSwitch==4){PseudoColorSwitch = 5;} + else if(PseudoColorSwitch==5){PseudoColorSwitch = 6;} + else if(PseudoColorSwitch==6){PseudoColorSwitch = 7;} + else if(PseudoColorSwitch==7){PseudoColorSwitch = 8;} + else if(PseudoColorSwitch==8){PseudoColorSwitch = 9;} + else if(PseudoColorSwitch==9){PseudoColorSwitch = 10;} + else if(PseudoColorSwitch==10){PseudoColorSwitch = 0;} + TJDCCmdBuffer[3]=PseudoColorSwitch; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame24(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x56; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame25(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x54; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame26(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x57; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame27(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x79; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame28(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x73; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame29(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x3F; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame30() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x45; + TJDCCmdBuffer[2]=0x01; + TJDCCmdBuffer[3]=FocalDistanceSIZE; + UpdateDataZ70_TJDC(); + g_bBindData = true; + +} +void DlgWHTJDCNew::UpdateFrame31(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x4A; + if(FogThroughMode==0){FogThroughMode = 1;} + else if(FogThroughMode==1){FogThroughMode = 2;} + else if(FogThroughMode==2){FogThroughMode = 0;} + TJDCCmdBuffer[2]=FogThroughMode; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame32(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x75; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame33(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x7B; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame34() +{ + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x45; + TJDCCmdBuffer[2]=0x02; + TJDCCmdBuffer[3]=FocalDistanceSIZE; + UpdateDataZ70_TJDC(); + g_bBindData = true; +} +void DlgWHTJDCNew::UpdateFrame35(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x4B; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame36(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + if(!IsPositiveNumber(m_FocalDistanceSet)) + { + MessageBox(_T("[4.3,129.0]֮")); + return; + } + float FocalDistanceSet; + FocalDistanceSet = _ttof(m_FocalDistanceSet); + if(FocalDistanceSet<0.0||FocalDistanceSet>129.0) + { + MessageBox("ЧΧ[4.3,129.0]"); + return; + } + UINT16 UINT16FocalDistanceSet; + UINT16FocalDistanceSet = (UINT16)(FocalDistanceSet*10); + + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x4C; + TJDCCmdBuffer[2]=UINT16FocalDistanceSet; + TJDCCmdBuffer[3]=UINT16FocalDistanceSet>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame37(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x74; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame38(int &sendEnd) +{ + if(sendEnd==0) + { + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x7A; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame39(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + + if(!IsNumber(m_DigitalGuidanceDir)||!IsNumber(m_DigitalGuidancePitch)) + { + MessageBox(_T("֣")); + return; + } + float DigitalGuidanceDir,DigitalGuidancePitch; + DigitalGuidanceDir = _ttof(m_DigitalGuidanceDir); + DigitalGuidancePitch = _ttof(m_DigitalGuidancePitch); + if(DigitalGuidanceDir<-180||DigitalGuidanceDir>180) + { + MessageBox(_T("ֵλ÷Χ[-180.00,180.00]")); + return; + } + if(DigitalGuidancePitch<-120||DigitalGuidancePitch>90) + { + MessageBox(_T("ֵ÷Χ[-120.00,90.00]")); + return; + } + INT16 UINT16DigitalGuidanceDir,UINT16DigitalGuidancePitch; + UINT16DigitalGuidanceDir = (INT16)(DigitalGuidanceDir*100); + UINT16DigitalGuidancePitch = (INT16)(DigitalGuidancePitch*100); + + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x72; + TJDCCmdBuffer[2]=UINT16DigitalGuidanceDir; + TJDCCmdBuffer[3]=UINT16DigitalGuidanceDir>>8; + TJDCCmdBuffer[4]=UINT16DigitalGuidancePitch; + TJDCCmdBuffer[5]=UINT16DigitalGuidancePitch>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame40(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + if(!IsPositiveInteger(m_SCanModelSpeed)||!IsPositiveInteger(m_SCanModelAngle)) + { + MessageBox(_T("")); + return; + } + INT16 SCanModelSpeed,SCanModelAngle; + SCanModelSpeed = _ttoi(m_SCanModelSpeed); + SCanModelAngle = _ttoi(m_SCanModelAngle); + if(SCanModelAngle<0||SCanModelAngle>180) + { + MessageBox(_T("ɨǶ÷Χ0-180")); + return; + } + if(SCanModelSpeed<0||SCanModelSpeed>100) + { + MessageBox(_T("ɨٶ÷Χ0-100")); + return; + } + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x79; + TJDCCmdBuffer[2]=SCanModelAngle; + TJDCCmdBuffer[3]=SCanModelAngle>>8; + TJDCCmdBuffer[4]=SCanModelSpeed; + TJDCCmdBuffer[5]=SCanModelSpeed>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame41(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + + if(!IsNumber(m_DigitalGuidanceDir)||!IsNumber(m_DigitalGuidancePitch)) + { + MessageBox(_T("֣")); + return; + } + float DigitalGuidanceDir,DigitalGuidancePitch; + DigitalGuidanceDir = _ttof(m_DigitalGuidanceDir); + DigitalGuidancePitch = _ttof(m_DigitalGuidancePitch); + if(DigitalGuidanceDir<-180||DigitalGuidanceDir>180) + { + MessageBox(_T("ָ̬λ÷Χ[-180.00,180.00]")); + return; + } + if(DigitalGuidancePitch<-120||DigitalGuidancePitch>90) + { + MessageBox(_T("ָ̬÷Χ[-120.00,90.00]")); + return; + } + INT16 UINT16DigitalGuidanceDir,UINT16DigitalGuidancePitch; + UINT16DigitalGuidanceDir = (INT16)(DigitalGuidanceDir*100); + UINT16DigitalGuidancePitch = (INT16)(DigitalGuidancePitch*100); + + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x7C; + TJDCCmdBuffer[2]=UINT16DigitalGuidanceDir; + TJDCCmdBuffer[3]=UINT16DigitalGuidanceDir>>8; + TJDCCmdBuffer[4]=UINT16DigitalGuidancePitch; + TJDCCmdBuffer[5]=UINT16DigitalGuidancePitch>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame43(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + if(!IsPositiveInteger(m_DirSCanSetCentre)||!IsPositiveInteger(m_DirSCanSetRange)) + { + MessageBox(_T("")); + return; + } + INT16 DirSCanSetCentre,DirSCanSetRange; + DirSCanSetCentre = _ttoi(m_DirSCanSetCentre); + DirSCanSetRange = _ttoi(m_DirSCanSetRange); + if(DirSCanSetCentre<0||DirSCanSetCentre>360) + { + MessageBox(_T("λɨĵ÷Χ0-360")); + return; + } + if(DirSCanSetRange<0||DirSCanSetRange>180) + { + MessageBox(_T("λɨ跶Χ÷Χ0-180")); + return; + } + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x77; + TJDCCmdBuffer[2]=DirSCanSetCentre; + TJDCCmdBuffer[3]=DirSCanSetCentre>>8; + TJDCCmdBuffer[4]=DirSCanSetRange; + TJDCCmdBuffer[5]=DirSCanSetRange>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +void DlgWHTJDCNew::UpdateFrame44(int &sendEnd) +{ + if(sendEnd==0) + { + if(!UpdateData(TRUE))//¶ԻӦı + { + MessageBox(_T("ȷݣ")); + return; + } + if(!IsInteger(m_PitchSCanSetCentre)) + { + MessageBox(_T("ɨĵΪ")); + return; + } + if(!IsPositiveInteger(m_PitchSCanSetRange)) + { + MessageBox(_T("ɨ跶ΧΪ")); + return; + } + INT16 PitchSCanSetCentre,PitchSCanSetRange; + PitchSCanSetCentre = _ttoi(m_PitchSCanSetCentre); + PitchSCanSetRange = _ttoi(m_PitchSCanSetRange); + if(PitchSCanSetCentre<-180||PitchSCanSetCentre>180) + { + MessageBox(_T("ɨĵ÷Χ-180-180")); + return; + } + if(PitchSCanSetRange<0||PitchSCanSetRange>180) + { + MessageBox(_T("ɨ跶Χ÷Χ0-180")); + return; + } + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x78; + TJDCCmdBuffer[2]=PitchSCanSetCentre; + TJDCCmdBuffer[3]=PitchSCanSetCentre>>8; + TJDCCmdBuffer[4]=PitchSCanSetRange; + TJDCCmdBuffer[5]=PitchSCanSetRange>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} + + +void DlgWHTJDCNew::UpdateFrame100(int &sendEnd) +{ + UpdateFrame28(sendEnd);//ֱ +} +void DlgWHTJDCNew::UpdateFrame101(int &sendEnd) +{ + if(sendEnd==0) + { + //ճǰ + INT16 CmdDir,CmdPitch; + CmdDir = 0x0000; + CmdPitch = 0x0000; + TJDCCmdBuffer[0]=0x02; + TJDCCmdBuffer[1]=0x72; + TJDCCmdBuffer[2]=CmdDir; + TJDCCmdBuffer[3]=CmdDir>>8; + TJDCCmdBuffer[4]=CmdPitch; + TJDCCmdBuffer[5]=CmdPitch>>8; + UpdateDataZ70_TJDC(); + g_bBindData = true; + } + else + { + g_bBindData = false; + } +} +//0:UpdateFrame101 +//1:UpdateFrame100 +//2:UpdateFrame13_1 +void DlgWHTJDCNew::UpdateTJDCAction(int num) +{ + switch(num) + { + case 0: + g_WHTJDCCmdNum = 100; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + break; + case 1: + g_WHTJDCCmdNum = 101; + hCheckThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)ThreadWHTJDCNew, NULL, 0, &ThreadCheckIDRegion);//߳ + CloseHandle(hCheckThread); + break; + case 2: + UpdateFrame13_1(); + break; + default: + break; + } +} + + +//ť¡̧𴥷˺ +BOOL DlgWHTJDCNew::PreTranslateMessage(MSG* pMsg) +{ + if(g_IsSending) + { + // TODO: ڴרô/û + if(pMsg->message == WM_LBUTTONDOWN)// + { + UpdateWHTJDCCmdBuffer(pMsg->hwnd); + } + if(pMsg->message == WM_LBUTTONUP)//̧ + { + g_bBindData = false;//װ־false + + //if(!gCurGCSCtrlFlag) + //{ + // if(gComFlags.test(11))//((gCommuFlags & 0x0800) != 0x00) ) + // { + // g_DC13FrameCkCmd = g_FrameFKU; + // g_UDPACmdSwi.WriteBuffer(g_DC13FrameCkCmd.Addr(),g_DC13FrameCkCmd.GetFrameLength());//дӿָת + + // } + //} + + + } + } + + return CDialogEx::PreTranslateMessage(pMsg); +} +//ŷƲѡ +void DlgWHTJDCNew::OnCbnSelchangeComboTjdc2() +{ + // TODO: ڴӿؼ֪ͨ + int m_TDFlag = ((CComboBox*)GetDlgItem(IDC_COMBO_TJDC_2))->GetCurSel();//IDC_COMBO_TJDC_1ťĵǰѡ + switch(m_TDFlag) + { + case 0: + DirAndPitchCrlSize = 1; + break; + case 1: + DirAndPitchCrlSize = 2; + break; + case 2: + DirAndPitchCrlSize = 4; + break; + case 3: + DirAndPitchCrlSize = 6; + break; + case 4: + DirAndPitchCrlSize = 8; + break; + case 5: + DirAndPitchCrlSize = 10; + break; + case 6: + DirAndPitchCrlSize = 12; + break; + case 7: + DirAndPitchCrlSize = 14; + break; + case 8: + DirAndPitchCrlSize = 16; + break; + default: + DirAndPitchCrlSize = 8; + break; + } +} + + +void DlgWHTJDCNew::OnLButtonDown(UINT nFlags, CPoint point) +{ + // TODO: ڴϢ/Ĭֵ + if(SelectPointTrack) + { + CPoint point_g; + GetCursorPos(&point_g); + SelectPointTrack = false; + } + CDialogEx::OnLButtonDown(nFlags, point); +} diff --git a/Src/CH91PayloadSoftware/DlgWHTJDCNew.h b/Src/CH91PayloadSoftware/DlgWHTJDCNew.h new file mode 100644 index 0000000..035774b --- /dev/null +++ b/Src/CH91PayloadSoftware/DlgWHTJDCNew.h @@ -0,0 +1,126 @@ +#pragma once +#include "resource.h" +#include "global.h" +#include +#include "afxwin.h" +#include "DCFrameCkCmd.h" +#include "CYHMudpSend.h"//Զ鲥 +#include "CMDBtn.h" +//#include "MCBtn.h" +// DlgWHTJDCNew Ի + +class DlgWHTJDCNew : public CDialogEx +{ + DECLARE_DYNAMIC(DlgWHTJDCNew) + +public: + DlgWHTJDCNew(CWnd* pParent = NULL); // ׼캯 + virtual ~DlgWHTJDCNew(); + + // Ի + enum { IDD = IDD_DIALOG_DC_WuHanTJ_NEW }; + virtual BOOL OnInitDialog(); + +protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧ + + DECLARE_MESSAGE_MAP() + +public: + CCMDBtn m_DCFlyCmd[12]; + CMFCButton DC13InsBtn[44]; + BYTE TJDCCmdBuffer[15]; +public: + UINT8 SwitchCmd; //ָ + INT16 PitchControl; // + INT16 DirControl; //λ + INT16 PitchRecord; //¼ + INT16 DirRecord; //λ¼ + double Param1; + double Param2; + UINT8 CharacterSuperpositionSet;//ַ + INT16 DirAndPitchCrlSize;//λ + CString m_TarTakTemSizeSetWidth; + CString m_TarTakTemSizeSetHigth; + UINT8 FogThroughMode; //͸ģʽ + UINT8 PseudoColorSwitch;//αɫл + CString m_FocalDistanceSet;// + CString m_DigitalGuidancePitch;//ģʽ + CString m_DigitalGuidanceDir;//ģʽ λ + CString m_SCanModelAngle;//ɨ Ƕ + CString m_SCanModelSpeed;//ɨ ٶ + CString m_DirSCanSetCentre;//λɨ + CString m_DirSCanSetRange;//λɨ Χ + CString m_PitchSCanSetCentre;//ɨ + CString m_PitchSCanSetRange;//ɨ Χ + int FocalDistanceSIZE;///䱶ȼ1-7 +public: + void UpdateWHTJDCCmdBuffer(HWND);//¿ָЭ + void DlgWHTJDCNew::UpdateDataZ70_TJDC();//עָZ70 + void UpdateFrame(); //+ + void UpdateFrame2(); //- + void UpdateFrame3(); //λ+ + void UpdateFrame4(); //λ- + void UpdateFrame5(int&); //λ + void UpdateFrame6(int&); //ͼл + void UpdateFrame7(); //+ + void UpdateFrame8(); //- + void UpdateFrame9(int&); //ɼ + void UpdateFrame10(int&); //һ + void UpdateFrame11(int&); //ֹͣ + void UpdateFrame12(int&); //ַ + void UpdateFrame13(int&); //ѡ + void UpdateFrame13_1(); //ѡִ + + void UpdateFrame14(int&); //ò + void UpdateFrame15(int&); //μ + void UpdateFrame16(int&); // + void UpdateFrame17(int&); //ʼ¼ + void UpdateFrame18(int&); //ֹͣ¼ + void UpdateFrame19(int&); //ȡ + void UpdateFrame20(int&); //ģС + void UpdateFrame21(int&); //ѯ + void UpdateFrame22(int&); // + void UpdateFrame23(int&); //αɫл + void UpdateFrame24(int&); //Ų + void UpdateFrame25(int&); //ӷŴ + void UpdateFrame26(int&); //ͼǿ + void UpdateFrame27(int&); //̨ɨ + void UpdateFrame28(int&); //ֱ + void UpdateFrame29(int&); //ֹͣ + void UpdateFrame30(); //䱶+ + void UpdateFrame31(int&); //͸ģʽ + void UpdateFrame32(int&); //ŷ + void UpdateFrame33(int&); //λ涯 + void UpdateFrame34(); //䱶- + void UpdateFrame35(int&); //նģʽ + void UpdateFrame36(int&); // + void UpdateFrame37(int&); //ղģʽ + void UpdateFrame38(int&); //λ + void UpdateFrame39(int&); // 72 + void UpdateFrame40(int&); //ɨ + void UpdateFrame41(int&); //ָ̬ 7C + void UpdateFrame43(int&); //λɨ + void UpdateFrame44(int&); //ɨ + + void UpdateFrame100(int&); //Ϊ1 + void UpdateFrame101(int&); //Ϊ2 + void UpdateTJDCAction(int); //Ϊ + +public: + HANDLE hCheckThread;//߳ + DWORD ThreadCheckIDRegion; + afx_msg LRESULT OnUpdateWHTJDCFrame(WPARAM wParam, LPARAM lParam); + int InfraredOrVisibleLight;//ɼл + virtual BOOL PreTranslateMessage(MSG* pMsg); +private: + CBrush m_brush; + //CFont m_font; +public: + CDCFrameCkCmdFrame DCFrameCkCmdWHTJ;//עָӿط֡---人 + + + + afx_msg void OnCbnSelchangeComboTjdc2();//ŷƲѡ + afx_msg void OnLButtonDown(UINT nFlags, CPoint point); +}; diff --git a/Src/CH91PayloadSoftware/Global.cpp b/Src/CH91PayloadSoftware/Global.cpp index 1faf0cf..d068a56 100644 --- a/Src/CH91PayloadSoftware/Global.cpp +++ b/Src/CH91PayloadSoftware/Global.cpp @@ -252,6 +252,13 @@ void CALLBACK GetEOImgCenterOffset(CPoint offset, int flag) { g_payloadCtrlProtocol = 11; g_TrackOffset = offset; + + //-ѡ + if(SelectPointTrack) + { + g_TrackOffset = offset; + ::SendMessageA(DlgDCOverroll_Hwnd, WM_PROCESS_DC_CMD, 0, 2); + } } // Ҽɼ⣬תΪֶ @@ -506,6 +513,177 @@ void CH96_h264DecodeResultCallbackFun(unsigned char* data,int width,int height) ReleaseMutex(g_hMutex_DisplayVideoCH96); } +//void ProcessCH96Data() +//{ +// while(g_bProcessDataFlag) +// { +// try +// { +// WaitForSingleObject(g_hMutex_ProcessDataCH96, INFINITE); +// // ǷɹݸƵʱλã +// bool bHaveRelease = false; +// // С֡ +// if (g_validDataLen >= 512) +// { +// //if(DCTypeSelected_video==2)//h264 +// //{ +// // if (g_CH96_h264decoder != nullptr) +// // { +// // g_CH96_h264decoder->decoding(g_receiveDataBuffer , 2560); +// // } +// // if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) +// // { +// // fwrite(g_receiveDataBuffer, static_cast(1), 2560, g_pFileSaveVideoDataCH96); // д +// // } +// //} +// //else//13人 +// //{ +// +// if (g_CH96_h264decoder != nullptr) +// { +// g_CH96_h264decoder->decoding(g_receiveDataBuffer , 2560); +// } +// // ֡ͷ +// int _head = 0; // head 0ʼ +// bool _bfindhead = false; +// int SetMaxLoc = g_validDataLen - 256; // ҵβ256ֽڴ +// +// unsigned char midBuffer[256]; +// +// for (_head = 0; ((_head < SetMaxLoc) && (_bfindhead == false)); _head++) +// { +// if (g_receiveDataBuffer[_head + 0] == 0xEB && +// g_receiveDataBuffer[_head + 1] == 0x90) +// { +// _bfindhead = true; +// break; // forѭ +// } +// } // for ѭ֡ͷ +// +// // ҵ֡ͷ +// if (_bfindhead == true) +// { +// // ݸ +// memcpy(midBuffer, g_receiveDataBuffer + _head, 256); +// // ڴ +// unsigned int frameLen = 256; +// g_validDataLen = g_validDataLen - _head - frameLen; +// memcpy(g_receiveDataBuffer_middle, g_receiveDataBuffer + _head + frameLen, g_validDataLen); +// memcpy(g_receiveDataBuffer, g_receiveDataBuffer_middle, g_validDataLen); +// ReleaseMutex(g_hMutex_ProcessDataCH96); +// // ݳɹƵʱλ +// bHaveRelease = true; +// +// //if(DCTypeSelected_video==0)//13 +// //{ +// // ң +// if (midBuffer[4] == 0x2A) +// { +// +// } +// // +// else if (midBuffer[4] == 0x50) +// { +// // ȡݣֻе9-158ֽڣ150ֽڣ +// WaitForSingleObject(g_hMutex_SaveFJData, INFINITE); +// memcpy(&g_CH96FJData, midBuffer + 8, 150); +// // ת +// TransCH96FJData(g_CH96TransFJData, g_CH96FJData); +// // תΪ鱨ø +// TransCH96FJDatatoQBData(g_CH96QBData, g_CH96TransFJData); +// ReleaseMutex(g_hMutex_SaveFJData); +// // 鲥ҳʾFJ +// ::PostMessageA(g_MulticastSocketReceiveDlgHwnd, WN_SHOW_CH96_FJDATA, 0, 0); +// // Ϣʾ +// //::PostMessageA(g_mainDlgHwnd, WM_SHOW_CH96_INFO, 0, 0); +// // ʾֵ +// ::PostMessageA(g_QBTargetTrackFunctionsHwnd, WM_SHOW_LASERDIS_QBFUNCTIONSDLG, 0, 0); +// // µͼ״̬ +// ::PostMessageA(g_MapGuideHwnd, WM_UPDATA_GOOGLEMAP, 0, 0); +// } +// // ͼ +// else if (midBuffer[4] == 0xD5) +// { +// // +// if (g_CH96_h264decoder != nullptr) +// { +// g_CH96_h264decoder->decoding(midBuffer + 8, 248); +// g_UDPTrans2Server.WriteBuffer(midBuffer + 8, 248); +// } +// /* +// if(g_tcpStarted==true){ +// +// memcpy(g_tcpData+26,midBuffer + 8, 248); +// //֡ +// memcpy(g_tcpData+5,&g_frameCountTX,4); +// g_frameCountTX++; +// unsigned int crc_; +// crc_=CreateCRC2(g_tcpData+2, 272); +// memcpy(g_tcpData+274,&crc_,2); +// g_TCPYYDT.WriteBuffer(g_tcpData,276); +// +// //g_TCPYYDT.WriteBuffer(g_tcpData + 5,4); +// //g_TCPYYDT.WriteBuffer(g_tcpData + 26,248); +// } +// */ +// +// // 洢 +// // д뱾ļ +// if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) +// { +// fwrite(midBuffer + 8, static_cast(1), 248, g_pFileSaveVideoDataCH96); // д +// } +// } +// // +// else +// { +// // do nothing +// } +// //} +// +// +// //else if(DCTypeSelected_video==1)//人 EB 90 H264 +// //{ +// // if (g_CH96_h264decoder != nullptr) +// // { +// // g_CH96_h264decoder->decoding(midBuffer + 2, 254); +// // } +// // if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) +// // { +// // fwrite(midBuffer + 2, static_cast(1), 254, g_pFileSaveVideoDataCH96); // д +// // } +// //} +// +// +// } +// // ûҵ֡ͷ +// else +// { +// // head֮ǰɾ +// g_validDataLen = g_validDataLen - _head; +// memcpy(g_receiveDataBuffer_middle, g_receiveDataBuffer + _head, g_validDataLen); +// memcpy(g_receiveDataBuffer, g_receiveDataBuffer_middle, g_validDataLen); +// } +// +// +// //} +// +// +// +// } +// +// if (bHaveRelease == false) +// { +// ReleaseMutex(g_hMutex_ProcessDataCH96); +// } +// } +// catch(...) +// { +// //ReleaseMutex(g_hMutex_ProcessDataCH96); +// } +// } +//} + void ProcessCH96Data() { while(g_bProcessDataFlag) @@ -518,108 +696,150 @@ void ProcessCH96Data() // С֡ if (g_validDataLen >= 512) { - // ֡ͷ - int _head = 0; // head 0ʼ - bool _bfindhead = false; - int SetMaxLoc = g_validDataLen - 256; // ҵβ256ֽڴ - - unsigned char midBuffer[256]; - for (_head = 0; ((_head < SetMaxLoc) && (_bfindhead == false)); _head++) + if(DCTypeSelected_video==2)//h264 { - if (g_receiveDataBuffer[_head + 0] == 0xEB && - g_receiveDataBuffer[_head + 1] == 0x90) + if (g_CH96_h264decoder != nullptr) { - _bfindhead = true; - break; // forѭ + g_CH96_h264decoder->decoding(g_receiveDataBuffer , g_validDataLen); } - } // for ѭ֡ͷ + if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) + { + fwrite(g_receiveDataBuffer, static_cast(1), g_validDataLen, g_pFileSaveVideoDataCH96); // д + } + g_validDataLen = 0; + } + - // ҵ֡ͷ - if (_bfindhead == true) + else//13人 { - // ݸ - memcpy(midBuffer, g_receiveDataBuffer + _head, 256); - // ڴ - unsigned int frameLen = 256; - g_validDataLen = g_validDataLen - _head - frameLen; - memcpy(g_receiveDataBuffer_middle, g_receiveDataBuffer + _head + frameLen, g_validDataLen); - memcpy(g_receiveDataBuffer, g_receiveDataBuffer_middle, g_validDataLen); - ReleaseMutex(g_hMutex_ProcessDataCH96); - // ݳɹƵʱλ - bHaveRelease = true; - // ң - if (midBuffer[4] == 0x2A) - { + // ֡ͷ + int _head = 0; // head 0ʼ + bool _bfindhead = false; + int SetMaxLoc = g_validDataLen - 256; // ҵβ256ֽڴ - } - // - else if (midBuffer[4] == 0x50) - { - // ȡݣֻе9-158ֽڣ150ֽڣ - WaitForSingleObject(g_hMutex_SaveFJData, INFINITE); - memcpy(&g_CH96FJData, midBuffer + 8, 150); - // ת - TransCH96FJData(g_CH96TransFJData, g_CH96FJData); - // תΪ鱨ø - TransCH96FJDatatoQBData(g_CH96QBData, g_CH96TransFJData); - ReleaseMutex(g_hMutex_SaveFJData); - // 鲥ҳʾFJ - ::PostMessageA(g_MulticastSocketReceiveDlgHwnd, WN_SHOW_CH96_FJDATA, 0, 0); - // Ϣʾ - //::PostMessageA(g_mainDlgHwnd, WM_SHOW_CH96_INFO, 0, 0); - // ʾֵ - ::PostMessageA(g_QBTargetTrackFunctionsHwnd, WM_SHOW_LASERDIS_QBFUNCTIONSDLG, 0, 0); - // µͼ״̬ - ::PostMessageA(g_MapGuideHwnd, WM_UPDATA_GOOGLEMAP, 0, 0); - } - // ͼ - else if (midBuffer[4] == 0xD5) + unsigned char midBuffer[256]; + + for (_head = 0; ((_head < SetMaxLoc) && (_bfindhead == false)); _head++) { - // - if (g_CH96_h264decoder != nullptr) + if (g_receiveDataBuffer[_head + 0] == 0xEB && + g_receiveDataBuffer[_head + 1] == 0x90) { - g_CH96_h264decoder->decoding(midBuffer + 8, 248); - g_UDPTrans2Server.WriteBuffer(midBuffer + 8, 248); + _bfindhead = true; + break; // forѭ } - /* - if(g_tcpStarted==true){ + } // for ѭ֡ͷ + + // ҵ֡ͷ + if (_bfindhead == true) + { + // ݸ + memcpy(midBuffer, g_receiveDataBuffer + _head, 256); + // ڴ + unsigned int frameLen = 256; + g_validDataLen = g_validDataLen - _head - frameLen; + memcpy(g_receiveDataBuffer_middle, g_receiveDataBuffer + _head + frameLen, g_validDataLen); + memcpy(g_receiveDataBuffer, g_receiveDataBuffer_middle, g_validDataLen); + ReleaseMutex(g_hMutex_ProcessDataCH96); + // ݳɹƵʱλ + bHaveRelease = true; + + if(DCTypeSelected_video==0)//13 + { + // ң + if (midBuffer[4] == 0x2A) + { + + } + // + else if (midBuffer[4] == 0x50) + { + // ȡݣֻе9-158ֽڣ150ֽڣ + WaitForSingleObject(g_hMutex_SaveFJData, INFINITE); + memcpy(&g_CH96FJData, midBuffer + 8, 150); + // ת + TransCH96FJData(g_CH96TransFJData, g_CH96FJData); + // תΪ鱨ø + TransCH96FJDatatoQBData(g_CH96QBData, g_CH96TransFJData); + ReleaseMutex(g_hMutex_SaveFJData); + // 鲥ҳʾFJ + ::PostMessageA(g_MulticastSocketReceiveDlgHwnd, WN_SHOW_CH96_FJDATA, 0, 0); + // Ϣʾ + //::PostMessageA(g_mainDlgHwnd, WM_SHOW_CH96_INFO, 0, 0); + // ʾֵ + ::PostMessageA(g_QBTargetTrackFunctionsHwnd, WM_SHOW_LASERDIS_QBFUNCTIONSDLG, 0, 0); + // µͼ״̬ + ::PostMessageA(g_MapGuideHwnd, WM_UPDATA_GOOGLEMAP, 0, 0); + } + // ͼ + else if (midBuffer[4] == 0xD5) + { + // + if (g_CH96_h264decoder != nullptr) + { + g_CH96_h264decoder->decoding(midBuffer + 8, 248); + g_UDPTrans2Server.WriteBuffer(midBuffer + 8, 248); + } + /* + if(g_tcpStarted==true){ - memcpy(g_tcpData+26,midBuffer + 8, 248); - //֡ - memcpy(g_tcpData+5,&g_frameCountTX,4); - g_frameCountTX++; - unsigned int crc_; - crc_=CreateCRC2(g_tcpData+2, 272); - memcpy(g_tcpData+274,&crc_,2); - g_TCPYYDT.WriteBuffer(g_tcpData,276); - - //g_TCPYYDT.WriteBuffer(g_tcpData + 5,4); - //g_TCPYYDT.WriteBuffer(g_tcpData + 26,248); + memcpy(g_tcpData+26,midBuffer + 8, 248); + //֡ + memcpy(g_tcpData+5,&g_frameCountTX,4); + g_frameCountTX++; + unsigned int crc_; + crc_=CreateCRC2(g_tcpData+2, 272); + memcpy(g_tcpData+274,&crc_,2); + g_TCPYYDT.WriteBuffer(g_tcpData,276); + + //g_TCPYYDT.WriteBuffer(g_tcpData + 5,4); + //g_TCPYYDT.WriteBuffer(g_tcpData + 26,248); + } + */ + + // 洢 + // д뱾ļ + if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) + { + fwrite(midBuffer + 8, static_cast(1), 248, g_pFileSaveVideoDataCH96); // д + } + } + // + else + { + // do nothing + } } - */ - // 洢 - // д뱾ļ - if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) + + else if(DCTypeSelected_video==1)//人 EB 90 H264 { - fwrite(midBuffer + 8, static_cast(1), 248, g_pFileSaveVideoDataCH96); // д + if (g_CH96_h264decoder != nullptr) + { + g_CH96_h264decoder->decoding(midBuffer + 2, 254); + } + if (g_pFileSaveVideoDataCH96 != NULL && g_bVideoCapture == TRUE) + { + fwrite(midBuffer + 2, static_cast(1), 254, g_pFileSaveVideoDataCH96); // д + } } + + } - // + // ûҵ֡ͷ else { - // do nothing + // head֮ǰɾ + g_validDataLen = g_validDataLen - _head; + memcpy(g_receiveDataBuffer_middle, g_receiveDataBuffer + _head, g_validDataLen); + memcpy(g_receiveDataBuffer, g_receiveDataBuffer_middle, g_validDataLen); } + + } - // ûҵ֡ͷ - else - { - // head֮ǰɾ - g_validDataLen = g_validDataLen - _head; - memcpy(g_receiveDataBuffer_middle, g_receiveDataBuffer + _head, g_validDataLen); - memcpy(g_receiveDataBuffer, g_receiveDataBuffer_middle, g_validDataLen); - } + + + } if (bHaveRelease == false) @@ -633,6 +853,7 @@ void ProcessCH96Data() } } } + // ȡCH96 void TransCH96FJData(Data96TXD &dst, Protocal96TXD &src) { @@ -2770,6 +2991,11 @@ void ProcessH264VideoData() { g_CH96_h264decoder->decoding(g_receiveDataBufferSocket, g_validDataLenSocket); } + // ս + if (g_CH96_h264decoder != nullptr) + { + g_CH96_h264decoder->decoding(g_receiveDataBufferSocket , 25600); + } } /*if (bHaveRelease == false) @@ -2799,4 +3025,69 @@ void GetSerialPortNumber(char *port, const CString portID) memcpy( port, str.GetBuffer( 255 ), str.GetLength() ); str.ReleaseBuffer(); +} + +//+ +bool IsNumber(CString str) +{ + str = str.Trim(); + if (str == "") + { + return false; + } + if (str[0] == '-') //Ϊ + { + str = str.Mid(1); + } + if (str.SpanIncluding(_T("0123456789.")) != str) + { + return false; + } + return true; +} +// +bool IsPositiveNumber(CString str) +{ + str = str.Trim(); + if(str == "") + { + return false; + } + if(str.SpanIncluding(_T("0123456789.")) != str) + { + return false; + } + return true; +} +// +bool IsInteger(CString str) +{ + str = str.Trim(); + if (str == "") + { + return false; + } + if (str[0] == '-') //Ϊ + { + str = str.Mid(1); + } + if (str.SpanIncluding(_T("0123456789")) != str) + { + return false; + } + return true; +} +// +bool IsPositiveInteger(CString str) +{ + str = str.Trim(); + if (str == "") + { + return false; + } + if (str.SpanIncluding(_T("0123456789")) != str) + { + return false; + } + return true; } \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/Global.h b/Src/CH91PayloadSoftware/Global.h index be0ff31..528e912 100644 --- a/Src/CH91PayloadSoftware/Global.h +++ b/Src/CH91PayloadSoftware/Global.h @@ -3,7 +3,7 @@ #include "GlobalMember.h" // ȫֱ #include "MUDP.h" #include "FrameFKU_Camera.h" - +#include "MulticastSocket.h" #define SAFE_DELETE(p) { if(p) { delete (p); (p) = nullptr; } } #define SAFE_DELETE_ARRAY(p) { if(p) { delete[] (p); (p) = nullptr; } } @@ -12,6 +12,7 @@ extern CFrameFK_U_CAMERA g_FrameCamera; extern CMUDP g_MUDPCamera; extern BOOL g_IsSending; + // ȡָʣռ extern long GetFreeVolumeLen(char *p = "C"); // ܣȡǰĿ¼ @@ -136,4 +137,9 @@ extern void GetH264VideoDataFromNet(); extern void SocketReceiveH264VideoData(const void* buffer, int length); extern void ProcessH264VideoData(); -extern void GetSerialPortNumber(char *port, const CString portID);//ֻ㵽׼Ĵ \ No newline at end of file +extern void GetSerialPortNumber(char *port, const CString portID);//ֻ㵽׼Ĵ + +extern bool IsNumber(CString str);//+ +extern bool IsPositiveNumber(CString str);// +extern bool IsInteger(CString str);// +extern bool IsPositiveInteger(CString str);// \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/GlobalMember.cpp b/Src/CH91PayloadSoftware/GlobalMember.cpp index 08a9c95..9e5819a 100644 --- a/Src/CH91PayloadSoftware/GlobalMember.cpp +++ b/Src/CH91PayloadSoftware/GlobalMember.cpp @@ -487,4 +487,16 @@ CString gComBaudItems[BAUDITEMNUM] = "56000", "57600", "115200" -}; \ No newline at end of file +}; +bool g_bBindData = false;//Ƿװı־ + +//13տ +int g_commandNum; //ָ +CDCFrameCkCmdFrame g_DCFrameCkCmd13; //עָӿط֡---13 +//人տ +int g_WHTJDCCmdNum; //ָ +int DCTypeSelected_video = 0; //ѡ_ͼ +bool SelectPointTrack;//ѡ +HWND DlgDCOverroll_Hwnd; //DCOverrollDlg +float m_wndShowEO_Position_Max_x; //ͼʾֵx +float m_wndShowEO_Position_Max_y; //ͼʾֵy \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/GlobalMember.h b/Src/CH91PayloadSoftware/GlobalMember.h index 225c9a1..4d417bd 100644 --- a/Src/CH91PayloadSoftware/GlobalMember.h +++ b/Src/CH91PayloadSoftware/GlobalMember.h @@ -12,6 +12,7 @@ using namespace cv; #include "QBStru.h" #include "FrameIMP_DOWN.h" #include "DlgIMP.h" +#include "DCFrameCkCmd.h" // typedef unsigned __int8 UINT8; @@ -498,4 +499,20 @@ extern bool IMPDlgWindowVisible;//IMP const unsigned BAUDITEMNUM =10; //Ŀ const unsigned NCOUNTER=500; //ʧܳԴ //б -extern CString gComBaudItems[BAUDITEMNUM]; \ No newline at end of file +extern CString gComBaudItems[BAUDITEMNUM]; + +extern bool g_bBindData;//Ƿװı־ + +//13տ +#define WM_13DC_UPDAFRAME WM_USER + 148 // +extern int g_commandNum; //ָ +extern CDCFrameCkCmdFrame g_DCFrameCkCmd13; //עָӿط֡---13 +//人տ +#define WM_WHTJDC_UPDAFRAME WM_USER + 149 // +extern int g_WHTJDCCmdNum; //ָ +extern int DCTypeSelected_video; //ѡ_ͼ +extern bool SelectPointTrack;//ѡ +extern HWND DlgDCOverroll_Hwnd; //DCOverrollDlg + +extern float m_wndShowEO_Position_Max_x; //ͼʾֵx +extern float m_wndShowEO_Position_Max_y; //ͼʾֵy \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/GlobalMessage.h b/Src/CH91PayloadSoftware/GlobalMessage.h index 85403a3..36747aa 100644 --- a/Src/CH91PayloadSoftware/GlobalMessage.h +++ b/Src/CH91PayloadSoftware/GlobalMessage.h @@ -96,4 +96,8 @@ const UINT WM_OUTPUT_QUADRANGLE = WM_USER + 6007; #define WM_UPDATE_IMPDOWN_CHECKED WM_USER + 7008 #define WM_UPDATE_IMP_SERIAL_CONNECT WM_USER + 7009 + +// +#define WM_PROCESS_DC_CMD WM_USER + 7010 + #endif \ No newline at end of file diff --git a/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.cpp b/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.cpp index 754404d..e651d99 100644 --- a/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.cpp +++ b/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.cpp @@ -69,13 +69,13 @@ CMulticastSocketReceiveDlg::~CMulticastSocketReceiveDlg() void CMulticastSocketReceiveDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); - DDX_Control(pDX, IDC_IPADDRESS4,m_IPAddress_MultiCastIP); + DDX_Control(pDX, IDC_IPADDRESS4,m_IPAddress_MultiCastIP);//IP DDX_Radio(pDX, IDC_RADIO_L, m_iVideoSrc); DDX_CBString(pDX, IDC_COMBO_PORT_IMP, mComPortIMP); DDX_CBString(pDX, IDC_COMBO_BAUD_IMP, mComBaudIMP); - + } @@ -94,6 +94,9 @@ BEGIN_MESSAGE_MAP(CMulticastSocketReceiveDlg, CDialogEx) ON_BN_CLICKED(IDC_BTN_IMP_SERIAL_CONNECT, &CMulticastSocketReceiveDlg::OnBnClickedBtnImpSerialConnect) ON_BN_CLICKED(IDC_BTN_IMP_SERIAL_DISCONNECT, &CMulticastSocketReceiveDlg::OnBnClickedBtnImpSerialDisconnect) + ON_BN_CLICKED(IDC_RADIO_DC_13Ins, &CMulticastSocketReceiveDlg::OnBnClickedRadioDc13ins) + ON_BN_CLICKED(IDC_RADIO_DC_WHTJ, &CMulticastSocketReceiveDlg::OnBnClickedRadioDcWhtj) + ON_BN_CLICKED(IDC_RADIO_H264Data, &CMulticastSocketReceiveDlg::OnBnClickedRadioH264data) END_MESSAGE_MAP() BOOL CMulticastSocketReceiveDlg::OnInitDialog() @@ -126,6 +129,10 @@ BOOL CMulticastSocketReceiveDlg::OnInitDialog() //Ӳʵб AddBaudNumberToComboBox(); + ((CButton *)GetDlgItem(IDC_RADIO_DC_13Ins))->SetCheck(true); + ((CButton *)GetDlgItem(IDC_RADIO_DC_WHTJ))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_H264Data))->SetCheck(false); + return TRUE; // return TRUE unless you set the focus to a control // 쳣: OCX ҳӦ FALSE } @@ -186,6 +193,9 @@ void CMulticastSocketReceiveDlg::OnBnClickedBtnMultisocketConnect() GetDlgItem(IDC_RADIO_L)->EnableWindow(FALSE); GetDlgItem(IDC_RADIO_SAC1)->EnableWindow(FALSE); GetDlgItem(IDC_RADIO_SAC2)->EnableWindow(FALSE); + GetDlgItem(IDC_RADIO_DC_13Ins)->EnableWindow(FALSE); + GetDlgItem(IDC_RADIO_DC_WHTJ)->EnableWindow(FALSE); + GetDlgItem(IDC_RADIO_H264Data)->EnableWindow(FALSE); //UDP g_UDPTrans2Server.SetCallBack(NULL, this); @@ -410,7 +420,9 @@ void CMulticastSocketReceiveDlg::OnBnClickedBtnMultisocketDisconnect() GetDlgItem(IDC_RADIO_L)->EnableWindow(TRUE); GetDlgItem(IDC_RADIO_SAC1)->EnableWindow(TRUE); GetDlgItem(IDC_RADIO_SAC2)->EnableWindow(TRUE); - + GetDlgItem(IDC_RADIO_DC_13Ins)->EnableWindow(TRUE); + GetDlgItem(IDC_RADIO_DC_WHTJ)->EnableWindow(TRUE); + GetDlgItem(IDC_RADIO_H264Data)->EnableWindow(TRUE); } void CMulticastSocketReceiveDlg::ShowMulticastSocketInfo() @@ -480,7 +492,16 @@ void CMulticastSocketReceiveDlg::CreateUDPSocketReceiveData() { //ͨUDP m_nSACUDPSocket.SetCallBack(OnReadFromUDPSACKU, this); - CString strLocalIPAddr = _T("192.168.1.20"); // ͨIP + CString strLocalIPAddr; + strLocalIPAddr = _T("192.168.1.20"); // ͨIP + GetDlgItem(IDC_EDIT_LOCALIP_RECEIVE)->GetWindowTextA(strLocalIPAddr); + /*Բ*/ + //strLocalIPAddr = _T("172.10.1.183"); + //m_strSACUDPIPAddr = _T("172.10.1.183"); + //m_nSACUDPLocalPort = 8080; + //m_nSACUDPRemotePort = 8081; + /*Բ*/ + m_nSACUDPSocket.SetParams(strLocalIPAddr, m_nSACUDPLocalPort, m_strSACUDPIPAddr, m_nSACUDPRemotePort); if (m_nSACUDPSocket.StartListening()) { @@ -673,8 +694,6 @@ void CMulticastSocketReceiveDlg::OnBnClickedBtnImpSerialConnect() ::SendMessageA(g_IMPDLGhwnd,WM_UPDATE_IMP_SERIAL_CONNECT,(WPARAM)mComPortIMP.AllocSysString(), (LPARAM)mComBaudIMP.AllocSysString()); } - - void CMulticastSocketReceiveDlg::OnBnClickedBtnImpSerialDisconnect() { // TODO: ڴӿؼ֪ͨ @@ -683,3 +702,50 @@ void CMulticastSocketReceiveDlg::OnBnClickedBtnImpSerialDisconnect() ::SendMessageA(g_IMPDLGhwnd,WM_UPDATE_IMP_SERIAL_CONNECT,(WPARAM)mComPortIMP.AllocSysString(), (LPARAM)mComBaudIMP.AllocSysString()); } + + +void CMulticastSocketReceiveDlg::OnBnClickedRadioDc13ins() +{ + // TODO: ڴӿؼ֪ͨ + UpdateData(TRUE); + DCTypeSelected_video = 0; + //switch(m_DCvideoTypeSelct) + //{ + //case 0: + // DCTypeSelected_video =0; + // break; + //case 1: + // DCTypeSelected_video =1; + // break; + //case 2: + // DCTypeSelected_video =2; + // break; + //default: + // DCTypeSelected_video =0; + //} + ((CButton *)GetDlgItem(IDC_RADIO_DC_13Ins))->SetCheck(true); + ((CButton *)GetDlgItem(IDC_RADIO_DC_WHTJ))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_H264Data))->SetCheck(false); +} + + +void CMulticastSocketReceiveDlg::OnBnClickedRadioDcWhtj() +{ + // TODO: ڴӿؼ֪ͨ + UpdateData(TRUE); + DCTypeSelected_video = 1; + ((CButton *)GetDlgItem(IDC_RADIO_DC_13Ins))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_DC_WHTJ))->SetCheck(true); + ((CButton *)GetDlgItem(IDC_RADIO_H264Data))->SetCheck(false); +} + + +void CMulticastSocketReceiveDlg::OnBnClickedRadioH264data() +{ + // TODO: ڴӿؼ֪ͨ + UpdateData(TRUE); + DCTypeSelected_video = 2; + ((CButton *)GetDlgItem(IDC_RADIO_DC_13Ins))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_DC_WHTJ))->SetCheck(false); + ((CButton *)GetDlgItem(IDC_RADIO_H264Data))->SetCheck(true); +} diff --git a/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.h b/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.h index 8c662ac..7114182 100644 --- a/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.h +++ b/Src/CH91PayloadSoftware/MulticastSocketReceiveDlg.h @@ -33,7 +33,8 @@ public: CString str_LocalIP_ReceiveMUDP; - CIPAddressCtrl m_IPAddress_MultiCastIP; //鲥 + CIPAddressCtrl m_IPAddress_MultiCastIP; //鲥 //IP + // WinSoc HANDLE m_hThread_GetFH96DataFromNet; DWORD m_ThreadID_GetFH96DataFromNet; @@ -107,4 +108,8 @@ private: public: afx_msg void OnBnClickedBtnImpSerialConnect(); afx_msg void OnBnClickedBtnImpSerialDisconnect(); + afx_msg void OnBnClickedRadioDc13ins();//ѡ-13 + afx_msg void OnBnClickedRadioDcWhtj();//ѡ-人 + afx_msg void OnBnClickedRadioH264data();//ѡ-h264 + int m_DCvideoTypeSelct; }; diff --git a/Src/CH91PayloadSoftware/resource.h b/Src/CH91PayloadSoftware/resource.h index c33093b..99cf08b 100644 Binary files a/Src/CH91PayloadSoftware/resource.h and b/Src/CH91PayloadSoftware/resource.h differ diff --git a/版本说明.txt b/版本说明.txt index b00c468..d460109 100644 --- a/版本说明.txt +++ b/版本说明.txt @@ -1,3 +1,15 @@ 202401221 增加IMP对话框 -增加IMP上下行通信连接 \ No newline at end of file +增加IMP上下行通信连接 + +20240510 +增加13所吊舱控制功能 +隐藏IMP对话框及上下行通信连接 + +20240617 +优化13所吊舱控制协议帧 +增加天进吊舱控制功能 +优化控制指令发送逻辑(装订指令) +增加视频管理计算机指令(开关指令)发送 +增加13所吊舱协议、天进吊舱协议、H264裸流视频协议解析选择 +增加天进吊舱点击“单点跟踪”按钮后,双击图像区域发送吊舱跟踪坐标点 \ No newline at end of file