diff --git a/hgdriver/hgdev/hg_scanner_300.cpp b/hgdriver/hgdev/hg_scanner_300.cpp index 9ac8507..fbb6f26 100644 --- a/hgdriver/hgdev/hg_scanner_300.cpp +++ b/hgdriver/hgdev/hg_scanner_300.cpp @@ -70,11 +70,13 @@ hg_scanner_300::hg_scanner_300(const char* dev_name,int pid, usb_io* io) : hg_sc { pid_ = pid; string fw = get_firmware_version(); - - if (atoi(fw.substr(4, 9).c_str()) >= 221106) - is_kernelsnap3288_221106_ = true; - else - is_kernelsnap3288_221106_ = false; + if (fw.size() > 0) + { + if (atoi(fw.substr(6, 4).c_str()) >= 1106) + is_kernelsnap3288_221106_ = true; + else + is_kernelsnap3288_221106_ = false; + } initdevice(); #ifndef MAPPING_FUNCTION_IN_BASE init_setting_map(setting_map_, ARRAY_SIZE(setting_map_));//优先初始化