-
Notifications
You must be signed in to change notification settings - Fork 1
GL124
Memory layout is configured in gl124_init_memory_layout() in genesys_gl124.c, where registers d0, d1, d2, and e0 to f7 are set. The layouts used are defined in Memory_layout layouts[] in genesys_gl124.h They are copy of the values found in the decoded logs.
GPIO are configured in gl124_init_gpio() in genesys_gl124.c, where registers 31 to 38 are set. The values used are defined in Gpio_layout gpios[] in genesys_gl124.h They are copy of the values found in the decoded logs for a low resolution scan, typically 300 dpi since motor for these models doesn't allow o lower resolution.
During scan at higher resolution, the needed bit in GPIO are toggled in the gl124_setup_scan_gpio() function.
There is a table of registers dedicated to sensor in genesys_gl124.h . They are identified by the base resolution of the sensor and the sensor id. It is searched by get_sensor_profile() in genesys_gl124.c . Values are extracted from the USB log. The "half ccd" flag is for mode where sensor timings are such that effective resolution is the half of the hardware dpi set.