删除G300 上面的7010操作

This commit is contained in:
13038267101 2023-10-24 14:38:58 +08:00
parent 5f1c2f45fd
commit 7d48f11935
3 changed files with 23 additions and 146 deletions

View File

@ -81,45 +81,26 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) :
hg_scanner(G100Serial, dev_name, io,pid)
,papersize(pid)
,is_devs_sleep_(false)
,index_ (0)
, first_frame_total(0)
, last_frame_total(0)
{
dsp_config.value = 0;
dsp_config.params_3288.enableLed = 1; //默认值
dsp_config.params_3288.isCorrect = 1;
int ret = get_device_type(firmware_sup_device_7010);
if (firmware_sup_device_7010 && ret == SCANNER_ERR_OK)
{
set_kernelsnap_ver();
get_correction_image(0, 1, 1);
get_correction_image(1, 1, 0);
get_correction_image(2, 2, 1);
get_correction_image(3, 2, 0);
get_correction_image(4, 3, 1);
get_correction_image(5, 3, 0);
firmware_sup_morr_ = true;
}
else
{
initdevice();
initdevice();
std::string fv(get_firmware_version()),
sn(get_serial_num());
if (fv.empty() || sn.empty())
return;
std::string fv(get_firmware_version()),
sn(get_serial_num());
if (fv.empty() || sn.empty())
return;
string dev = fv.substr(0, 2);
string ver = fv.substr(2, 3);
string date = fv.substr(5, 5);
string year = fv.substr(4, 2);
string devType;
string year_date = fv.substr(4, 6);
firmware_sup_morr_ = year_date.compare("230724") >= 0 ? true : false;
}
string dev = fv.substr(0, 2);
string ver = fv.substr(2, 3);
string date = fv.substr(5, 5);
string year = fv.substr(4, 2);
string devType;
string year_date = fv.substr(4, 6);
firmware_sup_morr_ = year_date.compare("230724") >= 0 ? true : false;
#ifndef MAPPING_FUNCTION_IN_BASE
init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化
@ -271,18 +252,6 @@ void hg_scanner_300::thread_handle_usb_read(void)
}
if (ret == SCANNER_ERR_OK && usb.u32_Count > 0)
{
if (firmware_sup_device_7010)
{
ret = get_img_data_7010();
sw.reset();
if (ret != SCANNER_ERR_OK)
{
status_ = ret;
break;
}
continue;
}
int totalNum = usb.u32_Count & 0x3fffffff; // 2022-08-04: 兼容Android默认图片大小均在1GB以内
VLOG_MINI_2(LOG_LEVEL_WARNING, "Get Scaner Image Size:%d bytes,Image Num[%d]\n", totalNum,img_num);
img_num++;
@ -516,14 +485,14 @@ int hg_scanner_300::get_scanner_status(USBCB &usb)
scanner_err code = settingsdsp_300::device_status_to_hg_err(usb.u32_Data);
return code ;
}
int hg_scanner_300::get_img_data(std::shared_ptr<tiny_buffer> &imagedata)
{
int total = imagedata->size(),
ret = SCANNER_ERR_OK,
index = 0,
block = total;
USBCB usb{ setting3288dsp::GET_IMAGE, 0, total};
int hg_scanner_300::get_img_data(std::shared_ptr<tiny_buffer>& imagedata)
{
int total = imagedata->size(),
ret = SCANNER_ERR_OK,
index = 0,
block = total;
USBCB usb{ setting3288dsp::GET_IMAGE, 0, total };
{
std::lock_guard<std::mutex> lock(io_lock_);
ret = writeusb(usb);
@ -580,75 +549,10 @@ int hg_scanner_300::get_img_data(std::shared_ptr<tiny_buffer> &imagedata)
str = str + '-' + STATU_DESC_SCANNER_ERR_DEVICE_STOPPED;
notify_ui_working_status(str.c_str(), SANE_EVENT_ERROR, ret);
}
return status_ = ret;
}
static int k = 0;
int hg_scanner_300::get_img_data_7010()
{
int ret = SCANNER_ERR_OK;
USBCB usb{ setting3288dsp::GET_IMAGE, 0, 0 };
{
std::lock_guard<std::mutex> lock(io_lock_);
ret = writeusb(usb);
io_->set_timeout(800);
setting3288dsp::HG_JpegCompressInfo info;
StopWatch sw;
sw.reset();
int len = sizeof(int) * 8;
ret = io_->read_bulk(&info, &len);
int val = info.DataLength;
int width = info.width;
int hegiht = info.height;
//cv::Mat mat1 = cv::Mat(hegiht, width, CV_8UC1, jpgdata.data(), cv::Mat::AUTO_STEP);
//static int cnt = 0;
if (info.first_frame)
{
first_frame_total = info.index_frame;
jpgdata_.clear();
jpgdata_.resize(width * hegiht * first_frame_total);
index_ = 0;
}
ret = io_->read_bulk(&jpgdata_[index_], &val);
index_ += val;
if (info.last_frame)
{
//return 0;
last_frame_total = info.index_frame;
int frame_ind = first_frame_total - last_frame_total;
mat_width = width;
mat_height = (hegiht * first_frame_total) - (hegiht * frame_ind);
std::shared_ptr<tiny_buffer> image_data_(aquire_memory(mat_width * mat_height));
unsigned int size1 = mat_height;
void* l = image_data_->data(0, &size1);
memcpy(l, jpgdata_.data(), mat_width * mat_height);
//cv::Mat mat = cv::Mat(hegiht * first_frame_total, width, CV_8UC1, jpgdata_.data(), cv::Mat::AUTO_STEP);
//cv::imwrite("C://image//get_img_data_7010" + to_string(k) + ".jpg", mat);
k++;
ret = save_usb_data(image_data_);
index_ = 0;
std::vector<unsigned char>().swap(jpgdata_); //回收空间 clear只能清空元素
}
float v = sw.elapsed_ms();
return ret;
}
}
int hg_scanner_300::writedown_device_configuration(bool type,setting_hardware::HGSCANCONF_3288 *d)
{
if (!type)
@ -931,23 +835,6 @@ void hg_scanner_300::printf_devconfig(setting_hardware::HGSCANCONF_3288 *d)
VLOG_MINI_1(LOG_LEVEL_DEBUG_INFO,"dsp_config.params_3288.value:%d\r\n",d->value);
}
int hg_scanner_300::get_device_type(bool &type)
{
int ret = SCANNER_ERR_OK;
USBCB cmd = { setting3288dsp::DEVICES_7010,0,0, };
{
std::lock_guard<std::mutex> lock(io_lock_);
ret = writeusb(cmd);
if (ret == SCANNER_ERR_OK)
ret = readusb(cmd);
if (ret)
return ret;
type = cmd.u32_Data;
}
return ret;
}
int hg_scanner_300::get_devs_distortion_check_val(float& data, int dpi, int dir)
{

View File

@ -61,14 +61,11 @@ private:
int pop_image(void);
int get_scanner_status(USBCB &usb);
int get_img_data(std::shared_ptr<tiny_buffer> &imagedata);
int get_img_data_7010();
int writedown_device_configuration(bool type =false,setting_hardware::HGSCANCONF_3288 *d = NULL);
void writedown_image_configuration(void);
void printf_devconfig(setting_hardware::HGSCANCONF_3288 *d = NULL);
int get_device_type(bool &type);
int get_devs_distortion_check_val(float& data, int dpi, int dir);//获取设备畸变值 DPI=1、2、3 dir = 0,1;
setting3288dsp::HG_JpegCompressInfo frame_info_;
///////////////////////7010专有协议获取校正数据//////////////////////
//inx:序号//
//dpi:1--->200 2--->300 3--->600//
@ -79,14 +76,7 @@ private:
setting_hardware::HGSCANCONF_3288 dsp_config;
Device::PaperSize papersize;
bool is_devs_sleep_;
int first_frame_total; //设置的帧数
int last_frame_total; //实际采集的帧数
std::vector<unsigned char> jpgdata_;
int index_;
;
public:
//////////////固定的硬件信息设置或获取//////////////

View File

@ -103,7 +103,7 @@ hg_scanner_306::hg_scanner_306(const char* dev_name,int pid, usb_io* io) :
if (init_settings(pid_))
init_settings((jsontext1 + jsontext2 + jsontext3).c_str());
set_firmware_upgrade("C:\\Users\\modehua\\Desktop\\updata.zip");
//set_firmware_upgrade("C:\\Users\\modehua\\Desktop\\updata.zip");
}
hg_scanner_306::~hg_scanner_306()