添加300/400 3399速度模式设置
This commit is contained in:
parent
debf85dd63
commit
14ef905a23
|
@ -299,12 +299,27 @@ void CA3::updatespeedmode(bool get)
|
||||||
bool bfound = false;
|
bool bfound = false;
|
||||||
for (size_t i = 0; i < speedmodeMap.size(); i++)
|
for (size_t i = 0; i < speedmodeMap.size(); i++)
|
||||||
{
|
{
|
||||||
if (parent->m_drv->PID == 0x0139 || parent->m_drv->PID == 0x0239
|
if (parent->m_drv->CPU == 3399)
|
||||||
|| parent->m_drv->PID == 0x8739
|
|
||||||
|| parent->m_drv->PID == 0x8629)
|
|
||||||
{
|
{
|
||||||
if((parent->m_drv->PID == 0x239) && (i<4))
|
if ((parent->m_drv->Driver_type == 200) && (i < 4))
|
||||||
continue;
|
continue;
|
||||||
|
if ((parent->m_drv->Driver_type == 300) && (i < 8))
|
||||||
|
continue;
|
||||||
|
if ((parent->m_drv->Driver_type == 400) && (i < 12))
|
||||||
|
continue;
|
||||||
|
if ((parent->m_drv->Driver_type == 400) || (parent->m_drv->Driver_type == 300))
|
||||||
|
{
|
||||||
|
switch (speedmode)
|
||||||
|
{
|
||||||
|
case 40:speedmode = 1; break;
|
||||||
|
case 50:speedmode = 2; break;
|
||||||
|
case 60:speedmode = 3; break;
|
||||||
|
case 70:speedmode = 4; break;
|
||||||
|
case 80:speedmode = 5; break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
if (speedmodeMap[i].Speedmode == speedmode)
|
if (speedmodeMap[i].Speedmode == speedmode)
|
||||||
{
|
{
|
||||||
m_cmbSpeedmode.SetCurSel(i);
|
m_cmbSpeedmode.SetCurSel(i);
|
||||||
|
@ -314,11 +329,11 @@ void CA3::updatespeedmode(bool get)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (parent->m_drv->PID == 0x0300 || parent->m_drv->PID == 0x0400)
|
else if ((parent->m_drv->Driver_type == 300 || parent->m_drv->Driver_type == 400)||(parent->m_drv->CPU == 3288))
|
||||||
{
|
{
|
||||||
if ((parent->m_drv->PID == 0x0400) && (i < 12))
|
if ((parent->m_drv->Driver_type == 400) && (i < 12))
|
||||||
continue;
|
continue;
|
||||||
int startindex = parent->m_drv->PID == 0x0300 ? 7: 11;
|
int startindex = parent->m_drv->Driver_type == 300 ? 7: 11;
|
||||||
m_cmbSpeedmode.SetCurSel(startindex+ speedmode);
|
m_cmbSpeedmode.SetCurSel(startindex+ speedmode);
|
||||||
bfound = true;
|
bfound = true;
|
||||||
break;
|
break;
|
||||||
|
@ -333,14 +348,26 @@ void CA3::updatespeedmode(bool get)
|
||||||
if (cmbindex != -1)
|
if (cmbindex != -1)
|
||||||
{
|
{
|
||||||
auto t_speedmode = speedmodeMap[cmbindex];
|
auto t_speedmode = speedmodeMap[cmbindex];
|
||||||
if (parent->m_drv->PID == 0x0139 || parent->m_drv->PID == 0x0239 ||
|
if (parent->m_drv->CPU == 3399)
|
||||||
parent->m_drv->PID == 0x8739 || parent->m_drv->PID == 0x8629)
|
|
||||||
{
|
{
|
||||||
|
if ((parent->m_drv->Driver_type == 400) || (parent->m_drv->Driver_type == 300))
|
||||||
|
{
|
||||||
|
switch (speedmode)
|
||||||
|
{
|
||||||
|
case 1:speedmode = 40; break;
|
||||||
|
case 2:speedmode = 50; break;
|
||||||
|
case 3:speedmode = 60; break;
|
||||||
|
case 4:speedmode = 70; break;
|
||||||
|
case 5:speedmode = 80; break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false);
|
parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false);
|
||||||
parent->m_drv->SetSptime(0, t_speedmode.GraySp);
|
parent->m_drv->SetSptime(0, t_speedmode.GraySp);
|
||||||
parent->m_drv->SetSptime(1, t_speedmode.ColorSp);
|
parent->m_drv->SetSptime(1, t_speedmode.ColorSp);
|
||||||
}
|
}
|
||||||
else if (parent->m_drv->PID == 0x0300 || parent->m_drv->PID == 0x0400)
|
else if ((parent->m_drv->Driver_type == 300 || parent->m_drv->Driver_type == 400) || (parent->m_drv->CPU == 3288))
|
||||||
{
|
{
|
||||||
parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false);
|
parent->m_drv->GetSpeedMode(t_speedmode.Speedmode, false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -222,6 +222,7 @@ opencv_imgproc2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ClInclude Include="gscn_drv.h" />
|
<ClInclude Include="gscn_drv.h" />
|
||||||
<ClInclude Include="HuaGoCorrect.h" />
|
<ClInclude Include="HuaGoCorrect.h" />
|
||||||
<ClInclude Include="HuaGoCorrectDlg.h" />
|
<ClInclude Include="HuaGoCorrectDlg.h" />
|
||||||
|
<ClInclude Include="id_config.h" />
|
||||||
<ClInclude Include="ImageMatQueue.h" />
|
<ClInclude Include="ImageMatQueue.h" />
|
||||||
<ClInclude Include="imageprocess.h" />
|
<ClInclude Include="imageprocess.h" />
|
||||||
<ClInclude Include="IScanner.h" />
|
<ClInclude Include="IScanner.h" />
|
||||||
|
@ -250,6 +251,7 @@ opencv_imgproc2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
<ClCompile Include="gscn_drv.cpp" />
|
<ClCompile Include="gscn_drv.cpp" />
|
||||||
<ClCompile Include="HuaGoCorrect.cpp" />
|
<ClCompile Include="HuaGoCorrect.cpp" />
|
||||||
<ClCompile Include="HuaGoCorrectDlg.cpp" />
|
<ClCompile Include="HuaGoCorrectDlg.cpp" />
|
||||||
|
<ClCompile Include="id_config.cpp" />
|
||||||
<ClCompile Include="ImageMatQueue.cpp" />
|
<ClCompile Include="ImageMatQueue.cpp" />
|
||||||
<ClCompile Include="imageprocess.cpp" />
|
<ClCompile Include="imageprocess.cpp" />
|
||||||
<ClCompile Include="JpegBuffer.cpp" />
|
<ClCompile Include="JpegBuffer.cpp" />
|
||||||
|
|
|
@ -126,6 +126,9 @@
|
||||||
<ClInclude Include="ScannerTypeConfig.h">
|
<ClInclude Include="ScannerTypeConfig.h">
|
||||||
<Filter>头文件</Filter>
|
<Filter>头文件</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="id_config.h">
|
||||||
|
<Filter>头文件</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="HuaGoCorrect.cpp">
|
<ClCompile Include="HuaGoCorrect.cpp">
|
||||||
|
@ -182,6 +185,9 @@
|
||||||
<ClCompile Include="ScannerTypeConfig.cpp">
|
<ClCompile Include="ScannerTypeConfig.cpp">
|
||||||
<Filter>源文件</Filter>
|
<Filter>源文件</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="id_config.cpp">
|
||||||
|
<Filter>源文件</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ResourceCompile Include="HuaGoCorrect.rc">
|
<ResourceCompile Include="HuaGoCorrect.rc">
|
||||||
|
|
|
@ -632,6 +632,7 @@ void CHuaGoCorrectDlg::OnCbnSelchangeCmbUsbs()
|
||||||
m_drv->CPU = tmp.cpu_type;
|
m_drv->CPU = tmp.cpu_type;
|
||||||
m_drv->VID = tmp.vid;
|
m_drv->VID = tmp.vid;
|
||||||
m_drv->PID = tmp.pid;
|
m_drv->PID = tmp.pid;
|
||||||
|
m_drv->Driver_type = tmp.driver_type;
|
||||||
m_drv->open(i->vid, i->pid, 0);
|
m_drv->open(i->vid, i->pid, 0);
|
||||||
USES_CONVERSION;
|
USES_CONVERSION;
|
||||||
std::string savepath(W2A(GetMainApp()->path.GetBuffer()));
|
std::string savepath(W2A(GetMainApp()->path.GetBuffer()));
|
||||||
|
|
|
@ -73,4 +73,5 @@ public:
|
||||||
unsigned short VID;
|
unsigned short VID;
|
||||||
unsigned short PID;
|
unsigned short PID;
|
||||||
unsigned short CPU;
|
unsigned short CPU;
|
||||||
|
unsigned short Driver_type;
|
||||||
};
|
};
|
|
@ -355,7 +355,7 @@ bool gscan3399::Updata(std::string filename, std::function<void(long, long)> fun
|
||||||
if (!scanner_read_reg(m_usb, 0x101))
|
if (!scanner_read_reg(m_usb, 0x101))
|
||||||
return false;
|
return false;
|
||||||
auto now = std::chrono::steady_clock::now();
|
auto now = std::chrono::steady_clock::now();
|
||||||
while (std::chrono::duration<double>(std::chrono::steady_clock::now() - now).count() < 60)
|
while (std::chrono::duration<double>(std::chrono::steady_clock::now() - now).count() < 70)
|
||||||
{
|
{
|
||||||
int status= scanner_read_reg(m_usb, 0x102);
|
int status= scanner_read_reg(m_usb, 0x102);
|
||||||
if (status == 2)
|
if (status == 2)
|
||||||
|
|
|
@ -46,7 +46,7 @@ void id_config::SaveConfig(std::vector<ID_Config> configs)
|
||||||
json j = json::array();
|
json j = json::array();
|
||||||
for (int i = 0; i < configs.size(); i++)
|
for (int i = 0; i < configs.size(); i++)
|
||||||
{
|
{
|
||||||
j.push_back(to_json({configs[i].vid,configs[i].pid,configs[i].cpu_type}));
|
j.push_back(to_json({configs[i].vid,configs[i].pid,configs[i].cpu_type,configs[i].driver_type}));
|
||||||
}
|
}
|
||||||
std::ofstream ofs(ID_JSON_PATH);
|
std::ofstream ofs(ID_JSON_PATH);
|
||||||
ofs << std::setw(4) << j << std::endl;
|
ofs << std::setw(4) << j << std::endl;
|
||||||
|
@ -61,12 +61,14 @@ void id_config::SaveConfig(json j)
|
||||||
json id_config::GetDefaultJson()
|
json id_config::GetDefaultJson()
|
||||||
{
|
{
|
||||||
json j = json::array();
|
json j = json::array();
|
||||||
j.push_back(to_json({ 0x3072, 0x239,3399 }));
|
j.push_back(to_json({ 0x3072, 0x239, 3399, 200 }));
|
||||||
j.push_back(to_json({ 0x3072, 0x139,3399 }));
|
j.push_back(to_json({ 0x3072, 0x139, 3399, 100 }));
|
||||||
j.push_back(to_json({ 0x3072, 0x300,3288 }));
|
j.push_back(to_json({ 0x3072, 0x300, 3288, 300 }));
|
||||||
j.push_back(to_json({ 0x3072, 0x400,3288 }));
|
j.push_back(to_json({ 0x3072, 0x400, 3288, 400 }));
|
||||||
j.push_back(to_json({ 0x31c9, 0x8629,3399 }));
|
j.push_back(to_json({ 0x3072, 0x339, 3399, 300 }));
|
||||||
j.push_back(to_json({ 0x31c9, 0x8739,3399 }));
|
j.push_back(to_json({ 0x3072, 0x439, 3399, 400 }));
|
||||||
|
j.push_back(to_json({ 0x31c9, 0x8629,3399, 100 }));
|
||||||
|
j.push_back(to_json({ 0x31c9, 0x8739,3399, 200 }));
|
||||||
return j;
|
return j;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +86,8 @@ json id_config::to_json(ID_Config param)
|
||||||
return json{
|
return json{
|
||||||
{"vid",param.vid},
|
{"vid",param.vid},
|
||||||
{"pid",param.pid},
|
{"pid",param.pid},
|
||||||
{"cpu",param.cpu_type}};
|
{"cpu",param.cpu_type},
|
||||||
|
{"type",param.driver_type} };
|
||||||
}
|
}
|
||||||
|
|
||||||
ID_Config id_config::to_param(json j)
|
ID_Config id_config::to_param(json j)
|
||||||
|
@ -93,5 +96,6 @@ ID_Config id_config::to_param(json j)
|
||||||
j.at("vid").get_to(tmp.vid);
|
j.at("vid").get_to(tmp.vid);
|
||||||
j.at("pid").get_to(tmp.pid);
|
j.at("pid").get_to(tmp.pid);
|
||||||
j.at("cpu").get_to(tmp.cpu_type);
|
j.at("cpu").get_to(tmp.cpu_type);
|
||||||
|
j.at("type").get_to(tmp.driver_type);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ struct ID_Config
|
||||||
std::uint16_t vid;
|
std::uint16_t vid;
|
||||||
std::uint16_t pid;
|
std::uint16_t pid;
|
||||||
std::uint16_t cpu_type;
|
std::uint16_t cpu_type;
|
||||||
|
std::uint16_t driver_type;
|
||||||
};
|
};
|
||||||
|
|
||||||
class id_config
|
class id_config
|
||||||
|
|
Loading…
Reference in New Issue