2020-08-31 08:08:50 +00:00
|
|
|
|
// A4.cpp : ʵ<><CAB5><EFBFBD>ļ<EFBFBD>
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "HuaGoCorrect.h"
|
|
|
|
|
#include "A4.h"
|
|
|
|
|
#include "afxdialogex.h"
|
2021-07-31 03:12:53 +00:00
|
|
|
|
#include "HuaGoCorrectDlg.h"
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
// CA4 <20>Ի<EFBFBD><D4BB><EFBFBD>
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CA4, CDialog)
|
|
|
|
|
|
|
|
|
|
CA4::CA4(CWnd* pParent /*=NULL*/)
|
|
|
|
|
: CDialog(CA4::IDD, pParent)
|
|
|
|
|
{
|
|
|
|
|
m_iLastIndex = 0;
|
|
|
|
|
m_iSelIndex = 0;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
jsonparams = { 0 };
|
|
|
|
|
params = { 0 };
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CA4::~CA4()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CA4::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialog::DoDataExchange(pDX);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
DDX_Control(pDX, IDC_BTNGET_SERIAL, m_GetSerial);
|
|
|
|
|
DDX_Control(pDX,IDC_BTN_SET_SERIAL,m_SetSerial);
|
|
|
|
|
DDX_Control(pDX, IDC_BTN_GENSERIAL, m_AutoGenSerial);
|
|
|
|
|
DDX_Control(pDX, IDC_BTN_GETVIDPID, m_GetVid);
|
|
|
|
|
DDX_Control(pDX, IDC_BTN_SETVIDPID, m_SetVid);
|
|
|
|
|
DDX_Control(pDX, IDC_BTN_REBOOT, m_Reboot);
|
|
|
|
|
for (size_t i = 0; i < Exposures.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
DDX_Text(pDX, Exposures[i], params.Exposures[i]);;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < Gains.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
DDX_Text(pDX, Gains[i], params.Gain[i]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for (size_t i = 0; i < Offsets.size(); i++)
|
|
|
|
|
{
|
|
|
|
|
DDX_Text(pDX, Offsets[i], params.Offset[i]);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
DDX_Control(pDX, IDC_CMB_A4FlatModel, m_A4FlatModel);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CA4, CDialog)
|
|
|
|
|
ON_CBN_SELCHANGE(IDC_CMB_A4FlatModel, &CA4::OnCbnSelChangeA4FlatModel)
|
2021-07-31 03:12:53 +00:00
|
|
|
|
ON_BN_CLICKED(IDC_BTN_REBOOT, &CA4::OnBnClickedBtnReboot)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_SETVIDPID, &CA4::OnBnClickedBtnSetvidpid)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_GETVIDPID, &CA4::OnBnClickedBtnGetvidpid)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNGET_SERIAL, &CA4::OnBnClickedBtngetSerial)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_GENSERIAL, &CA4::OnBnClickedBtnGenserial)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_SET_SERIAL, &CA4::OnBnClickedBtnSetSerial)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_GETHOR, &CA4::OnBnClickedBtnGethor)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_GETVER, &CA4::OnBnClickedBtnGetver)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_SETHOR, &CA4::OnBnClickedBtnSethor)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_SETVER, &CA4::OnBnClickedBtnSetver)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNGET_VERSION, &CA4::OnBnClickedBtngetVersion)
|
|
|
|
|
ON_EN_CHANGE(IDC_tbxSerial, &CA4::OnEnChangetbxserial)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_GETEXPOS, &CA4::OnBnClickedBtnGetexpos)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTN_SETEXPOS, &CA4::OnBnClickedBtnSetexpos)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNAUP, &CA4::OnBnClickedBtnaup)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNADOWN, &CA4::OnBnClickedBtnadown)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNBUP, &CA4::OnBnClickedBtnbup)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTNBDOWN, &CA4::OnBnClickedBtnbdown)
|
2021-10-20 00:55:37 +00:00
|
|
|
|
ON_BN_CLICKED(IDC_BTNGET_MB_VERSION, &CA4::OnBnClickedBtngetMbVersion)
|
2022-04-13 10:21:11 +00:00
|
|
|
|
// ON_BN_CLICKED(IDC_BTGETROLLERNUM, &CA4::OnBnClickedBtgetrollernum)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTCLRROLLERNUM, &CA4::OnBnClickedBtclrrollernum)
|
|
|
|
|
ON_BN_CLICKED(IDC_BTGETROLLERNUM, &CA4::OnBnClickedBtgetrollernum)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CA4 <20><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BOOL CA4::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC>
|
|
|
|
|
|
|
|
|
|
LoadCfg();
|
|
|
|
|
|
|
|
|
|
m_A4FlatModel.InsertString(0, _T("<EFBFBD><EFBFBD>ɫУ<EFBFBD><EFBFBD>ģʽ"));
|
2021-10-20 01:52:53 +00:00
|
|
|
|
m_A4FlatModel.InsertString(1, _T("<EFBFBD><EFBFBD>ɫ"));
|
|
|
|
|
m_A4FlatModel.InsertString(2, _T("<EFBFBD>Ҷ<EFBFBD>У<EFBFBD><EFBFBD>ģʽ"));
|
|
|
|
|
m_A4FlatModel.InsertString(3, _T("<EFBFBD>Ҷ<EFBFBD>"));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
|
|
|
|
m_A4FlatModel.SetCurSel(0);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
GetDlgItem(IDC_BTN_GENSERIAL)->EnableWindow(FALSE);
|
|
|
|
|
GetDlgItem(IDC_BTN_GETVIDPID)->EnableWindow(FALSE);
|
|
|
|
|
GetDlgItem(IDC_BTN_SETVIDPID)->EnableWindow(FALSE);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
|
|
|
// <20>쳣: OCX <20><><EFBFBD><EFBFBD>ҳӦ<D2B3><D3A6><EFBFBD><EFBFBD> FALSE
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::SetCallBack(std::function<void(int option, void* data)> t_call)
|
|
|
|
|
{
|
|
|
|
|
m_func = t_call;
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::EnableItem(bool enable)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
this->GetDlgItem(IDC_BTNGET_SERIAL) ->EnableWindow(enable);
|
|
|
|
|
this->GetDlgItem(IDC_BTN_GENSERIAL)->EnableWindow(enable);
|
|
|
|
|
this->GetDlgItem(IDC_BTN_SET_SERIAL)->EnableWindow(enable);
|
|
|
|
|
this->GetDlgItem(IDC_BTN_GETVIDPID)->EnableWindow(enable);
|
|
|
|
|
this->GetDlgItem(IDC_BTN_SETVIDPID)->EnableWindow(enable);
|
|
|
|
|
this->GetDlgItem(IDC_BTN_REBOOT)->EnableWindow(enable);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::SendCorrectParam()
|
|
|
|
|
{
|
|
|
|
|
UpdateData();
|
|
|
|
|
int index = m_A4FlatModel.GetCurSel();
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
parent->m_drv->SendFlatData(params, index);
|
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CA4::OnCbnSelChangeA4FlatModel()
|
|
|
|
|
{
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get()&&parent->m_drv->IsConnected())
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto correctdata = parent->m_drv->GetFlatData();
|
|
|
|
|
updateA4Config(correctdata);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::updateA4Config(CaptureParams& pValues)
|
|
|
|
|
{
|
|
|
|
|
UpdateData(TRUE);
|
|
|
|
|
switch (m_A4FlatModel.GetCurSel())
|
|
|
|
|
{
|
2020-08-31 08:08:50 +00:00
|
|
|
|
case 0:
|
2021-07-31 03:12:53 +00:00
|
|
|
|
memcpy(params.Exposures, pValues.correctColorExposure, sizeof(pValues.correctColorExposure));
|
|
|
|
|
memcpy(params.Gain, pValues.correctColorGain, sizeof(pValues.correctColorGain));
|
|
|
|
|
memcpy(params.Offset, pValues.correctColorOffset, sizeof(pValues.correctColorOffset));
|
|
|
|
|
break;
|
2020-08-31 08:08:50 +00:00
|
|
|
|
case 1:
|
2021-07-31 03:12:53 +00:00
|
|
|
|
memcpy(params.Exposures, pValues.colorExposure, sizeof(pValues.colorExposure));
|
|
|
|
|
memcpy(params.Gain, pValues.colorGain, sizeof(pValues.colorGain));
|
|
|
|
|
memcpy(params.Offset, pValues.colorOffset, sizeof(pValues.colorOffset));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
break;
|
|
|
|
|
case 2:
|
2021-07-31 03:12:53 +00:00
|
|
|
|
memcpy(params.Exposures, pValues.correctGrayExposure, sizeof(pValues.correctGrayExposure));
|
|
|
|
|
memcpy(params.Gain, pValues.correctGrayGain, sizeof(pValues.correctGrayGain));
|
|
|
|
|
memcpy(params.Offset, pValues.correctGrayOffset, sizeof(pValues.correctGrayOffset));
|
|
|
|
|
break;
|
2020-08-31 08:08:50 +00:00
|
|
|
|
case 3:
|
2021-07-31 03:12:53 +00:00
|
|
|
|
memcpy(params.Exposures, pValues.grayExposure, sizeof(pValues.grayExposure));
|
|
|
|
|
memcpy(params.Gain, pValues.grayGain, sizeof(pValues.grayGain));
|
|
|
|
|
memcpy(params.Offset, pValues.grayOffset, sizeof(pValues.grayOffset));
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
UpdateData(FALSE);
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::LoadCfg()
|
|
|
|
|
{
|
2020-08-31 08:08:50 +00:00
|
|
|
|
UpdateData(TRUE);
|
2021-07-31 03:12:53 +00:00
|
|
|
|
jsonConfig.ReadParam(jsonparams);
|
|
|
|
|
memcpy(params.Exposures, jsonparams.correctColorExposure, sizeof(jsonparams.correctColorExposure));
|
|
|
|
|
memcpy(params.Gain, jsonparams.correctColorGain, sizeof(jsonparams.correctColorGain));
|
|
|
|
|
memcpy(params.Offset, jsonparams.correctColorOffset, sizeof(jsonparams.correctColorOffset));
|
2020-08-31 08:08:50 +00:00
|
|
|
|
UpdateData(FALSE);
|
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CA4::OnBnClickedBtnReboot()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
2021-12-30 05:55:29 +00:00
|
|
|
|
|
|
|
|
|
bool ret= ((CButton*)GetDlgItem(IDC_CKBLOADER))->GetCheck();
|
|
|
|
|
parent->m_drv->Reboot(ret);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD>vidpid
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CA4::OnBnClickedBtnSetvidpid()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-10-20 01:52:53 +00:00
|
|
|
|
auto ret = MessageBox(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>У<EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD>ٶ<EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VID PID<49>ֹ<F3B2BFB7><D6B9>ܲ<EFBFBD><DCB2><EFBFBD><EFBFBD>ã<EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", L"<EFBFBD><EFBFBD>ʾ", MB_YESNO | MB_ICONWARNING);
|
2021-10-18 08:30:13 +00:00
|
|
|
|
if (ret == IDOK || ret == IDYES)
|
|
|
|
|
{
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
auto vidpid = AqrVIDPID();
|
|
|
|
|
parent->m_drv->GetOrSetVIDPID(vidpid, false);
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ȡvidpid
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CA4::OnBnClickedBtnGetvidpid()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-10-18 08:30:13 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
int vidpid = 0;
|
|
|
|
|
parent->m_drv->GetOrSetVIDPID(vidpid, true);
|
|
|
|
|
VIDPID tvpd;
|
|
|
|
|
tvpd.Value = vidpid;
|
|
|
|
|
UpdateVidPid(tvpd);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD>к<EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CA4::OnBnClickedBtngetSerial()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
std::string serial = parent->m_drv->GetSerialNum();
|
|
|
|
|
CString c_serial(serial.c_str());
|
|
|
|
|
SetDlgItemText(IDC_tbxSerial, c_serial);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CA4::OnBnClickedBtnGenserial()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD>
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CA4::OnBnClickedBtnSetSerial()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
CString cserial;
|
|
|
|
|
GetDlgItemText(IDC_tbxSerial, cserial);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
if (!cserial.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string str(W2A(cserial));
|
|
|
|
|
parent->m_drv->SetSerialNum(str);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
|
|
|
|
|
2020-08-31 08:08:50 +00:00
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::OnBnClickedBtnGethor()
|
|
|
|
|
{
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
int ratio = 0;
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
2022-01-26 09:05:59 +00:00
|
|
|
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
|
|
|
|
parent->m_drv->GetRatio(0, ratio, dpi);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
float f_ratio = *(float*)∶
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format(L"%.4f", f_ratio);
|
|
|
|
|
SetDlgItemText(IDC_tbxHOR, str);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnGetver()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
int ratio = 0;
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
2022-01-26 09:05:59 +00:00
|
|
|
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
|
|
|
|
parent->m_drv->GetRatio(1, ratio, dpi);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
float f_ratio = *(float*)∶
|
|
|
|
|
CString str;
|
|
|
|
|
str.Format(L"%.4f", f_ratio);
|
|
|
|
|
SetDlgItemText(IDC_tbxVER, str);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::OnBnClickedBtnSethor()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
2022-01-26 09:05:59 +00:00
|
|
|
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
CString str;
|
|
|
|
|
GetDlgItemText(IDC_tbxHOR, str);
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string s_str(W2A(str));
|
|
|
|
|
float f_value = atof(s_str.c_str());
|
|
|
|
|
int value = *(int*)&f_value;
|
2022-01-26 09:05:59 +00:00
|
|
|
|
parent->m_drv->SetRatio(0, value, dpi);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::OnBnClickedBtnSetver()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
2022-01-26 09:05:59 +00:00
|
|
|
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
CString str;
|
|
|
|
|
GetDlgItemText(IDC_tbxVER, str);
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string s_str(W2A(str));
|
|
|
|
|
float f_value = atof(s_str.c_str());
|
|
|
|
|
int value = *(int*)&f_value;
|
2022-01-26 09:05:59 +00:00
|
|
|
|
parent->m_drv->SetRatio(1, value, dpi);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
void CA4::OnBnClickedBtngetVersion()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
std::string ver = parent->m_drv->GetFWVersion();
|
|
|
|
|
if (ver.size() > 0)
|
|
|
|
|
{
|
|
|
|
|
CString str(ver.c_str());
|
|
|
|
|
SetDlgItemText(IDC_tbxVersion, str);
|
|
|
|
|
}
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
#define MAX_LENGTH 14
|
|
|
|
|
void CA4::OnEnChangetbxserial()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD>ÿؼ<C3BF><D8BC><EFBFBD> RICHEDIT <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>ʹ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д CDialog::OnInitDialog()
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CRichEditCtrl().SetEventMask()<29><>
|
|
|
|
|
// ͬʱ<CDAC><CAB1> ENM_CHANGE <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㵽<EFBFBD><E3B5BD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
|
|
|
|
|
auto tbxSerial = (CEdit*)GetDlgItem(IDC_tbxSerial);
|
|
|
|
|
CString str;
|
|
|
|
|
GetDlgItemText(IDC_tbxSerial, str);
|
|
|
|
|
int length = str.GetLength();
|
|
|
|
|
if (length > 14)
|
|
|
|
|
{
|
|
|
|
|
if (tbxSerial)
|
|
|
|
|
{
|
|
|
|
|
SetDlgItemText(IDC_tbxSerial, str.Left(MAX_LENGTH));
|
|
|
|
|
tbxSerial->SetSel(str.GetLength(), str.GetLength());
|
|
|
|
|
}
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnGetexpos()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
2021-08-17 01:07:55 +00:00
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
int esposeA, exposeB;
|
|
|
|
|
parent->m_drv->GetExpose(esposeA, exposeB);
|
|
|
|
|
CString expA, expB;
|
|
|
|
|
expA.Format(L"%d", esposeA);
|
|
|
|
|
expB.Format(L"%d", exposeB);
|
|
|
|
|
SetDlgItemText(IDC_tbxUVAExpos, expA);
|
|
|
|
|
SetDlgItemText(IDC_tbxUVBExpos, expB);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnSetexpos()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
int esposeA, exposeB;
|
|
|
|
|
CString expA, expB;
|
|
|
|
|
GetDlgItemText(IDC_tbxUVAExpos, expA);
|
|
|
|
|
GetDlgItemText(IDC_tbxUVBExpos, expB);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string str_a(W2A(expA));
|
|
|
|
|
std::string str_b(W2A(expB));
|
|
|
|
|
esposeA= atoi(str_a.c_str());
|
|
|
|
|
exposeB = atoi(str_b.c_str());
|
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
parent->m_drv->SetExpose(esposeA, exposeB);
|
|
|
|
|
}
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnaup()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
UpdateGains(IDC_BTNAUP, true);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnadown()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
UpdateGains(IDC_BTNADOWN, false);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnbup()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
UpdateGains(IDC_BTNBUP, true);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtnbdown()
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
UpdateGains(IDC_BTNBDOWN, false);
|
2020-08-31 08:08:50 +00:00
|
|
|
|
}
|
|
|
|
|
|
2021-07-31 03:12:53 +00:00
|
|
|
|
|
|
|
|
|
void CA4::UpdateGains(int id, bool increase)
|
2020-08-31 08:08:50 +00:00
|
|
|
|
{
|
2021-07-31 03:12:53 +00:00
|
|
|
|
UpdateData(TRUE);
|
2021-09-22 02:00:49 +00:00
|
|
|
|
int offect;
|
|
|
|
|
CString offectstr;
|
|
|
|
|
GetDlgItemText(IDC_tbxOffect, offectstr);
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string str_b(W2A(offectstr));
|
|
|
|
|
offect = atoi(str_b.c_str());
|
|
|
|
|
if (offect <= 0)
|
|
|
|
|
offect = 1;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
if ((id == IDC_BTNAUP || id == IDC_BTNBUP) && increase)
|
|
|
|
|
{
|
|
|
|
|
int startindex = id == IDC_BTNAUP ? 0 : 6;
|
|
|
|
|
for (size_t i = startindex; i < (6+ startindex); i++)
|
|
|
|
|
{
|
2021-09-22 02:00:49 +00:00
|
|
|
|
params.Gain[i] += offect;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else if((id==IDC_BTNADOWN||id==IDC_BTNBDOWN)&&!increase)
|
|
|
|
|
{
|
|
|
|
|
int startindex = id == IDC_BTNADOWN ? 0 : 6;
|
|
|
|
|
for (size_t i = startindex; i < (6 + startindex); i++)
|
2021-08-17 01:07:55 +00:00
|
|
|
|
{
|
2021-09-22 02:00:49 +00:00
|
|
|
|
params.Gain[i] -= offect;
|
2021-07-31 03:12:53 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
UpdateData(FALSE);
|
2021-08-17 01:07:55 +00:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CA4::OnEnChangetbxfrexposure2()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20><><EFBFBD><EFBFBD><EFBFBD>ÿؼ<C3BF><D8BC><EFBFBD> RICHEDIT <20>ؼ<EFBFBD><D8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
// <20><><EFBFBD>ʹ<EFBFBD>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д CDialog::OnInitDialog()
|
|
|
|
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CRichEditCtrl().SetEventMask()<29><>
|
|
|
|
|
// ͬʱ<CDAC><CAB1> ENM_CHANGE <20><>־<EFBFBD><D6BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㵽<EFBFBD><E3B5BD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>
|
|
|
|
|
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
}
|
2021-10-20 00:55:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtngetMbVersion()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
std::string version = parent->m_drv->GetMbVersion();
|
|
|
|
|
CString vs(version.c_str());
|
|
|
|
|
SetDlgItemText(IDC_tbxMbVersion, vs);
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-10-18 08:30:13 +00:00
|
|
|
|
int CA4::AqrVIDPID()
|
|
|
|
|
{
|
|
|
|
|
VIDPID t_vidpid = { 0 };
|
|
|
|
|
CString str_vid, str_pid;
|
|
|
|
|
GetDlgItemText(IDC_tbxVID, str_vid);
|
|
|
|
|
str_vid.Replace(L"0x",L"");
|
|
|
|
|
USES_CONVERSION;
|
|
|
|
|
std::string str(W2A(str_vid));
|
|
|
|
|
t_vidpid.VID = strtol(str.c_str(),NULL,16);// atoi(str.c_str());
|
|
|
|
|
GetDlgItemText(IDC_tbxPID, str_pid);
|
|
|
|
|
str_pid.Replace(L"0x", L"");
|
|
|
|
|
std::string cstr_pid(W2A(str_pid));
|
|
|
|
|
t_vidpid.PID = strtol(cstr_pid.c_str(), NULL, 16);// atoi(cstr_pid.c_str());
|
|
|
|
|
return t_vidpid.Value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CA4::UpdateVidPid(VIDPID vidpid)
|
|
|
|
|
{
|
|
|
|
|
if (vidpid.PID != 0 && vidpid.VID != 0)
|
|
|
|
|
{
|
|
|
|
|
CString str_vid, str_pid;
|
|
|
|
|
str_vid.Format(L"0x%x", vidpid.VID);
|
|
|
|
|
str_pid.Format(L"0x%x", vidpid.PID);
|
|
|
|
|
GetDlgItem(IDC_tbxVID)->SetWindowText(str_vid);
|
|
|
|
|
GetDlgItem(IDC_tbxPID)->SetWindowText(str_pid);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MessageBox(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>VID PID", L"<EFBFBD><EFBFBD>ʾ", MB_OK);
|
|
|
|
|
}
|
|
|
|
|
}
|
2022-04-13 10:21:11 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtgetrollernum()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
int num = parent->m_drv->GetRollerNum();
|
|
|
|
|
CString vs(std::to_string(num).c_str());
|
|
|
|
|
SetDlgItemText(IDC_tbxRollerNum, vs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void CA4::OnBnClickedBtclrrollernum()
|
|
|
|
|
{
|
|
|
|
|
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
|
|
|
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
|
|
|
|
parent->m_drv->ClrRollerNum();
|
|
|
|
|
int num = parent->m_drv->GetRollerNum();
|
|
|
|
|
CString vs(std::to_string(num).c_str());
|
|
|
|
|
SetDlgItemText(IDC_tbxRollerNum, vs);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|