修复深色样张协议映射问题

This commit is contained in:
gb 2024-01-26 11:18:13 +08:00
parent 5531efa1c1
commit f4ac35d396
1 changed files with 23 additions and 20 deletions

View File

@ -2957,6 +2957,8 @@ void huagao_ds::init_support_caps(void)
log_attr_access((int)CapType::DoubleFeedDetection, (int)msg); log_attr_access((int)CapType::DoubleFeedDetection, (int)msg);
if (Msg::Set == msg) { if (Msg::Set == msg) {
auto val = data.currentItem<CapType::DoubleFeedDetection>(); auto val = data.currentItem<CapType::DoubleFeedDetection>();
auto type = data.itemType();
load_sane_util::to_log(1, L"DoubleFeedDetection parameter is %d\r\n", (int)type);
int ret = SCANNER_ERR_OK; int ret = SCANNER_ERR_OK;
bool enable = val == DoubleFeedDetection::Ultrasonic; bool enable = val == DoubleFeedDetection::Ultrasonic;
if (double_check_mode_ == DOUBLE_CHECK_ULTRASONIC) if (double_check_mode_ == DOUBLE_CHECK_ULTRASONIC)
@ -3053,26 +3055,26 @@ void huagao_ds::init_support_caps(void)
}; };
} }
if (SANE_ID(ex_is_paper_auto_crop) > 0) //if (SANE_ID(ex_is_paper_auto_crop) > 0)
{ //{
m_query[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = msgSupportGetAllSetReset; // m_query[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = msgSupportGetAllSetReset;
m_caps[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = [this](Msg msg, Capability& data)->Result { // m_caps[(CapType)(CapTypeEx::CAP_TYPE_EX_CROP_MODEL)] = [this](Msg msg, Capability& data)->Result {
log_attr_access((int)CapTypeEx::CAP_TYPE_EX_CROP_MODEL, (int)msg); // log_attr_access((int)CapTypeEx::CAP_TYPE_EX_CROP_MODEL, (int)msg);
std::vector<bool> all; // std::vector<bool> all;
GET_SANE_OPT_EX(bool, scanner_, ex_is_paper_auto_crop, NULL, &all); // GET_SANE_OPT_EX(bool, scanner_, ex_is_paper_auto_crop, NULL, &all);
if (Msg::Set == msg || Msg::Reset == msg) // if (Msg::Set == msg || Msg::Reset == msg)
{ // {
bool def = all[sane_opts::RANGE_POS_DEFAULT]; // bool def = all[sane_opts::RANGE_POS_DEFAULT];
if (Msg::Set == msg) // if (Msg::Set == msg)
def = data.currentItem<BYTE>() == 1; // def = data.currentItem<BYTE>() == 1;
int ret = SCANNER_ERR_OK; // int ret = SCANNER_ERR_OK;
SET_SANE_OPT_EX(ret, scanner_, ex_is_paper_auto_crop, &def); // SET_SANE_OPT_EX(ret, scanner_, ex_is_paper_auto_crop, &def);
return ret == SCANNER_ERR_OK ? success() : badValue(); // return ret == SCANNER_ERR_OK ? success() : badValue();
} // }
BYTE crop = all[sane_opts::RANGE_POS_CURRENT]; // BYTE crop = all[sane_opts::RANGE_POS_CURRENT];
return CapSupGetAll<BYTE, bool, CapType::IAutomaticCropUsesFrame>(msg, data, crop, all[sane_opts::RANGE_POS_DEFAULT]); // return CapSupGetAll<BYTE, bool, CapType::IAutomaticCropUsesFrame>(msg, data, crop, all[sane_opts::RANGE_POS_DEFAULT]);
}; // };
} //}
if (SANE_ID(ex_multiout_type) > 0) if (SANE_ID(ex_multiout_type) > 0)
{ {
@ -3303,6 +3305,7 @@ void huagao_ds::init_support_caps(void)
SET_EXISTING_EXTENSION(ANTI_NOISE_LEVEL, CapTypeEx::CAP_TYPE_EX_ANTI_NOISE); SET_EXISTING_EXTENSION(ANTI_NOISE_LEVEL, CapTypeEx::CAP_TYPE_EX_ANTI_NOISE);
SET_EXISTING_EXTENSION(THRESHOLD, CapTypeEx::CAP_TYPE_EX_THRESHOLD); SET_EXISTING_EXTENSION(THRESHOLD, CapTypeEx::CAP_TYPE_EX_THRESHOLD);
//SET_EXISTING_EXTENSION(RID_HOLE, CapTypeEx::CAP_TYPE_EX_FILL_HOLE); //SET_EXISTING_EXTENSION(RID_HOLE, CapTypeEx::CAP_TYPE_EX_FILL_HOLE);
SET_EXISTING_EXTENSION(DARK_SAMPLE, CapTypeEx::CAP_TYPE_EX_CROP_MODEL);
SET_EXISTING_EXTENSION(NOISE_OPTIMIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE); SET_EXISTING_EXTENSION(NOISE_OPTIMIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE);
SET_EXISTING_EXTENSION(NOISE_SIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE_THRESHOLD); SET_EXISTING_EXTENSION(NOISE_SIZE, CapTypeEx::CAP_TYPE_EX_DETACH_NOISE_THRESHOLD);
SET_EXISTING_EXTENSION(RID_MULTIOUT_RED, CapTypeEx::CAP_TYPE_EX_RID_RED); SET_EXISTING_EXTENSION(RID_MULTIOUT_RED, CapTypeEx::CAP_TYPE_EX_RID_RED);