增加获取滚轴寿命接口
This commit is contained in:
parent
543a6307fb
commit
dccd579342
|
@ -3978,6 +3978,10 @@ int hg_scanner::device_io_control(unsigned long code, void* data, unsigned* len)
|
||||||
}
|
}
|
||||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
}
|
}
|
||||||
|
int hg_scanner::get_roller_life(void)
|
||||||
|
{
|
||||||
|
return 150000;
|
||||||
|
}
|
||||||
int hg_scanner::discard_all_images(void)
|
int hg_scanner::discard_all_images(void)
|
||||||
{
|
{
|
||||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
|
|
|
@ -489,6 +489,8 @@ public:
|
||||||
virtual int reset(void);
|
virtual int reset(void);
|
||||||
virtual int device_io_control(unsigned long code, void* data, unsigned* len);
|
virtual int device_io_control(unsigned long code, void* data, unsigned* len);
|
||||||
virtual int discard_all_images(void) = 0;
|
virtual int discard_all_images(void) = 0;
|
||||||
|
virtual int get_roller_life(void); // 获取滚轴最大寿命
|
||||||
|
|
||||||
public:
|
public:
|
||||||
hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io,int pid);
|
hg_scanner(ScannerSerial serial, const char* dev_name, usb_io* io,int pid);
|
||||||
virtual ~hg_scanner();
|
virtual ~hg_scanner();
|
||||||
|
|
|
@ -130,6 +130,10 @@ int hg_scanner_200::discard_all_images(void)
|
||||||
discard_prev();
|
discard_prev();
|
||||||
return SCANNER_ERR_OK;
|
return SCANNER_ERR_OK;
|
||||||
}
|
}
|
||||||
|
int hg_scanner_200::get_roller_life(void)
|
||||||
|
{
|
||||||
|
return 450000;
|
||||||
|
}
|
||||||
void hg_scanner_200::thread_handle_usb_read(void)
|
void hg_scanner_200::thread_handle_usb_read(void)
|
||||||
{
|
{
|
||||||
int ret = SCANNER_ERR_OK,
|
int ret = SCANNER_ERR_OK,
|
||||||
|
|
|
@ -26,6 +26,8 @@ protected:
|
||||||
virtual void thread_handle_usb_read(void) override;
|
virtual void thread_handle_usb_read(void) override;
|
||||||
virtual int on_scanner_closing(bool force) override;
|
virtual int on_scanner_closing(bool force) override;
|
||||||
virtual int discard_all_images(void) override;
|
virtual int discard_all_images(void) override;
|
||||||
|
virtual int get_roller_life(void) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual int on_color_mode_changed(int& color_mode) override; // COLOR_MODE_xxx
|
virtual int on_color_mode_changed(int& color_mode) override; // COLOR_MODE_xxx
|
||||||
virtual int on_paper_changed(int& paper) override; // PAPER_xxx
|
virtual int on_paper_changed(int& paper) override; // PAPER_xxx
|
||||||
|
|
|
@ -762,6 +762,10 @@ int hg_scanner_239::discard_all_images(void)
|
||||||
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "prev-connection has left %d interrupt packet(s) && %d image(s).\n", pre_int, pre_img);
|
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "prev-connection has left %d interrupt packet(s) && %d image(s).\n", pre_int, pre_img);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
int hg_scanner_239::get_roller_life(void)
|
||||||
|
{
|
||||||
|
return 450000;
|
||||||
|
}
|
||||||
int hg_scanner_239::on_color_mode_changed(int& color_mode)
|
int hg_scanner_239::on_color_mode_changed(int& color_mode)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,7 @@ public:
|
||||||
virtual int stop(void) override;
|
virtual int stop(void) override;
|
||||||
virtual int reset(void) override;
|
virtual int reset(void) override;
|
||||||
virtual int device_io_control(unsigned long code, void* data, unsigned* len) override;
|
virtual int device_io_control(unsigned long code, void* data, unsigned* len) override;
|
||||||
|
virtual int get_roller_life(void) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
//////////////固定的硬件信息设置或获取//////////////
|
//////////////固定的硬件信息设置或获取//////////////
|
||||||
|
|
|
@ -299,6 +299,10 @@ int hg_scanner_300::discard_all_images(void)
|
||||||
}
|
}
|
||||||
return SCANNER_ERR_OK;
|
return SCANNER_ERR_OK;
|
||||||
}
|
}
|
||||||
|
int hg_scanner_300::get_roller_life(void)
|
||||||
|
{
|
||||||
|
return pid_ == 300 ? 150000 : 200000;
|
||||||
|
}
|
||||||
int hg_scanner_300::start(void)
|
int hg_scanner_300::start(void)
|
||||||
{
|
{
|
||||||
bool handled = false;
|
bool handled = false;
|
||||||
|
|
|
@ -26,6 +26,8 @@ protected:
|
||||||
virtual int on_scanner_closing(bool force) override;
|
virtual int on_scanner_closing(bool force) override;
|
||||||
virtual void thread_handle_usb_read(void) override;
|
virtual void thread_handle_usb_read(void) override;
|
||||||
virtual int discard_all_images(void) override;
|
virtual int discard_all_images(void) override;
|
||||||
|
virtual int get_roller_life(void) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual int on_color_mode_changed(int& color_mode) override; //颜色切换
|
virtual int on_color_mode_changed(int& color_mode) override; //颜色切换
|
||||||
virtual int on_paper_changed(int& paper) override; //纸张大小设置
|
virtual int on_paper_changed(int& paper) override; //纸张大小设置
|
||||||
|
|
|
@ -92,7 +92,7 @@ namespace settings302
|
||||||
{200.0f, 1},
|
{200.0f, 1},
|
||||||
{240.0f, 1},
|
{240.0f, 1},
|
||||||
{300.0f, 0},
|
{300.0f, 0},
|
||||||
{600.0f, 1} //临时版本发1 原来发2
|
{600.0f, 1} //临时版本å<EFBFBD>? 原æ<C5B8>¥å<C2A5>?
|
||||||
};
|
};
|
||||||
bool is_equal(float l, float r)
|
bool is_equal(float l, float r)
|
||||||
{
|
{
|
||||||
|
@ -666,6 +666,10 @@ int hg_scanner_302::discard_all_images(void)
|
||||||
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "prev-connection has left %d interrupt packet(s) && %d image(s).\n", pre_int, pre_img);
|
VLOG_MINI_2(LOG_LEVEL_DEBUG_INFO, "prev-connection has left %d interrupt packet(s) && %d image(s).\n", pre_int, pre_img);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
int hg_scanner_302::get_roller_life(void)
|
||||||
|
{
|
||||||
|
return pid_ == 302 ? 150000 : 200000;
|
||||||
|
}
|
||||||
int hg_scanner_302::on_color_mode_changed(int& color_mode)
|
int hg_scanner_302::on_color_mode_changed(int& color_mode)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -753,7 +757,7 @@ int hg_scanner_302::on_paper_check_changed(bool& check)
|
||||||
}
|
}
|
||||||
int hg_scanner_302::on_resolution_changed(int& dpi)
|
int hg_scanner_302::on_resolution_changed(int& dpi)
|
||||||
{
|
{
|
||||||
dev_conf_.params_3399.dpi = 1; //dpi 华凌cis和敦南cis 默认发1无需改变
|
dev_conf_.params_3399.dpi = 1; //dpi å<EFBFBD>Žå‡Œcis和敦å<EFBFBD>—cis 默认å<C2A4>?æ— éœ€æ”¹å<C2B9>˜
|
||||||
int ret = writedown_device_configuration();
|
int ret = writedown_device_configuration();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1267,7 +1271,7 @@ int hg_scanner_302::get_scan_is_sleep(SANE_Bool& type)
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> lock(io_lock_);
|
std::lock_guard<std::mutex> lock(io_lock_);
|
||||||
int ret = 0, val;
|
int ret = 0, val;
|
||||||
ret = read_register(setting3399::SR_GET_SLEEP_STAUTUS, &val); //0休眠 1唤醒状态
|
ret = read_register(setting3399::SR_GET_SLEEP_STAUTUS, &val); //0ä¼‘çœ 1唤醒状æ€?
|
||||||
if (ret == SCANNER_ERR_OK)
|
if (ret == SCANNER_ERR_OK)
|
||||||
{
|
{
|
||||||
type = val == 1 ? true : false;
|
type = val == 1 ? true : false;
|
||||||
|
|
|
@ -53,6 +53,8 @@ class hg_scanner_302 : public hg_scanner
|
||||||
|
|
||||||
int read_one_image_from_usb(SANE_Image_Statu statu = SANE_Image_Statu_OK);
|
int read_one_image_from_usb(SANE_Image_Statu statu = SANE_Image_Statu_OK);
|
||||||
virtual int discard_all_images();
|
virtual int discard_all_images();
|
||||||
|
virtual int get_roller_life(void) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void on_device_reconnected(void) override;
|
virtual void on_device_reconnected(void) override;
|
||||||
virtual int on_scanner_closing(bool force) override;
|
virtual int on_scanner_closing(bool force) override;
|
||||||
|
|
|
@ -380,7 +380,7 @@ void hg_scanner_mgr::on_hgscanner_pnp(usb_event ev, libusb_device* device, int v
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
for (; i < online_devices_.size(); ++i)
|
for (; i < online_devices_.size(); ++i)
|
||||||
{
|
{
|
||||||
if (online_devices_[i].dev == device) // 此处假定同一台设备重新连接后,设备对象“device”保持不变;如果假设不成立,会导致设备重连消息不能正常接收,绑定到该设备的scanner对象得不到释放
|
if (online_devices_[i].dev == device) // æ¤å¤„å<EFBFBD>‡å®šå<EFBFBD>Œä¸€å<EFBFBD>°è®¾å¤‡é‡<EFBFBD>新连接å<EFBFBD>Žï¼Œè®¾å¤‡å¯¹è±¡â€œdeviceâ€<EFBFBD>ä¿<EFBFBD>æŒ<EFBFBD>ä¸<EFBFBD>å<EFBFBD>˜ï¼›å¦‚æžœå<EFBFBD>‡è®¾ä¸<EFBFBD>æˆ<EFBFBD>立,会导致设备é‡<EFBFBD>连消æ<EFBFBD>¯ä¸<EFBFBD>能æ£å¸¸æŽ¥æ”¶ï¼Œç»‘定到该设备的scanner对象得ä¸<EFBFBD>到释æ”?
|
||||||
{
|
{
|
||||||
online_devices_[i].ind = index;
|
online_devices_[i].ind = index;
|
||||||
add = false;
|
add = false;
|
||||||
|
@ -895,6 +895,20 @@ scanner_err hg_scanner_mgr::hg_scanner_get_parameter(scanner_handle h, const cha
|
||||||
if (strcmp(SANE_STD_OPT_NAME_LOGIN, name) == 0 ||
|
if (strcmp(SANE_STD_OPT_NAME_LOGIN, name) == 0 ||
|
||||||
strcmp(SANE_STD_OPT_NAME_LOGOUT, name) == 0)
|
strcmp(SANE_STD_OPT_NAME_LOGOUT, name) == 0)
|
||||||
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
return SCANNER_ERR_DEVICE_NOT_SUPPORT;
|
||||||
|
|
||||||
|
if (strcmp(SANE_STD_OPT_NAME_ROLLER_LIFE, name) == 0)
|
||||||
|
{
|
||||||
|
if (*len < sizeof(SANE_Int))
|
||||||
|
{
|
||||||
|
*len = sizeof(SANE_Int);
|
||||||
|
|
||||||
|
return SCANNER_ERR_INSUFFICIENT_MEMORY;
|
||||||
|
}
|
||||||
|
|
||||||
|
*(SANE_Int*)data = SCAN_PTR(h)->get_roller_life();
|
||||||
|
|
||||||
|
return SCANNER_ERR_OK;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int l = *len,
|
int l = *len,
|
||||||
|
|
|
@ -393,6 +393,7 @@ namespace local_utility
|
||||||
FIX_ID_TO_NAME(FIRMWARE_VERSION, 255);
|
FIX_ID_TO_NAME(FIRMWARE_VERSION, 255);
|
||||||
FIX_ID_TO_NAME(DEVICE_IP_ADDR, 255);
|
FIX_ID_TO_NAME(DEVICE_IP_ADDR, 255);
|
||||||
FIX_ID_TO_NAME(DEVICE_MAC_ADDR, 255);
|
FIX_ID_TO_NAME(DEVICE_MAC_ADDR, 255);
|
||||||
|
FIX_ID_TO_NAME(ROLLER_LIFE, sizeof(SANE_Int));
|
||||||
|
|
||||||
FIX_ID_TO_NAME(CUSTOM_GAMMA, sizeof(SANE_Gamma));
|
FIX_ID_TO_NAME(CUSTOM_GAMMA, sizeof(SANE_Gamma));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue