3288 400 敦南cis功能适配
This commit is contained in:
parent
21b4849332
commit
a285d89660
|
@ -46,6 +46,7 @@ BEGIN_MESSAGE_MAP(CA3, CDialog)
|
||||||
ON_BN_CLICKED(IDC_BTNSETSPEED, &CA3::OnBnClickedBtnsetspeed)
|
ON_BN_CLICKED(IDC_BTNSETSPEED, &CA3::OnBnClickedBtnsetspeed)
|
||||||
ON_BN_CLICKED(IDC_BTNGETSPEED, &CA3::OnBnClickedBtngetspeed)
|
ON_BN_CLICKED(IDC_BTNGETSPEED, &CA3::OnBnClickedBtngetspeed)
|
||||||
ON_BN_CLICKED(IDC_BTNGETIP, &CA3::OnBnClickedBtngetip)
|
ON_BN_CLICKED(IDC_BTNGETIP, &CA3::OnBnClickedBtngetip)
|
||||||
|
ON_BN_CLICKED(IDC_BTNGETSYSINFO, &CA3::OnBnClickedBtnGetSysInfo)
|
||||||
END_MESSAGE_MAP()
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
|
@ -363,3 +364,13 @@ void CA3::OnBnClickedBtngetip()
|
||||||
SetDlgItemText(IDC_LBIPADDR, vs);
|
SetDlgItemText(IDC_LBIPADDR, vs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CA3::OnBnClickedBtnGetSysInfo()
|
||||||
|
{
|
||||||
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
||||||
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
||||||
|
std::string version = parent->m_drv->GetSysInfo();
|
||||||
|
CString vs(version.c_str());
|
||||||
|
MessageBox(vs, TEXT("ϵͳÐÅÏ¢"),MB_OK);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ public:
|
||||||
afx_msg void OnBnClickedBtnsetuvsp();
|
afx_msg void OnBnClickedBtnsetuvsp();
|
||||||
afx_msg void OnBnClickedBtngetcolorsp();
|
afx_msg void OnBnClickedBtngetcolorsp();
|
||||||
afx_msg void OnBnClickedBtnsetcolorsp();
|
afx_msg void OnBnClickedBtnsetcolorsp();
|
||||||
|
afx_msg void OnBnClickedBtnGetSysInfo();
|
||||||
private:
|
private:
|
||||||
void OnGetOrSetSp(bool get, int type);
|
void OnGetOrSetSp(bool get, int type);
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -265,7 +265,8 @@ void CA4::OnBnClickedBtnGethor()
|
||||||
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
||||||
int ratio = 0;
|
int ratio = 0;
|
||||||
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
||||||
parent->m_drv->GetRatio(0, ratio);
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
||||||
|
parent->m_drv->GetRatio(0, ratio, dpi);
|
||||||
float f_ratio = *(float*)∶
|
float f_ratio = *(float*)∶
|
||||||
CString str;
|
CString str;
|
||||||
str.Format(L"%.4f", f_ratio);
|
str.Format(L"%.4f", f_ratio);
|
||||||
|
@ -279,7 +280,8 @@ void CA4::OnBnClickedBtnGetver()
|
||||||
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
||||||
int ratio = 0;
|
int ratio = 0;
|
||||||
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
||||||
parent->m_drv->GetRatio(1, ratio);
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
||||||
|
parent->m_drv->GetRatio(1, ratio, dpi);
|
||||||
float f_ratio = *(float*)∶
|
float f_ratio = *(float*)∶
|
||||||
CString str;
|
CString str;
|
||||||
str.Format(L"%.4f", f_ratio);
|
str.Format(L"%.4f", f_ratio);
|
||||||
|
@ -292,13 +294,14 @@ void CA4::OnBnClickedBtnSethor()
|
||||||
{
|
{
|
||||||
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
||||||
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
||||||
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
||||||
CString str;
|
CString str;
|
||||||
GetDlgItemText(IDC_tbxHOR, str);
|
GetDlgItemText(IDC_tbxHOR, str);
|
||||||
USES_CONVERSION;
|
USES_CONVERSION;
|
||||||
std::string s_str(W2A(str));
|
std::string s_str(W2A(str));
|
||||||
float f_value = atof(s_str.c_str());
|
float f_value = atof(s_str.c_str());
|
||||||
int value = *(int*)&f_value;
|
int value = *(int*)&f_value;
|
||||||
parent->m_drv->SetRatio(0, value);
|
parent->m_drv->SetRatio(0, value, dpi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,13 +310,14 @@ void CA4::OnBnClickedBtnSetver()
|
||||||
{
|
{
|
||||||
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
auto parent = (CHuaGoCorrectDlg*)GetParent();
|
||||||
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
if (parent->m_drv.get() && parent->m_drv->IsConnected()) {
|
||||||
|
int dpi = parent->GetSelectDPIIndex() == 0 ? 1 : (parent->GetSelectDPIIndex() == 1 ? 2 : 3);
|
||||||
CString str;
|
CString str;
|
||||||
GetDlgItemText(IDC_tbxVER, str);
|
GetDlgItemText(IDC_tbxVER, str);
|
||||||
USES_CONVERSION;
|
USES_CONVERSION;
|
||||||
std::string s_str(W2A(str));
|
std::string s_str(W2A(str));
|
||||||
float f_value = atof(s_str.c_str());
|
float f_value = atof(s_str.c_str());
|
||||||
int value = *(int*)&f_value;
|
int value = *(int*)&f_value;
|
||||||
parent->m_drv->SetRatio(1, value);
|
parent->m_drv->SetRatio(1, value, dpi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -234,6 +234,7 @@ opencv_imgproc2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ClInclude Include="MutexEx.h" />
|
<ClInclude Include="MutexEx.h" />
|
||||||
<ClInclude Include="PublicFunc.h" />
|
<ClInclude Include="PublicFunc.h" />
|
||||||
<ClInclude Include="Resource.h" />
|
<ClInclude Include="Resource.h" />
|
||||||
|
<ClInclude Include="ScannerTypeConfig.h" />
|
||||||
<ClInclude Include="scn_config.h" />
|
<ClInclude Include="scn_config.h" />
|
||||||
<ClInclude Include="scn_usb.h" />
|
<ClInclude Include="scn_usb.h" />
|
||||||
<ClInclude Include="stdafx.h" />
|
<ClInclude Include="stdafx.h" />
|
||||||
|
@ -255,6 +256,7 @@ opencv_imgproc2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ClCompile Include="jpeglib.cpp" />
|
<ClCompile Include="jpeglib.cpp" />
|
||||||
<ClCompile Include="JsonConfig.cpp" />
|
<ClCompile Include="JsonConfig.cpp" />
|
||||||
<ClCompile Include="PublicFunc.cpp" />
|
<ClCompile Include="PublicFunc.cpp" />
|
||||||
|
<ClCompile Include="ScannerTypeConfig.cpp" />
|
||||||
<ClCompile Include="scn_config.cpp" />
|
<ClCompile Include="scn_config.cpp" />
|
||||||
<ClCompile Include="scn_usb.cpp" />
|
<ClCompile Include="scn_usb.cpp" />
|
||||||
<ClCompile Include="stdafx.cpp">
|
<ClCompile Include="stdafx.cpp">
|
||||||
|
|
|
@ -123,6 +123,9 @@
|
||||||
<ClInclude Include="vendorconfig.h">
|
<ClInclude Include="vendorconfig.h">
|
||||||
<Filter>头文件</Filter>
|
<Filter>头文件</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="ScannerTypeConfig.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="HuaGoCorrect.cpp">
|
<ClCompile Include="HuaGoCorrect.cpp">
|
||||||
|
@ -176,6 +179,9 @@
|
||||||
<ClCompile Include="vendorconfig.cpp">
|
<ClCompile Include="vendorconfig.cpp">
|
||||||
<Filter>源文件</Filter>
|
<Filter>源文件</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="ScannerTypeConfig.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="HuaGoCorrect.rc">
|
<ResourceCompile Include="HuaGoCorrect.rc">
|
||||||
|
|
|
@ -177,10 +177,10 @@ BOOL CHuaGoCorrectDlg::OnInitDialog()
|
||||||
// 根据调整好的tabRect放置m_VisonDlg子对话框,并设置为隐藏
|
// 根据调整好的tabRect放置m_VisonDlg子对话框,并设置为隐藏
|
||||||
m_VisonDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
m_VisonDlg.SetWindowPos(NULL, tabRect.left, tabRect.top, tabRect.Width(), tabRect.Height(), SWP_HIDEWINDOW);
|
||||||
|
|
||||||
m_ComboxDpi.InsertString(0, _T("300"));
|
m_ComboxDpi.InsertString(0, _T("200"));
|
||||||
m_ComboxDpi.InsertString(1, _T("200"));
|
m_ComboxDpi.InsertString(1, _T("300"));
|
||||||
m_ComboxDpi.InsertString(2, _T("150"));
|
m_ComboxDpi.InsertString(2, _T("600"));
|
||||||
m_ComboxDpi.SetCurSel(1);
|
m_ComboxDpi.SetCurSel(0);
|
||||||
|
|
||||||
m_ComboxColor.InsertString(0, _T("gray"));
|
m_ComboxColor.InsertString(0, _T("gray"));
|
||||||
m_ComboxColor.InsertString(1, _T("color"));
|
m_ComboxColor.InsertString(1, _T("color"));
|
||||||
|
@ -345,8 +345,8 @@ void CHuaGoCorrectDlg::Scan()
|
||||||
m_drv->PID == 0x8739 ||
|
m_drv->PID == 0x8739 ||
|
||||||
m_drv->PID == 0x8629)
|
m_drv->PID == 0x8629)
|
||||||
{
|
{
|
||||||
config.g200params.dpi = 1;//only support 200DPI
|
config.g200params.dpi = m_iDpiIndex==0?1:(m_iDpiIndex==1?2:3);//only support 200DPI
|
||||||
config.g200params.paper = 2;
|
config.g200params.paper = 16;
|
||||||
config.g200params.pc_correct = ((CButton*)GetDlgItem(IDC_CKBORGINIMG))->GetCheck();
|
config.g200params.pc_correct = ((CButton*)GetDlgItem(IDC_CKBORGINIMG))->GetCheck();
|
||||||
config.g200params.color = m_iColorIndex == 1 ? 1 : 0;
|
config.g200params.color = m_iColorIndex == 1 ? 1 : 0;
|
||||||
config.g200params.double_feed_enbale = TRUE;
|
config.g200params.double_feed_enbale = TRUE;
|
||||||
|
@ -355,7 +355,7 @@ void CHuaGoCorrectDlg::Scan()
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
config.g400params.dpi = 1;//only support 200DPI
|
config.g400params.dpi = m_iDpiIndex == 0 ? 1 : (m_iDpiIndex == 1 ? 2 : 3);//only support 200DPI ;// 1;//only support 200DPI
|
||||||
config.g400params.pageSize = 0;
|
config.g400params.pageSize = 0;
|
||||||
config.g400params.isCorrect = !((CButton*)GetDlgItem(IDC_CKBORGINIMG))->GetCheck();
|
config.g400params.isCorrect = !((CButton*)GetDlgItem(IDC_CKBORGINIMG))->GetCheck();
|
||||||
config.g400params.isColor = m_iColorIndex == 1 ? 1 : 0;
|
config.g400params.isColor = m_iColorIndex == 1 ? 1 : 0;
|
||||||
|
|
|
@ -110,6 +110,9 @@ public:
|
||||||
afx_msg void OnCbnSelchangeCmbUsbs();
|
afx_msg void OnCbnSelchangeCmbUsbs();
|
||||||
afx_msg void OnBnClickedBtnstart();
|
afx_msg void OnBnClickedBtnstart();
|
||||||
afx_msg void OnBnClickedBtnstop();
|
afx_msg void OnBnClickedBtnstop();
|
||||||
|
int GetSelectDPIIndex() {
|
||||||
|
return m_iDpiIndex;
|
||||||
|
}
|
||||||
private:
|
private:
|
||||||
CString updateFilePath;
|
CString updateFilePath;
|
||||||
std::thread m_updateThread;
|
std::thread m_updateThread;
|
||||||
|
|
|
@ -18,8 +18,8 @@ public:
|
||||||
virtual std::string GetMbVersion() = 0;
|
virtual std::string GetMbVersion() = 0;
|
||||||
virtual std::string GetIpAddr() = 0;
|
virtual std::string GetIpAddr() = 0;
|
||||||
virtual std::string GetKernelVersion() =0;
|
virtual std::string GetKernelVersion() =0;
|
||||||
virtual void SetRatio(int tyepe, int ration) = 0;
|
virtual void SetRatio(int tyepe, int ration,int dpi=0) = 0;
|
||||||
virtual void GetRatio(int type, int& ratio) = 0;
|
virtual void GetRatio(int type, int& ratio,int dpi=0) = 0;
|
||||||
virtual void Reboot(bool loader=false) = 0;
|
virtual void Reboot(bool loader=false) = 0;
|
||||||
virtual void PowerOff() = 0;
|
virtual void PowerOff() = 0;
|
||||||
virtual bool is_scan() = 0;
|
virtual bool is_scan() = 0;
|
||||||
|
@ -54,6 +54,7 @@ public:
|
||||||
virtual void SetFlatCallback(std::function<void(std::string)> func) = 0;
|
virtual void SetFlatCallback(std::function<void(std::string)> func) = 0;
|
||||||
virtual void GetSpeedMode(int& speedmode,bool get) = 0 ;
|
virtual void GetSpeedMode(int& speedmode,bool get) = 0 ;
|
||||||
virtual void GetOrSetVIDPID(int& value, bool get) = 0;
|
virtual void GetOrSetVIDPID(int& value, bool get) = 0;
|
||||||
|
virtual std::string GetSysInfo() = 0;
|
||||||
void SetPath(std::string csFilePath)
|
void SetPath(std::string csFilePath)
|
||||||
{
|
{
|
||||||
csPath = csFilePath;
|
csPath = csFilePath;
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,61 @@
|
||||||
|
#include "stdafx.h"
|
||||||
|
#include "ScannerTypeConfig.h"
|
||||||
|
#include "json.hpp"
|
||||||
|
#include <io.h>
|
||||||
|
#include <iostream>
|
||||||
|
#include <fstream>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ScannerTypeConfig::ScannerTypeConfig()
|
||||||
|
{
|
||||||
|
if (_access("scannerconfig.json", 0) != 0)
|
||||||
|
{
|
||||||
|
json j = json::array();
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < m_supscanner.size(); i++)
|
||||||
|
{
|
||||||
|
json t_j;
|
||||||
|
auto tsup = m_supscanner[i];
|
||||||
|
to_json(t_j, tsup);
|
||||||
|
j.push_back(t_j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::ofstream ofs("scannerconfig.json");
|
||||||
|
//ofs << std::setw(4) << js << std::endl;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ScannerTypeConfig::~ScannerTypeConfig()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
std::vector<SupScanner> ScannerTypeConfig::GetSupScanners()
|
||||||
|
{
|
||||||
|
return std::vector<SupScanner>();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScannerTypeConfig::AddSupScanner(SupScanner add)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScannerTypeConfig::initconfig()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScannerTypeConfig::from_json(json& j, SupScanner& sup)
|
||||||
|
{
|
||||||
|
j.at("VID").get_to(sup.VID);
|
||||||
|
j.at("PID").get_to(sup.PID);
|
||||||
|
j.at("ScannerType").get_to(sup.ScannerType);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ScannerTypeConfig::to_json(json& j, SupScanner& sup)
|
||||||
|
{
|
||||||
|
j = json{
|
||||||
|
{"VID",sup.VID},
|
||||||
|
{"PID",sup.PID},
|
||||||
|
{"ScannerType",sup.ScannerType}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
#pragma once
|
||||||
|
#include "commondef.h"
|
||||||
|
#include <map>
|
||||||
|
#include <vector>
|
||||||
|
#include "json.hpp"
|
||||||
|
|
||||||
|
using json = nlohmann::json;
|
||||||
|
class ScannerTypeConfig
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
ScannerTypeConfig();
|
||||||
|
~ScannerTypeConfig();
|
||||||
|
std::vector<SupScanner> GetSupScanners();
|
||||||
|
void AddSupScanner(SupScanner add);
|
||||||
|
private:
|
||||||
|
void initconfig();
|
||||||
|
void from_json(json& j, SupScanner& sup);
|
||||||
|
void to_json(json& j, SupScanner& sup);
|
||||||
|
const std::vector< SupScanner> m_supscanner = {
|
||||||
|
{0x064b,0x7823,ScannerType::S_G139},
|
||||||
|
{0x3072,0x0139,ScannerType::S_G139},
|
||||||
|
{0x3072,0x0239,ScannerType::S_G239},
|
||||||
|
{0x3072,0x0300,ScannerType::S_G300_3288},
|
||||||
|
{0x3072,0x0300,ScannerType::S_G300UV_3288},
|
||||||
|
{0x3072,0x0339,ScannerType::S_G300_3399},
|
||||||
|
{0x3072,0x0400,ScannerType::S_G400_3288},
|
||||||
|
{0x3072,0x0439,ScannerType::S_G400_3399},
|
||||||
|
};
|
||||||
|
};
|
|
@ -167,7 +167,9 @@ enum tagUsbKeyWords :unsigned int
|
||||||
GET_UV_EXPOSA = 0x100,
|
GET_UV_EXPOSA = 0x100,
|
||||||
GET_UV_EXPOSB = 0x101,
|
GET_UV_EXPOSB = 0x101,
|
||||||
SET_UV_EXPOSA = 0x102,
|
SET_UV_EXPOSA = 0x102,
|
||||||
SET_UV_EXPOSB = 0x103
|
SET_UV_EXPOSB = 0x103,
|
||||||
|
GETSYSINFO_LEN = 0x200,
|
||||||
|
GETSYSINFO = 0x201
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum tagUsbKeyWords UsbKeyWords, * PUsbKeyWords;
|
typedef enum tagUsbKeyWords UsbKeyWords, * PUsbKeyWords;
|
||||||
|
@ -417,3 +419,21 @@ struct HGEIntInfo
|
||||||
unsigned int Code;
|
unsigned int Code;
|
||||||
unsigned int Img_Index;
|
unsigned int Img_Index;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum class ScannerType
|
||||||
|
{
|
||||||
|
S_G139,
|
||||||
|
S_G239,
|
||||||
|
S_G300_3288,
|
||||||
|
S_G300UV_3288,
|
||||||
|
S_G300_3399,
|
||||||
|
S_G400_3288,
|
||||||
|
S_G400_3399
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
unsigned short VID;
|
||||||
|
unsigned short PID;
|
||||||
|
ScannerType ScannerType;
|
||||||
|
}SupScanner;
|
|
@ -197,12 +197,12 @@ std::string gscan3399::GetKernelVersion()
|
||||||
return version;
|
return version;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gscan3399::SetRatio(int tyepe, int ration)
|
void gscan3399::SetRatio(int tyepe, int ration,int dpi)
|
||||||
{
|
{
|
||||||
scanner_write_reg(m_usb, tyepe == 0 ? SR_SET_H_RATIO : SR_SET_V_RATIO, ration);
|
scanner_write_reg(m_usb, tyepe == 0 ? SR_SET_H_RATIO : SR_SET_V_RATIO, ration);
|
||||||
|
|
||||||
}
|
}
|
||||||
void gscan3399::GetRatio(int type, int& ratio)
|
void gscan3399::GetRatio(int type, int& ratio,int dpi)
|
||||||
{
|
{
|
||||||
ratio = scanner_read_reg(m_usb, type == 0 ? SR_GET_H_RATIO : SR_GET_V_RATIO);
|
ratio = scanner_read_reg(m_usb, type == 0 ? SR_GET_H_RATIO : SR_GET_V_RATIO);
|
||||||
}
|
}
|
||||||
|
@ -532,6 +532,11 @@ void gscan3399::GetOrSetVIDPID(int& value, bool get)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string gscan3399::GetSysInfo()
|
||||||
|
{
|
||||||
|
return "Unsupported";
|
||||||
|
}
|
||||||
|
|
||||||
void gscan3399::usbcallback(bool isleft, void* usrdata)
|
void gscan3399::usbcallback(bool isleft, void* usrdata)
|
||||||
{
|
{
|
||||||
gscan3399* This = (gscan3399*)usrdata;
|
gscan3399* This = (gscan3399*)usrdata;
|
||||||
|
|
|
@ -19,8 +19,8 @@ public:
|
||||||
virtual std::string GetKernelVersion();
|
virtual std::string GetKernelVersion();
|
||||||
virtual std::string GetIpAddr();
|
virtual std::string GetIpAddr();
|
||||||
virtual std::string GetMbVersion();
|
virtual std::string GetMbVersion();
|
||||||
virtual void SetRatio(int tyepe, int ration);
|
virtual void SetRatio(int tyepe, int ration,int dpi=0);
|
||||||
virtual void GetRatio(int type, int& ratio);
|
virtual void GetRatio(int type, int& ratio,int dpi=0);
|
||||||
virtual void Reboot(bool loader=false);
|
virtual void Reboot(bool loader=false);
|
||||||
virtual void PowerOff();
|
virtual void PowerOff();
|
||||||
virtual bool is_scan();
|
virtual bool is_scan();
|
||||||
|
@ -72,7 +72,7 @@ public:
|
||||||
virtual void SetFlatCallback(std::function<void(std::string)> func);
|
virtual void SetFlatCallback(std::function<void(std::string)> func);
|
||||||
virtual void GetSpeedMode(int& speedmode,bool getorset);
|
virtual void GetSpeedMode(int& speedmode,bool getorset);
|
||||||
virtual void GetOrSetVIDPID(int& value, bool get) override;
|
virtual void GetOrSetVIDPID(int& value, bool get) override;
|
||||||
|
virtual std::string GetSysInfo() override;
|
||||||
private:
|
private:
|
||||||
static void usbcallback(bool isleft, void* usrdata);
|
static void usbcallback(bool isleft, void* usrdata);
|
||||||
int read_data(void* data, int length, int timeout);
|
int read_data(void* data, int length, int timeout);
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
//#define BYTE unsigned char
|
//#define BYTE unsigned char
|
||||||
|
|
||||||
GScn_Drv::GScn_Drv()
|
GScn_Drv::GScn_Drv()
|
||||||
:selectDeviceIndex(-1),m_scannerType(-1),m_isScanning(false)
|
:selectDeviceIndex(-1), m_scannerType(-1), m_isScanning(false)
|
||||||
{
|
{
|
||||||
//run();
|
//run();
|
||||||
|
|
||||||
|
@ -42,38 +42,38 @@ GScn_Drv::~GScn_Drv()
|
||||||
|
|
||||||
void GScn_Drv::InitMSGMap()
|
void GScn_Drv::InitMSGMap()
|
||||||
{
|
{
|
||||||
if (ntcMsg.size()>0)
|
if (ntcMsg.size() > 0)
|
||||||
ntcMsg.clear();
|
ntcMsg.clear();
|
||||||
ntcMsg[COUNT_MODE]="计数模式,请先退出计数模式!";
|
ntcMsg[COUNT_MODE] = "计数模式,请先退出计数模式!";
|
||||||
ntcMsg[NO_FEED]="无纸,请放置纸张!";
|
ntcMsg[NO_FEED] = "无纸,请放置纸张!";
|
||||||
ntcMsg[OPEN_COVER]="扫描仪开盖!";
|
ntcMsg[OPEN_COVER] = "扫描仪开盖!";
|
||||||
ntcMsg[FEED_IN_ERROR]="拾纸错误!";
|
ntcMsg[FEED_IN_ERROR] = "拾纸错误!";
|
||||||
ntcMsg[PAPER_JAM]="卡纸!";
|
ntcMsg[PAPER_JAM] = "卡纸!";
|
||||||
ntcMsg[DETECT_DOUBLE_FEED]="双张!";
|
ntcMsg[DETECT_DOUBLE_FEED] = "双张!";
|
||||||
ntcMsg[DETECT_STAPLE]="订书针!";
|
ntcMsg[DETECT_STAPLE] = "订书针!";
|
||||||
ntcMsg[PAPER_SKEW]="纸张歪斜!";
|
ntcMsg[PAPER_SKEW] = "纸张歪斜!";
|
||||||
ntcMsg[HARDWARE_ERROR]="硬件错误!";
|
ntcMsg[HARDWARE_ERROR] = "硬件错误!";
|
||||||
ntcMsg[PC_SCAN_BUSY_or_ERROR]="PC错误!";
|
ntcMsg[PC_SCAN_BUSY_or_ERROR] = "PC错误!";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void GScn_Drv::InitScannerDiviceMap()
|
void GScn_Drv::InitScannerDiviceMap()
|
||||||
{
|
{
|
||||||
if (devType.size()>0)
|
if (devType.size() > 0)
|
||||||
{
|
{
|
||||||
devType.clear();
|
devType.clear();
|
||||||
}
|
}
|
||||||
devType["G100"]=G100;
|
devType["G100"] = G100;
|
||||||
devType["G200"]=G200;
|
devType["G200"] = G200;
|
||||||
devType["G300"]=G300;
|
devType["G300"] = G300;
|
||||||
devType["G400"]=G400;
|
devType["G400"] = G400;
|
||||||
devType["G500"]=G500;
|
devType["G500"] = G500;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int iNum = 0;
|
static int iNum = 0;
|
||||||
|
|
||||||
void GScn_Drv::open(int vid, int pid,int index)
|
void GScn_Drv::open(int vid, int pid, int index)
|
||||||
{
|
{
|
||||||
auto devs = UsbScan_List::find_vid_pid(vid, pid);
|
auto devs = UsbScan_List::find_vid_pid(vid, pid);
|
||||||
|
|
||||||
|
@ -83,9 +83,9 @@ void GScn_Drv::open(int vid, int pid,int index)
|
||||||
m_usb->open();//?同时存在多个同种扫描设备时,默认选取第一个vid pid匹配的设备
|
m_usb->open();//?同时存在多个同种扫描设备时,默认选取第一个vid pid匹配的设备
|
||||||
VID = vid;
|
VID = vid;
|
||||||
PID = pid;
|
PID = pid;
|
||||||
selectDeviceIndex=index;
|
selectDeviceIndex = index;
|
||||||
m_scannerType=G300;
|
m_scannerType = G300;
|
||||||
h= ::FindWindow(NULL, L"HGScannerTool");
|
h = ::FindWindow(NULL, L"HGScannerTool");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -108,7 +108,7 @@ std::string GScn_Drv::popMat(int num)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int GScn_Drv::aquire_image(std::string& image,int num)
|
int GScn_Drv::aquire_image(std::string& image, int num)
|
||||||
{
|
{
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
@ -166,7 +166,7 @@ void GScn_Drv::SetExpose(int aside, int bside)
|
||||||
|
|
||||||
void GScn_Drv::GetSptime(int type, int& time)
|
void GScn_Drv::GetSptime(int type, int& time)
|
||||||
{
|
{
|
||||||
USBCB usb = {0,0,0};
|
USBCB usb = { 0,0,0 };
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -213,7 +213,7 @@ void GScn_Drv::GetSleepTime(int& sleeptime)
|
||||||
USBCB usb = { GET_SLEEP_TIME,0,0 };
|
USBCB usb = { GET_SLEEP_TIME,0,0 };
|
||||||
m_usb->write_bulk(&usb, sizeof(usb));
|
m_usb->write_bulk(&usb, sizeof(usb));
|
||||||
m_usb->read_bulk(&usb, sizeof(usb));
|
m_usb->read_bulk(&usb, sizeof(usb));
|
||||||
sleeptime=usb.u32_Data;
|
sleeptime = usb.u32_Data;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -243,7 +243,7 @@ void GScn_Drv::GetSpeedMode(int& speedmode, bool get)
|
||||||
{
|
{
|
||||||
if (m_usb.get() && m_usb->is_connected())
|
if (m_usb.get() && m_usb->is_connected())
|
||||||
{
|
{
|
||||||
USBCB speed = { get ? GET_SPEED_MODE:SET_SPEED_MODE,speedmode,0 };
|
USBCB speed = { get ? GET_SPEED_MODE : SET_SPEED_MODE,speedmode,0 };
|
||||||
m_usb->write_bulk(&speed, sizeof(speed));
|
m_usb->write_bulk(&speed, sizeof(speed));
|
||||||
if (get)
|
if (get)
|
||||||
{
|
{
|
||||||
|
@ -267,6 +267,24 @@ void GScn_Drv::GetOrSetVIDPID(int& value, bool get)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string GScn_Drv::GetSysInfo()
|
||||||
|
{
|
||||||
|
UsbKeyWords keyword = GETSYSINFO_LEN;
|
||||||
|
USBCB cmd = { keyword ,0,0 };
|
||||||
|
m_usb->write_bulk(&cmd, sizeof(cmd));
|
||||||
|
m_usb->read_bulk(&cmd, sizeof(cmd));
|
||||||
|
int len = cmd.u32_Count;
|
||||||
|
string str;
|
||||||
|
str.resize(4096);
|
||||||
|
cmd.u32_CMD = GETSYSINFO;
|
||||||
|
cmd.u32_Count = 0;
|
||||||
|
cmd.u32_Data = 0;
|
||||||
|
m_usb->write_bulk(&cmd, sizeof(cmd));
|
||||||
|
m_usb->read_bulk(&str[0], len);
|
||||||
|
int aa = 0;
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
void GScn_Drv::reset()
|
void GScn_Drv::reset()
|
||||||
{
|
{
|
||||||
while (!m_pImages.empty())
|
while (!m_pImages.empty())
|
||||||
|
@ -283,7 +301,7 @@ void GScn_Drv::pushMat(JpegBuffer& data)
|
||||||
|
|
||||||
bool GScn_Drv::IsConnected()
|
bool GScn_Drv::IsConnected()
|
||||||
{
|
{
|
||||||
if(m_usb.get())
|
if (m_usb.get())
|
||||||
return m_usb->is_connected();
|
return m_usb->is_connected();
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
|
@ -294,7 +312,7 @@ bool GScn_Drv::IsConnected()
|
||||||
cv::Mat GScn_Drv::Get_Img_Data(int bufferSize)
|
cv::Mat GScn_Drv::Get_Img_Data(int bufferSize)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lck(m_Locker);
|
std::lock_guard<std::mutex> lck(m_Locker);
|
||||||
cv::Mat iData(1, bufferSize,CV_8UC1);
|
cv::Mat iData(1, bufferSize, CV_8UC1);
|
||||||
USBCB usbcb = { GET_IMAGE,0,bufferSize };
|
USBCB usbcb = { GET_IMAGE,0,bufferSize };
|
||||||
DWORD transfer;
|
DWORD transfer;
|
||||||
|
|
||||||
|
@ -400,7 +418,7 @@ DWORD GScn_Drv::usbmain()
|
||||||
{
|
{
|
||||||
while (m_bRun)
|
while (m_bRun)
|
||||||
{
|
{
|
||||||
if (devState==DEV_ISRUNNING)
|
if (devState == DEV_ISRUNNING)
|
||||||
{
|
{
|
||||||
if (!IsConnected())
|
if (!IsConnected())
|
||||||
{
|
{
|
||||||
|
@ -416,7 +434,7 @@ DWORD GScn_Drv::usbmain()
|
||||||
DWORD transferCount = 0;
|
DWORD transferCount = 0;
|
||||||
iNum++;
|
iNum++;
|
||||||
cv::Mat imgData = Get_Img_Data(totalNum);
|
cv::Mat imgData = Get_Img_Data(totalNum);
|
||||||
switch(m_scannerType)
|
switch (m_scannerType)
|
||||||
{
|
{
|
||||||
case G100:
|
case G100:
|
||||||
case G200:
|
case G200:
|
||||||
|
@ -438,15 +456,15 @@ DWORD GScn_Drv::usbmain()
|
||||||
memcpy(&(bufferF.data[(k - 1) * 1023]), &(imgData.data[(j + k - 1) * 1024]), 1023);
|
memcpy(&(bufferF.data[(k - 1) * 1023]), &(imgData.data[(j + k - 1) * 1024]), 1023);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pushMat(JpegBuffer(bufferB,m_config.g200params.color==1?TJPF_BGR:TJPF_GRAY,0,0));
|
pushMat(JpegBuffer(bufferB, m_config.g200params.color == 1 ? TJPF_BGR : TJPF_GRAY, 0, 0));
|
||||||
pushMat(JpegBuffer(bufferF, m_config.g200params.color == 1 ? TJPF_BGR : TJPF_GRAY,1,0));
|
pushMat(JpegBuffer(bufferF, m_config.g200params.color == 1 ? TJPF_BGR : TJPF_GRAY, 1, 0));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case G300:
|
case G300:
|
||||||
case G400:
|
case G400:
|
||||||
case G500:
|
case G500:
|
||||||
{
|
{
|
||||||
pushMat(JpegBuffer(imgData, m_config.g200params.color == 1 ? TJPF_BGR : TJPF_GRAY,0,0));
|
pushMat(JpegBuffer(imgData, m_config.g200params.color == 1 ? TJPF_BGR : TJPF_GRAY, 0, 0));
|
||||||
//auto img = fopen("inmg.jpg", "wb+");
|
//auto img = fopen("inmg.jpg", "wb+");
|
||||||
//fwrite(imgData.data, 1, totalNum, img);
|
//fwrite(imgData.data, 1, totalNum, img);
|
||||||
//fclose(img);
|
//fclose(img);
|
||||||
|
@ -460,7 +478,7 @@ DWORD GScn_Drv::usbmain()
|
||||||
}
|
}
|
||||||
case STOP_SCAN:
|
case STOP_SCAN:
|
||||||
{
|
{
|
||||||
m_isScanning=false;
|
m_isScanning = false;
|
||||||
devState = DEV_STOP;
|
devState = DEV_STOP;
|
||||||
m_pImages.SetScanFlag(false);
|
m_pImages.SetScanFlag(false);
|
||||||
break;
|
break;
|
||||||
|
@ -499,7 +517,7 @@ DWORD GScn_Drv::usbmain()
|
||||||
case DETECT_STAPLE:
|
case DETECT_STAPLE:
|
||||||
case PAPER_SKEW:
|
case PAPER_SKEW:
|
||||||
case HARDWARE_ERROR:
|
case HARDWARE_ERROR:
|
||||||
case PC_SCAN_BUSY_or_ERROR:{
|
case PC_SCAN_BUSY_or_ERROR: {
|
||||||
USES_CONVERSION;
|
USES_CONVERSION;
|
||||||
MessageBox(h, CString(ntcMsg[usbcb.u32_Data].c_str()), L"提示?", MB_OK | MB_ICONERROR);
|
MessageBox(h, CString(ntcMsg[usbcb.u32_Data].c_str()), L"提示?", MB_OK | MB_ICONERROR);
|
||||||
devState = DEV_WRONG;
|
devState = DEV_WRONG;
|
||||||
|
@ -567,7 +585,7 @@ void GScn_Drv::Scanner_StartScan(UINT16 count)
|
||||||
USBCB usbcb = { START_COMMAND,AUTO_SCAN_MODE ,0 };
|
USBCB usbcb = { START_COMMAND,AUTO_SCAN_MODE ,0 };
|
||||||
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
||||||
iNum = 0;
|
iNum = 0;
|
||||||
m_pImages.pixType=m_config.g200params.color;
|
m_pImages.pixType = m_config.g200params.color;
|
||||||
m_pImages.SetDevModel(m_scannerType);
|
m_pImages.SetDevModel(m_scannerType);
|
||||||
m_pImages.SetFilePath(csPath);
|
m_pImages.SetFilePath(csPath);
|
||||||
m_pImages.run();
|
m_pImages.run();
|
||||||
|
@ -588,7 +606,7 @@ std::string GScn_Drv::GetFWVersion()
|
||||||
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
||||||
|
|
||||||
CString cslog;
|
CString cslog;
|
||||||
cslog.Format(L"GetFWVersion Read_Data %d",usbcb.u32_Data);
|
cslog.Format(L"GetFWVersion Read_Data %d", usbcb.u32_Data);
|
||||||
|
|
||||||
m_usb->read_bulk(&pFWVersion[0], 10);
|
m_usb->read_bulk(&pFWVersion[0], 10);
|
||||||
return pFWVersion;
|
return pFWVersion;
|
||||||
|
@ -619,7 +637,7 @@ void GScn_Drv::SetSerialNum(std::string pvalue)
|
||||||
if (m_usb->is_connected())
|
if (m_usb->is_connected())
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lck(m_imgLocker);
|
std::lock_guard<std::mutex> lck(m_imgLocker);
|
||||||
USBCB sercmd = { SEND_SERIAL ,0,14};
|
USBCB sercmd = { SEND_SERIAL ,0,14 };
|
||||||
m_usb->write_bulk(&sercmd, sizeof(sercmd));
|
m_usb->write_bulk(&sercmd, sizeof(sercmd));
|
||||||
m_usb->write_bulk(&pvalue, pvalue.length());
|
m_usb->write_bulk(&pvalue, pvalue.length());
|
||||||
}
|
}
|
||||||
|
@ -640,7 +658,7 @@ int GScn_Drv::GetScanNum()
|
||||||
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
||||||
|
|
||||||
CString cslog;
|
CString cslog;
|
||||||
cslog.Format(L"GetScanNum Read_Data %d",usbcb.u32_Data);
|
cslog.Format(L"GetScanNum Read_Data %d", usbcb.u32_Data);
|
||||||
//WriteLog(cslog);
|
//WriteLog(cslog);
|
||||||
|
|
||||||
m_usb->read_bulk(&usbcb, sizeof(usbcb));
|
m_usb->read_bulk(&usbcb, sizeof(usbcb));
|
||||||
|
@ -694,7 +712,7 @@ void GScn_Drv::SendFlatData(CorrectParam param, int index)
|
||||||
|
|
||||||
CaptureParams GScn_Drv::GetFlatData()
|
CaptureParams GScn_Drv::GetFlatData()
|
||||||
{
|
{
|
||||||
CaptureParams param = {0};
|
CaptureParams param = { 0 };
|
||||||
USBCB usbcb = { GET_FLAT_DATA,0,0 };
|
USBCB usbcb = { GET_FLAT_DATA,0,0 };
|
||||||
DWORD transfer;
|
DWORD transfer;
|
||||||
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
||||||
|
@ -728,7 +746,7 @@ void GScn_Drv::DevStateChange()
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
std::string GScn_Drv::GetSerialNum()
|
std::string GScn_Drv::GetSerialNum()
|
||||||
{
|
{
|
||||||
if (!m_usb.get()&&!m_usb->is_connected())
|
if (!m_usb.get() && !m_usb->is_connected())
|
||||||
{
|
{
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
@ -738,22 +756,22 @@ std::string GScn_Drv::GetSerialNum()
|
||||||
str.resize(14);
|
str.resize(14);
|
||||||
USBCB usbcb = { GET_SERIAL,0,14 };
|
USBCB usbcb = { GET_SERIAL,0,14 };
|
||||||
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
m_usb->write_bulk(&usbcb, sizeof(usbcb));
|
||||||
XdPrint(L"GetSerialNum Read_Data %d",usbcb.u32_Data);
|
XdPrint(L"GetSerialNum Read_Data %d", usbcb.u32_Data);
|
||||||
m_usb->read_bulk(&str, 14);
|
m_usb->read_bulk(&str, 14);
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
void GScn_Drv::SetRatio(int tyepe, int ration)
|
void GScn_Drv::SetRatio(int tyepe, int ration, int dpi)
|
||||||
{
|
{
|
||||||
UsbKeyWords keyword = tyepe == 0 ? SET_JUST_COF_H : SET_JUST_COF_V;
|
UsbKeyWords keyword = tyepe == 0 ? SET_JUST_COF_H : SET_JUST_COF_V;
|
||||||
USBCB cmd = { keyword ,ration,0};
|
USBCB cmd = { keyword ,ration,dpi };
|
||||||
m_usb->write_bulk(&cmd, sizeof(cmd));
|
m_usb->write_bulk(&cmd, sizeof(cmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
void GScn_Drv::GetRatio(int type, int& ratio)
|
void GScn_Drv::GetRatio(int type, int& ratio, int dpi)
|
||||||
{
|
{
|
||||||
UsbKeyWords keyword = type == 0 ? GET_JUST_COF_H : GET_JUST_COF_V;
|
UsbKeyWords keyword = type == 0 ? GET_JUST_COF_H : GET_JUST_COF_V;
|
||||||
USBCB cmd = { keyword ,0,0 };
|
USBCB cmd = { keyword ,0,dpi };
|
||||||
m_usb->write_bulk(&cmd, sizeof(cmd));
|
m_usb->write_bulk(&cmd, sizeof(cmd));
|
||||||
m_usb->read_bulk(&cmd, sizeof(cmd));
|
m_usb->read_bulk(&cmd, sizeof(cmd));
|
||||||
ratio = cmd.u32_Data;
|
ratio = cmd.u32_Data;
|
||||||
|
@ -761,7 +779,7 @@ void GScn_Drv::GetRatio(int type, int& ratio)
|
||||||
|
|
||||||
void GScn_Drv::Reboot(bool loader)
|
void GScn_Drv::Reboot(bool loader)
|
||||||
{
|
{
|
||||||
USBCB cmd = { REBOOT,loader?1:0,0 };
|
USBCB cmd = { REBOOT,loader ? 1 : 0,0 };
|
||||||
m_usb->write_bulk(&cmd, sizeof(cmd));
|
m_usb->write_bulk(&cmd, sizeof(cmd));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -783,7 +801,7 @@ USBCB GScn_Drv::Get_Scanner_Status()
|
||||||
|
|
||||||
//XdPrint("Get_Scanner_Status Read_Data %d \n",usbcb.u32_Data);
|
//XdPrint("Get_Scanner_Status Read_Data %d \n",usbcb.u32_Data);
|
||||||
|
|
||||||
m_usb->read_bulk(&usbcb,sizeof(usbcb));
|
m_usb->read_bulk(&usbcb, sizeof(usbcb));
|
||||||
|
|
||||||
//XdPrint("Get_Scanner_Status return usbcb \n",usbcb.u32_Data);
|
//XdPrint("Get_Scanner_Status return usbcb \n",usbcb.u32_Data);
|
||||||
return usbcb;
|
return usbcb;
|
||||||
|
@ -792,7 +810,7 @@ USBCB GScn_Drv::Get_Scanner_Status()
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
bool GScn_Drv::is_scan()
|
bool GScn_Drv::is_scan()
|
||||||
{
|
{
|
||||||
return devState==DEV_ISRUNNING;
|
return devState == DEV_ISRUNNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -30,8 +30,8 @@ public:
|
||||||
virtual std::string GetMbVersion();
|
virtual std::string GetMbVersion();
|
||||||
virtual std::string GetIpAddr();
|
virtual std::string GetIpAddr();
|
||||||
virtual std::string GetKernelVersion();
|
virtual std::string GetKernelVersion();
|
||||||
virtual void SetRatio(int tyepe, int ration);
|
virtual void SetRatio(int tyepe, int ration,int dpi=0);
|
||||||
virtual void GetRatio(int type, int& ratio);
|
virtual void GetRatio(int type, int& ratio,int dpi=0);
|
||||||
virtual void Reboot(bool loader=false);
|
virtual void Reboot(bool loader=false);
|
||||||
virtual void PowerOff() {};
|
virtual void PowerOff() {};
|
||||||
virtual bool is_scan()override;
|
virtual bool is_scan()override;
|
||||||
|
@ -80,6 +80,7 @@ public:
|
||||||
virtual void SetFlatCallback(std::function<void(std::string)> func)override;
|
virtual void SetFlatCallback(std::function<void(std::string)> func)override;
|
||||||
virtual void GetSpeedMode(int& speedmode, bool get)override;
|
virtual void GetSpeedMode(int& speedmode, bool get)override;
|
||||||
virtual void GetOrSetVIDPID(int& value, bool get) override;
|
virtual void GetOrSetVIDPID(int& value, bool get) override;
|
||||||
|
virtual std::string GetSysInfo() override;
|
||||||
private:
|
private:
|
||||||
volatile int devState;
|
volatile int devState;
|
||||||
volatile bool m_bRun;
|
volatile bool m_bRun;
|
||||||
|
|
Loading…
Reference in New Issue