brother_mfp: corrections for ADF cap flags and model definitions.

brother_mfp_backend
Ralph Little 2022-11-20 08:29:24 -08:00
rodzic cc4ad6be99
commit ceb7342877
3 zmienionych plików z 48 dodań i 44 usunięć

Wyświetl plik

@ -284,7 +284,9 @@ DecodeStatus BrotherEncoderFamily2::EncodeSourceSelectBlock (SANE_Byte *data, si
*length = snprintf ((char*) data, *length = snprintf ((char*) data,
data_len, data_len,
"\x1b" "S\n%s\n" "\x80", "\x1b" "S\n%s\n" "\x80",
scan_params.param_source == BROTHER_SOURCE_FLATBED ? "FB" : "ADF"); scan_params.param_source == BROTHER_SOURCE_AUTO ?
"AUTO" :
(scan_params.param_source == BROTHER_SOURCE_FLATBED ? "FB" : "ADF"));
if (*length > data_len) if (*length > data_len)
{ {
@ -956,7 +958,9 @@ DecodeStatus BrotherEncoderFamily3::EncodeSourceSelectBlock (SANE_Byte *data, si
*length = snprintf ((char*) data, *length = snprintf ((char*) data,
data_len, data_len,
"\x1b" "S\n%s\n" "\x80", "\x1b" "S\n%s\n" "\x80",
scan_params.param_source == BROTHER_SOURCE_FLATBED ? "FB" : "ADF"); scan_params.param_source == BROTHER_SOURCE_AUTO ?
"AUTO" :
(scan_params.param_source == BROTHER_SOURCE_FLATBED ? "FB" : "ADF"));
if (*length > data_len) if (*length > data_len)
{ {
@ -1746,7 +1750,9 @@ DecodeStatus BrotherEncoderFamily4::EncodeSourceSelectBlock (SANE_Byte *data, si
*length = snprintf ((char*) data, *length = snprintf ((char*) data,
data_len, data_len,
"\x1b" "S\n%s\n" "\x80", "\x1b" "S\n%s\n" "\x80",
scan_params.param_source == BROTHER_SOURCE_FLATBED ? "FB" : "ADF"); scan_params.param_source == BROTHER_SOURCE_AUTO ?
"AUTO" :
(scan_params.param_source == BROTHER_SOURCE_FLATBED ? "FB" : "ADF"));
if (*length > data_len) if (*length > data_len)
{ {

Wyświetl plik

@ -86,6 +86,7 @@ typedef enum
typedef enum typedef enum
{ {
BROTHER_SOURCE_AUTO,
BROTHER_SOURCE_FLATBED, BROTHER_SOURCE_FLATBED,
BROTHER_SOURCE_ADF, BROTHER_SOURCE_ADF,
BROTHER_SOURCE_ADF_DUPLEX, BROTHER_SOURCE_ADF_DUPLEX,

Wyświetl plik

@ -208,39 +208,38 @@ static Brother_Model models[] =
CAP_ENCODING_HAS_JPEG | CAP_ENCODING_HAS_JPEG |
CAP_SOURCE_HAS_FLATBED}, CAP_SOURCE_HAS_FLATBED},
{ "Brother", "MFC-J4620DW", BROTHER_FAMILY_4, 0x04f9, 0x0340, { "Brother", "MFC-J4620DW", BROTHER_FAMILY_4, 0x04f9, 0x0340,
{ 0, SANE_FIX(211.881), 0 }, { 0, SANE_FIX(211.881), 0 },
{ 0, SANE_FIX(355.567), 0 }, { 0, SANE_FIX(355.567), 0 },
{ 6, 100, 150, 200, 300, 600, 1200 }, { 6, 100, 150, 200, 300, 600, 1200 },
{ 7, 100, 150, 200, 300, 600, 1200, 2400 }, { 7, 100, 150, 200, 300, 600, 1200, 2400 },
CAP_MODE_COLOUR | CAP_MODE_COLOUR |
CAP_MODE_GRAY | CAP_MODE_GRAY |
CAP_MODE_GRAY_DITHER | CAP_MODE_GRAY_DITHER |
CAP_MODE_BW | CAP_MODE_BW |
CAP_SOURCE_HAS_FLATBED | CAP_SOURCE_HAS_FLATBED |
CAP_SOURCE_HAS_ADF | CAP_SOURCE_HAS_ADF |
CAP_BUTTON_HAS_SCAN_EMAIL | CAP_BUTTON_HAS_SCAN_EMAIL |
CAP_BUTTON_HAS_SCAN_FILE | CAP_BUTTON_HAS_SCAN_FILE |
CAP_BUTTON_HAS_SCAN_OCR | CAP_BUTTON_HAS_SCAN_OCR |
CAP_BUTTON_HAS_SCAN_IMAGE | CAP_BUTTON_HAS_SCAN_IMAGE |
CAP_ENCODING_HAS_JPEG }, CAP_ENCODING_HAS_JPEG },
{ "Brother", "ADS-2800W", BROTHER_FAMILY_4, 0x04f9, 0x0340, { "Brother", "ADS-2800W", BROTHER_FAMILY_4, 0x04f9, 0x03b9,
{ 0, SANE_FIX(215.000), 0 }, { 0, SANE_FIX(215.000), 0 },
{ 0, SANE_FIX(355.000), 0 }, { 0, SANE_FIX(355.000), 0 },
{ 6, 100, 150, 200, 300, 600 }, { 6, 100, 150, 200, 300, 600 },
{ 6, 100, 150, 200, 300, 600 }, { 6, 100, 150, 200, 300, 600 },
CAP_MODE_COLOUR | CAP_MODE_COLOUR |
CAP_MODE_GRAY | CAP_MODE_GRAY |
CAP_MODE_GRAY_DITHER | CAP_MODE_GRAY_DITHER |
CAP_MODE_BW | CAP_MODE_BW |
CAP_SOURCE_HAS_FLATBED | CAP_SOURCE_HAS_ADF |
CAP_SOURCE_HAS_ADF | CAP_BUTTON_HAS_SCAN_EMAIL |
CAP_BUTTON_HAS_SCAN_EMAIL | CAP_BUTTON_HAS_SCAN_FILE |
CAP_BUTTON_HAS_SCAN_FILE | CAP_BUTTON_HAS_SCAN_OCR |
CAP_BUTTON_HAS_SCAN_OCR | CAP_BUTTON_HAS_SCAN_IMAGE |
CAP_BUTTON_HAS_SCAN_IMAGE | CAP_ENCODING_HAS_JPEG },
CAP_ENCODING_HAS_JPEG },
{NULL, NULL, BROTHER_FAMILY_NONE, 0, 0, {0, 0, 0}, {0, 0, 0}, {0}, {0}, 0} {NULL, NULL, BROTHER_FAMILY_NONE, 0, 0, {0, 0, 0}, {0, 0, 0}, {0}, {0}, 0}
}; };
@ -410,17 +409,15 @@ attach_with_ret (const char *devicename, BrotherDevice **dev)
{ {
device->sources[num_sources++] = SANE_VALUE_SOURCE_FLATBED; device->sources[num_sources++] = SANE_VALUE_SOURCE_FLATBED;
} }
if (model->capabilities & CAP_SOURCE_HAS_ADF) if (model->capabilities & CAP_SOURCE_HAS_ADF)
{ {
if (model->capabilities & CAP_SOURCE_HAS_ADF_DUPLEX) device->sources[num_sources++] = SANE_VALUE_SOURCE_ADF;
{ }
device->sources[num_sources++] = SANE_VALUE_SOURCE_ADF_SIMPLEX; else if (model->capabilities & CAP_SOURCE_HAS_ADF_DUPLEX)
device->sources[num_sources++] = SANE_VALUE_SOURCE_ADF_DUPLEX; {
} device->sources[num_sources++] = SANE_VALUE_SOURCE_ADF_SIMPLEX;
else device->sources[num_sources++] = SANE_VALUE_SOURCE_ADF_DUPLEX;
{
device->sources[num_sources++] = SANE_VALUE_SOURCE_ADF;
}
} }
++num_devices; ++num_devices;