Canon LiDE 100/200 support improvments

- add 100, 200 and 400 DPI resolutions
- disable true since it isn't working yet
- man page update
merge-requests/1/head
Stphane Voltz 2010-06-18 06:42:44 +02:00
rodzic d97638a107
commit 198eda5cdc
4 zmienionych plików z 54 dodań i 40 usunięć

Wyświetl plik

@ -55,7 +55,7 @@
#include "../include/sane/config.h"
#define BUILD 16
#define BUILD 17
#include <errno.h>
#include <string.h>
@ -6156,7 +6156,8 @@ init_options (Genesys_Scanner * s)
("When using gray or lineart this option selects the used color.");
s->opt[OPT_COLOR_FILTER].type = SANE_TYPE_STRING;
s->opt[OPT_COLOR_FILTER].constraint_type = SANE_CONSTRAINT_STRING_LIST;
if(!model->is_cis)
/* true gray not yet supported for GL847 scanners */
if(!model->is_cis || model->asic_type==GENESYS_GL847)
{
s->opt[OPT_COLOR_FILTER].size = max_string_size (color_filter_list);
s->opt[OPT_COLOR_FILTER].constraint.string_list = color_filter_list;

Wyświetl plik

@ -786,8 +786,8 @@ static Genesys_Motor Motor[] = {
1, /* maximum power modes count */
{ /* motor slopes */
{ /* power mode 0 */
{ 3700, 1017, 127, 0.50}, /* full step */
{ 3700, 1017, 127, 0.50}, /* half step */
{ 3000, 1000, 127, 0.50}, /* full step */
{ 3000, 1500, 127, 0.50}, /* half step */
{ 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */
},
},
@ -799,8 +799,8 @@ static Genesys_Motor Motor[] = {
1,
{ /* motor slopes */
{ /* power mode 0 */
{ 3700, 1017, 127, 0.50}, /* full step */
{ 3700, 1017, 127, 0.50}, /* half step */
{ 3000, 1000, 127, 0.50}, /* full step */
{ 3000, 1500, 127, 0.50}, /* half step */
{ 3*2712, 3*2712, 16, 0.80}, /* quarter step 0.75*2712 */
},
},
@ -922,8 +922,8 @@ static Genesys_Model canon_lide_100_model = {
GENESYS_GL847,
NULL,
{1200, 600, 300, 150, 75, 0}, /* possible x-resolutions 400 & 100 dpi are ok too */
{1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */
{1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions 400 & 100 dpi are ok too */
{1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */
{16, 8, 0}, /* possible depths in gray mode */
{16, 8, 0}, /* possible depths in color mode */
@ -975,8 +975,8 @@ static Genesys_Model canon_lide_200_model = {
GENESYS_GL847,
NULL,
{1200, 600, 300, 150, 75, 0}, /* possible x-resolutions */
{1200, 600, 300, 150, 75, 0}, /* possible y-resolutions */
{1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible x-resolutions */
{1200, 600, 400, 300, 200, 150, 100, 75, 0}, /* possible y-resolutions */
{16, 8, 0}, /* possible depths in gray mode */
{16, 8, 0}, /* possible depths in color mode */
@ -1164,7 +1164,7 @@ Genesys_Model hp2400c_model = {
0, 24, 48, /* RGB CCD Line-distance correction in pixel */
COLOR_ORDER_BGR, /* Order of the CCD/CIS colors */
COLOR_ORDER_RGB, /* Order of the CCD/CIS colors */
SANE_FALSE, /* Is this a CIS scanner? */
SANE_FALSE, /* Is this a sheetfed scanner? */

Wyświetl plik

@ -1838,13 +1838,20 @@ independent of our calculated values:
slope_dpi = slope_dpi * (1 + dummy);
/* scan_step_type */
if (yres * 4 <= dev->motor.base_ydpi || dev->motor.max_step_type <= 0)
scan_step_type = 0;
else if (yres * 4 <= dev->motor.base_ydpi * 2
|| dev->motor.max_step_type <= 1)
scan_step_type = 1;
else
scan_step_type = 2;
switch((int)yres)
{
case 75:
case 100:
case 150:
scan_step_type = 0;
break;
case 200:
case 300:
scan_step_type = 1;
break;
default:
scan_step_type = 2;
}
/* exposure_time , CCD case not handled */
led_exposure = gl847_get_led_exposure (dev);
@ -1855,7 +1862,6 @@ independent of our calculated values:
else
pixels_exposure=0;
exposure_time = sanei_genesys_exposure_time2 (dev,
slope_dpi,
scan_step_type,
@ -2245,17 +2251,21 @@ dummy \ scanned lines
slope_dpi = slope_dpi * (1 + dummy);
/* scan_step_type */
/* Try to do at least 4 steps per line. if that is impossible we will have to
live with that
*/
if (yres * 4 < dev->motor.base_ydpi || dev->motor.max_step_type <= 0)
scan_step_type = 0;
else if (yres * 4 < dev->motor.base_ydpi * 2
|| dev->motor.max_step_type <= 1)
scan_step_type = 1;
else
scan_step_type = 2;
/* scan_step_type */
switch((int)yres)
{
case 75:
case 100:
case 150:
scan_step_type = 0;
break;
case 200:
case 300:
scan_step_type = 1;
break;
default:
scan_step_type = 2;
}
led_exposure = gl847_get_led_exposure (dev);
@ -3464,7 +3474,7 @@ gl847_init_regs_for_scan (Genesys_Device * dev)
DBG (DBG_info, "gl847_init_regs_for_scan: move=%f steps\n", move);
/* at high res we do fast move to scan area */
if(dev->settings.xres>300)
if(dev->settings.xres>150)
{
status = gl847_feed (dev, move);
if (status != SANE_STATUS_GOOD)

Wyświetl plik

@ -1,12 +1,12 @@
.TH "sane\-genesys" "5" "6 Oct 2009" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.TH "sane\-genesys" "5" "18 Jun 2010" "@PACKAGEVERSION@" "SANE Scanner Access Now Easy"
.IX sane\-genesys
.SH "NAME"
sane\-genesys \- SANE backend for GL646 and GL841 based USB flatbed scanners
sane\-genesys \- SANE backend for GL646, GL841 and GL847 based USB flatbed scanners
.SH "DESCRIPTION"
The
.B sane\-genesys
library implements a SANE (Scanner Access Now Easy) backend that provides
access to USB flatbed scanners based on the Genesys GL646 and GL841 chips.
access to USB flatbed scanners based on the Genesys GL646, GL841 and GL847 chips.
At present, the following scanners are known to work with this backend:
.PP
.RS
@ -14,15 +14,15 @@ Medion MD5345/MD6228/MD6274
.br
Visioneer OneTouch 7100
.br
Hewlett-Packard HP2300C
Hewlett-Packard HP2300C/HP3670
.br
Visioneer Strobe XP100 (rev3)/XP200/XP300/Roadwarrior
.br
Canon LiDE 35/40/50/60
Canon LiDE 35/40/50/60/100/200
.br
Pentax DSmobile 600
.br
Syscan/Ambir DocketPORT 485/487/665/685
Syscan/Ambir DocketPORT 467/485/487/665/685
.br
Xerox Travel Scanner 100
.RE
@ -40,8 +40,8 @@ the USB vendor and device ids (e.g. from
or syslog) to the sane\-devel mailing list. Even if the scanner's name is only
slightly different from the models mentioned above, please let me know.
.PP
If you own a scanner that isn't detected by the genesys backend but has a GL646
or GL841 chipset, you can try to add it to the backend.
If you own a scanner that isn't detected by the genesys backend but has a GL646,
GL847 or GL847 chipset, you can try to add it to the backend.
.PP
.SH "CALIBRATION"
To give correct image quality, sheet fed scanners need to be calibrated using the
@ -137,6 +137,10 @@ part.
.B SANE_DEBUG_GENESYS_GL841
This environment variable controls the debug level for the specific GL841 code
part.
.TP
.B SANE_DEBUG_GENESYS_GL847
This environment variable controls the debug level for the specific GL841 code
part.
Example (full and highly verbose output for gl646):
@ -178,4 +182,3 @@ Powersaving isn't implemented for gl646 based scanner.
.SH "BUGS"
Currently no known bug.
.PP