From f7b0f580226052d446b3b5000d2ec933e2f396b8 Mon Sep 17 00:00:00 2001 From: modehua Date: Tue, 31 Oct 2023 03:05:43 -0700 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=95=BF=E6=96=87=E7=A8=BF?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- zynq_7010_code/MultiFrameCapture.cpp | 28 +++++++++++++++++++++++----- zynq_7010_code/MultiFrameCapture.h | 2 +- zynq_7010_code/Scanner.cpp | 2 +- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/zynq_7010_code/MultiFrameCapture.cpp b/zynq_7010_code/MultiFrameCapture.cpp index 4bd8203..53c49c4 100644 --- a/zynq_7010_code/MultiFrameCapture.cpp +++ b/zynq_7010_code/MultiFrameCapture.cpp @@ -211,10 +211,10 @@ void MultiFrameCapture::UpdateScanParam(HG_ScanConfiguration config) configFPGAParam(config_color, config_dpi); { - int val = config.params.dpi == 3 ? 600 :(config.params.dpi == 2?300:200); + int val = resolution_ == 3 ? 600 :(resolution_ == 2?300:200); //除摩尔纹模式 - if(config.params.slow_moire && config.params.dpi != 3) + if(config.params.slow_moire && resolution_ != 3) { int sp = fpgaparam.Sp + 241; //258 摩尔纹是400dpi 4677的高度 @@ -228,16 +228,34 @@ void MultiFrameCapture::UpdateScanParam(HG_ScanConfiguration config) printf("灰度sp = %d\r\n",sp); printf("彩色sp = %d\r\n",sp * 3); } + + if (paper_size_ == (unsigned int)PaperSize::G400_MAXSIZE && !config.params.slow_moire) //长文稿模式选择使用 600 dpi走纸速度 + { + int sp = 0; + if (color_mode_ == GRAY) + sp = resolution_ == 1 ? 22950 : 9000; //长文稿模式 这几组数据是在600dpi的走纸速度调测的 sptime + else + sp = resolution_ == 1 ? 7800 : 5210; + + video->HtCamSetSpTime(sp,fpgaparam.MaxExp); // 2344 灰色 //2023-8-10 最新2650 + printf("长幅面 灰度sp = %d\r\n",sp); + if (color_mode_) + { + video->HtCamSetSpTime2(sp * 3); + printf("长幅面 彩色sp = %d\r\n",sp * 3); + } + } + uint32_t cnt = compute_frame(paper_size_ , val) ; - if (m_config.params.dpi == 2 && m_config.params.pageSize == (int)PaperSize::G400_A4) + if (resolution_ == 2 && paper_size_ == (int)PaperSize::G400_A4) { cnt -=1 ; } - if (m_config.params.dpi == 3) + if (resolution_ == 3) { - cnt +=1 ; + cnt += 2 ; } video->HtCamSetFrameCnt(cnt); printf(" -----------------------设置帧数:%d------------------\r\n",cnt); diff --git a/zynq_7010_code/MultiFrameCapture.h b/zynq_7010_code/MultiFrameCapture.h index a4a7985..f8c4c18 100644 --- a/zynq_7010_code/MultiFrameCapture.h +++ b/zynq_7010_code/MultiFrameCapture.h @@ -105,7 +105,7 @@ private: {PaperSize::G400_LEGAL,SIZE{216,356}}, {PaperSize::G400_LETTER,SIZE{216,279}}, //{PaperSize::G400_LONGLETTER}, - {PaperSize::G400_MAXSIZE,SIZE{210,297 * 2}}, + {PaperSize::G400_MAXSIZE,SIZE{210,5500}}, {PaperSize::G400_AUTO,SIZE{210,297}}, {PaperSize::G400_MAXAUTO,SIZE{216,5500}}, }; diff --git a/zynq_7010_code/Scanner.cpp b/zynq_7010_code/Scanner.cpp index ad62d70..210a859 100644 --- a/zynq_7010_code/Scanner.cpp +++ b/zynq_7010_code/Scanner.cpp @@ -104,7 +104,7 @@ void Scanner::updateSpeedMode() unsigned int t_dpi = m_config.params.dpi; - if(m_config.params.pageSize == 17 || m_config.params.pageSize == 19 ) //长文稿采用600dpi模式扫描 + if(m_config.params.pageSize == (unsigned int)PaperSize::G400_MAXSIZE || m_config.params.pageSize == (unsigned int)PaperSize::G400_MAXAUTO ) //长文稿采用600dpi模式扫描 t_dpi = 3; if (m_config.params.slow_moire) //摩尔纹特殊处理 t_dpi = sp = 16;