添加电机板固件版本协议

This commit is contained in:
gb 2023-06-17 13:29:39 +08:00
parent 54c2da5e38
commit e1095bef0e
2 changed files with 13 additions and 10 deletions

View File

@ -85,13 +85,13 @@ namespace callback
}SCNINST;
std::vector<SCNINST> g_scanner_instances;
int sane_event_callback( // 注册回调的对象,需要保证该回调是多线程安全的
SANE_Handle hdev // 产生事件的设备句柄
int sane_event_callback( // 注册åžè°ƒçš„对象,需è¦<EFBFBD>ä¿<EFBFBD>è¯<EFBFBD>该åžè°ƒæ˜¯å¤šçº¿ç¨å®‰å…¨çš?
SANE_Handle hdev // 产生äºä»¶çš„设备å<EFBFBD>¥æŸ?
, int code // 回调事件代码
, void* data // 回调事件数据,根据事件代码有所不同,参照具体事件定义
, void* data // åžè°ƒäºä»¶æ•°æ<EFBFBD>®ï¼Œæ ¹æ<EFBFBD>®äºä»¶ä»£ç <EFBFBD>有所ä¸<EFBFBD>å<EFBFBD>Œï¼Œå<EFBFBD>照具体äºä»¶å®šä¹?
, unsigned int* len // 数据长度字节或者event_data的缓冲区长度详细请看相应的事件代码
, void* param // 用户自定义数据与调用sane_init_ex传入时的保持一致
) // 返回值依不同的事件代码而定通常为“0”
, void* param // 用户自定义数æ<EFBFBD>®ï¼Œä¸Žè°ƒç”¨sane_init_ex传入时的ä¿<EFBFBD>æŒ<EFBFBD>一è‡?
) // è¿”åžå€¼ä¾<EFBFBD>ä¸<EFBFBD>å<EFBFBD>Œçš„äºä»¶ä»£ç <EFBFBD>而定,通常为â€?â€?
{
std::lock_guard<std::mutex> lock(cb_lock_);
std::vector<SCNINST>::iterator it = std::find(g_scanner_instances.begin(), g_scanner_instances.end(), hdev);
@ -207,10 +207,10 @@ namespace callback
, {SANE_STD_OPT_NAME_FOLD_TYPE , OPTION_TITLE_DZMS}
, {SANE_STD_OPT_NAME_COLOR_CORRECTION , OPTION_TITLE_SPJZ}
},
g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // 黑白图像反色输出正常颜色为0-黑色1-白色)
, {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // 灰度或黑白图像 - 除色
g_discard[] = { {SANE_STD_OPT_NAME_REVERSE_01 , "\351\273\221\347\231\275\345\233\276\345\203\217\345\217\215\350\211\262\350\276\223\345\207\272\357\274\210\346\255\243\345\270\270\351\242\234\350\211\262\344\270\272\357\274\2320-\351\273\221\350\211\262\357\274\2331-\347\231\275\350\211\262\357\274\211"} // é»ç™½å¾åƒ<EFBFBD>å<EFBFBD><EFBFBD>色输出(正常颜色为ï¼?-黑色ï¼?-白色ï¼?
, {SANE_STD_OPT_NAME_FILTER , "\347\201\260\345\272\246\346\210\226\351\273\221\347\231\275\345\233\276\345\203\217 - \351\231\244\350\211\262"} // ç<EFBFBD>°åº¦æˆé»ç™½å¾åƒ?- 除色
, {SANE_STD_OPT_NAME_IS_AUTO_FEED_STRENGTH , "\350\207\252\345\212\250\346\220\223\347\272\270\345\274\272\345\272\246"} // 自动搓纸强度
, {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " 搓纸阈值"
, {SANE_STD_OPT_NAME_FEED_STRENGTH_VALUE , "\346\220\223\347\272\270\351\230\210\345\200\274"} // " æ<EFBFBD>“纸阈å€?
};
const char* option_title_2_name(const char* title)
{
@ -347,7 +347,7 @@ namespace callback
// SANE_EVENT_IMAGE_OK - void* unused, be NULL, flag - unused, be 0
static HMODULE hui = NULL;
int (*choose_scanner)(const std::vector<DEVQUEUI>& devs) = NULL; // blocked. return selected DEVQUE::id or -1 if user cancelled
char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当前配<EFBFBD>?
char* (*apply_current_config)(const char* dev_name, SANE_Handle device, LPSANEAPI api) = NULL; // 应用设备的当å‰<EFBFBD>é…<EFBFBD>ï¿?
int (*show_setting_ui)(SANE_Handle device, HWND parent, LPSANEAPI api, const char* devname, bool with_scan, std::function<void(ui_result)> callback) = NULL;
int (*show_progress_ui)(HWND parent, std::function<void(ui_result)> callback, std::function<void(int/*event*/, void*/*msg*/, int/*flag*/)>* notify) = NULL;
int (*show_messagebox_ui)(HWND parent, int event, void* msg, int flag) = NULL;
@ -996,6 +996,7 @@ int scanner::init_options_id(void)
INIT_FIXED_IDS(ROLLER_LIFE);
INIT_FIXED_IDS(DEVICE_MAC_ADDR);
INIT_FIXED_IDS(CUSTOM_GAMMA);
INIT_FIXED_IDS(MOTOR_VER);
while ((desc = hg_sane_middleware::instance()->get_option_descriptor(handle_, (const void*)op_id)))
{
@ -2724,6 +2725,7 @@ COM_API_IMPLEMENT(scanner, bool, get_option_info(int sn, value_type* type, value
SIMPLE_STR_INFO(SANE_OPT_ID_DRIVER_LOG, false);
SIMPLE_STR_INFO(SANE_OPT_ID_DEVICE_LOG, false);
SIMPLE_STR_INFO(SANE_OPT_ID_DEVICE_MAC_ADDR, true);
SIMPLE_STR_INFO(SANE_OPT_ID_MOTOR_VER, true);
SIMPLE_INT_INFO(SANE_OPT_ID_HELP, false);
SIMPLE_INT_INFO(SANE_OPT_ID_HISTORY_COUNT, true);
@ -3440,7 +3442,7 @@ int scanner::handle_device_event(int ev_code, void* data, unsigned int* len)
log_info(msg, 1);
}
}
//else if (ev_code == SANE_EVENT_ERROR) // 屏蔽,在停止扫描时展示信息 - 2023-05-30
//else if (ev_code == SANE_EVENT_ERROR) // å±<EFBFBD>蔽,在å<EFBFBD>œæ­¢æ‰«æ<EFBFBD><EFBFBD>时展示信æ<EFBFBD>?- 2023-05-30
//{
// if (callback::show_messagebox_ui && *len)
// {

View File

@ -3481,6 +3481,7 @@ void huagao_ds::init_support_caps_ex(void)
GET_ONLY_CAP(CO_TEL, std::string, Str255);
GET_ONLY_CAP(CO_ADDR, std::string, Str255);
GET_ONLY_CAP(CO_GPS, std::string, Str255);
GET_ONLY_CAP(MOTOR_VER, std::string, Str255);
GET_ONLY_CAP(DEV_NAME, std::string, Str255);
GET_ONLY_CAP(DEV_FAMILY, std::string, Str255);
GET_ONLY_CAP(VID, int, Int32);