Lines Matching defs:reg
42 dev.reg.clear();
45 dev.reg.init_reg(0x01, 0x00);
46 dev.reg.init_reg(0x02, 0x78);
47 dev.reg.init_reg(0x03, 0xbf);
48 dev.reg.init_reg(0x04, 0x22);
49 dev.reg.init_reg(0x05, 0x48);
51 dev.reg.init_reg(0x06, 0xb8);
53 dev.reg.init_reg(0x07, 0x00);
54 dev.reg.init_reg(0x08, 0x00);
55 dev.reg.init_reg(0x09, 0x00);
56 dev.reg.init_reg(0x0a, 0x00);
57 dev.reg.init_reg(0x0d, 0x01);
59 dev.reg.init_reg(0x01, 0x82);
60 dev.reg.init_reg(0x02, 0x10);
61 dev.reg.init_reg(0x03, 0x60);
62 dev.reg.init_reg(0x04, 0x10);
63 dev.reg.init_reg(0x05, 0x8c);
65 dev.reg.init_reg(0x06, 0x18);
67 //dev.reg.init_reg(0x07, 0x00);
68 dev.reg.init_reg(0x08, 0x00);
69 dev.reg.init_reg(0x09, 0x21);
70 dev.reg.init_reg(0x0a, 0x00);
71 dev.reg.init_reg(0x0d, 0x00);
74 dev.reg.init_reg(0x10, 0x00); // exposure, overwritten in scanner_setup_sensor() below
75 dev.reg.init_reg(0x11, 0x00); // exposure, overwritten in scanner_setup_sensor() below
76 dev.reg.init_reg(0x12, 0x00); // exposure, overwritten in scanner_setup_sensor() below
77 dev.reg.init_reg(0x13, 0x00); // exposure, overwritten in scanner_setup_sensor() below
78 dev.reg.init_reg(0x14, 0x00); // exposure, overwritten in scanner_setup_sensor() below
79 dev.reg.init_reg(0x15, 0x00); // exposure, overwritten in scanner_setup_sensor() below
82 dev.reg.init_reg(0x16, 0x00); // SENSOR_DEF
83 dev.reg.init_reg(0x17, 0x00); // SENSOR_DEF
84 dev.reg.init_reg(0x18, 0x00); // SENSOR_DEF
87 dev.reg.init_reg(0x19, 0x00); // SENSOR_DEF
90 dev.reg.init_reg(0x1a, 0x00); // SENSOR_DEF
92 dev.reg.init_reg(0x1b, 0x00); // SENSOR_DEF
94 dev.reg.init_reg(0x1c, 0x00); // SENSOR_DEF
95 dev.reg.init_reg(0x1d, 0x00); // SENSOR_DEF
96 dev.reg.init_reg(0x1e, 0x10); // WDTIME, LINESEL: setup during sensor and motor setup
99 dev.reg.init_reg(0x1f, 0x01);
100 dev.reg.init_reg(0x20, 0x27); // BUFSEL: buffer full condition
102 dev.reg.init_reg(0x1f, 0x02);
103 dev.reg.init_reg(0x20, 0x02); // BUFSEL: buffer full condition
106 dev.reg.init_reg(0x21, 0x10); // STEPNO: set during motor setup
107 dev.reg.init_reg(0x22, 0x10); // FWDSTEP: set during motor setup
108 dev.reg.init_reg(0x23, 0x10); // BWDSTEP: set during motor setup
109 dev.reg.init_reg(0x24, 0x10); // FASTNO: set during motor setup
110 dev.reg.init_reg(0x25, 0x00); // LINCNT: set during motor setup
111 dev.reg.init_reg(0x26, 0x00); // LINCNT: set during motor setup
112 dev.reg.init_reg(0x27, 0x00); // LINCNT: set during motor setup
114 dev.reg.init_reg(0x29, 0xff); // LAMPPWM
116 dev.reg.init_reg(0x2c, 0x02); // DPISET: set during sensor setup
117 dev.reg.init_reg(0x2d, 0x58); // DPISET: set during sensor setup
119 dev.reg.init_reg(0x2e, 0x80); // BWHI: black/white low threshdold
120 dev.reg.init_reg(0x2f, 0x80); // BWLOW: black/white low threshold
122 dev.reg.init_reg(0x30, 0x00); // STRPIXEL: set during sensor setup
123 dev.reg.init_reg(0x31, 0x49); // STRPIXEL: set during sensor setup
124 dev.reg.init_reg(0x32, 0x53); // ENDPIXEL: set during sensor setup
125 dev.reg.init_reg(0x33, 0xb9); // ENDPIXEL: set during sensor setup
127 dev.reg.init_reg(0x34, 0x13); // DUMMY: SENSOR_DEF
128 dev.reg.init_reg(0x35, 0x00); // MAXWD: set during scan setup
129 dev.reg.init_reg(0x36, 0x40); // MAXWD: set during scan setup
130 dev.reg.init_reg(0x37, 0x00); // MAXWD: set during scan setup
131 dev.reg.init_reg(0x38, 0x2a); // LPERIOD: SENSOR_DEF
132 dev.reg.init_reg(0x39, 0xf8); // LPERIOD: SENSOR_DEF
133 dev.reg.init_reg(0x3d, 0x00); // FEEDL: set during motor setup
134 dev.reg.init_reg(0x3e, 0x00); // FEEDL: set during motor setup
135 dev.reg.init_reg(0x3f, 0x01); // FEEDL: set during motor setup
137 dev.reg.init_reg(0x52, 0x00); // SENSOR_DEF
138 dev.reg.init_reg(0x53, 0x00); // SENSOR_DEF
139 dev.reg.init_reg(0x54, 0x00); // SENSOR_DEF
140 dev.reg.init_reg(0x55, 0x00); // SENSOR_DEF
141 dev.reg.init_reg(0x56, 0x00); // SENSOR_DEF
142 dev.reg.init_reg(0x57, 0x00); // SENSOR_DEF
143 dev.reg.init_reg(0x58, 0x00); // SENSOR_DEF
144 dev.reg.init_reg(0x59, 0x00); // SENSOR_DEF
145 dev.reg.init_reg(0x5a, 0x00); // SENSOR_DEF
148 dev.reg.init_reg(0x5e, 0x01); // DECSEL, STOPTIM
150 dev.reg.init_reg(0x5e, 0x41); // DECSEL, STOPTIM
151 dev.reg.init_reg(0x5d, 0x20);
153 dev.reg.init_reg(0x5f, 0x10); // FMOVDEC: set during motor setup
155 dev.reg.init_reg(0x60, 0x00); // Z1MOD: overwritten during motor setup
156 dev.reg.init_reg(0x61, 0x00); // Z1MOD: overwritten during motor setup
157 dev.reg.init_reg(0x62, 0x00); // Z1MOD: overwritten during motor setup
158 dev.reg.init_reg(0x63, 0x00); // Z2MOD: overwritten during motor setup
159 dev.reg.init_reg(0x64, 0x00); // Z2MOD: overwritten during motor setup
160 dev.reg.init_reg(0x65, 0x00); // Z2MOD: overwritten during motor setup
163 dev.reg.init_reg(0x67, 0x7f); // STEPSEL, MTRPWM: partially overwritten during motor setup
164 dev.reg.init_reg(0x68, 0x7f); // FSTPSEL, FASTPWM: partially overwritten during motor setup
166 dev.reg.init_reg(0x66, 0x00); // PHFREQ
167 dev.reg.init_reg(0x67, 0x40); // STEPSEL, MTRPWM: partially overwritten during motor setup
168 dev.reg.init_reg(0x68, 0x40); // FSTPSEL, FASTPWM: partially overwritten during motor setup
170 dev.reg.init_reg(0x69, 0x10); // FSHDEC: overwritten during motor setup
171 dev.reg.init_reg(0x6a, 0x10); // FMOVNO: overwritten during motor setup
175 dev.reg.init_reg(0x70, 0x00); // SENSOR_DEF
176 dev.reg.init_reg(0x71, 0x00); // SENSOR_DEF
177 dev.reg.init_reg(0x72, 0x00); // SENSOR_DEF
178 dev.reg.init_reg(0x73, 0x00); // SENSOR_DEF
179 dev.reg.init_reg(0x74, 0x00); // SENSOR_DEF
180 dev.reg.init_reg(0x75, 0x00); // SENSOR_DEF
181 dev.reg.init_reg(0x76, 0x00); // SENSOR_DEF
182 dev.reg.init_reg(0x77, 0x00); // SENSOR_DEF
183 dev.reg.init_reg(0x78, 0x00); // SENSOR_DEF
184 dev.reg.init_reg(0x79, 0x00); // SENSOR_DEF
185 dev.reg.init_reg(0x7a, 0x00); // SENSOR_DEF
186 dev.reg.init_reg(0x7b, 0x00); // SENSOR_DEF
187 dev.reg.init_reg(0x7c, 0x00); // SENSOR_DEF
188 dev.reg.init_reg(0x7d, 0x00); // SENSOR_DEF
192 dev.reg.init_reg(0x7f, 0x00); // SENSOR_DEF
196 dev.reg.init_reg(0x80, 0x00); // MOTOR_PROFILE
199 dev.reg.init_reg(0x81, 0x00);
200 dev.reg.init_reg(0x82, 0x00);
201 dev.reg.init_reg(0x83, 0x00);
202 dev.reg.init_reg(0x84, 0x00);
203 dev.reg.init_reg(0x85, 0x00);
204 dev.reg.init_reg(0x86, 0x00);
205 dev.reg.init_reg(0x87, 0x00);
207 dev.reg.init_reg(0x7e, 0x00);
208 dev.reg.init_reg(0x81, 0x00);
209 dev.reg.init_reg(0x82, 0x0f);
210 dev.reg.init_reg(0x83, 0x00);
211 dev.reg.init_reg(0x84, 0x0e);
212 dev.reg.init_reg(0x85, 0x00);
213 dev.reg.init_reg(0x86, 0x0d);
214 dev.reg.init_reg(0x87, 0x00);
215 dev.reg.init_reg(0x88, 0x00);
216 dev.reg.init_reg(0x89, 0x00);
220 sanei_genesys_set_dpihw(dev.reg, sensor.register_dpihw);
222 scanner_setup_sensor(dev, sensor, dev.reg);
242 for (const auto& reg : dev->frontend.regs) {
243 dev->interface->write_fe_register(reg.address, reg.value);
254 for (const auto& reg : sensor.custom_fe_regs) {
255 dev->interface->write_fe_register(reg.address, reg.value);
270 Genesys_Register_Set* reg,
294 reg->set24(REG_LINCNT, scan_lines);
296 reg->set8(REG_0x02, 0);
297 sanei_genesys_set_motor_power(*reg, true);
299 std::uint8_t reg02 = reg->get8(REG_0x02);
324 reg->set8(REG_0x02, reg02);
334 reg->set8(REG_STEPNO, scan_table.table.size() / step_multiplier);
335 reg->set8(REG_FASTNO, scan_table.table.size() / step_multiplier);
336 reg->set8(REG_FSHDEC, scan_table.table.size() / step_multiplier);
350 reg->set8(REG_FMOVNO, fast_table.table.size() / step_multiplier);
358 reg->set8(REG_0x80, vref);
379 reg->set24(REG_FEEDL, feedl);
396 reg->set24(REG_Z1MOD, z1);
397 reg->set24(REG_Z2MOD, z2);
399 reg->set8_mask(REG_0x1E, scan_dummy, 0x0f);
401 reg->set8_mask(REG_0x67, static_cast<unsigned>(motor_profile.step_type) << REG_0x67S_STEPSEL,
403 reg->set8_mask(REG_0x68, static_cast<unsigned>(fast_profile->step_type) << REG_0x68S_FSTPSEL,
407 reg->set8(REG_FMOVDEC, fast_table.table.size() / step_multiplier);
411 Genesys_Register_Set* reg, unsigned int exposure,
416 scanner_setup_sensor(*dev, sensor, *reg);
421 regs_set_optical_off(dev->model->asic_type, *reg);
426 reg->find_reg(REG_0x01).value &= ~REG_0x01_DVDSET;
429 reg->find_reg(REG_0x01).value |= REG_0x01_DVDSET;
435 reg->find_reg(REG_0x01).value |= REG_0x01_SHDAREA;
437 reg->find_reg(REG_0x01).value &= ~REG_0x01_SHDAREA;
441 reg->find_reg(REG_0x03).value |= REG_0x03_AVEENB;
443 reg->find_reg(REG_0x03).value &= ~REG_0x03_AVEENB;
448 sanei_genesys_set_lamp_power(dev, sensor, *reg,
452 reg->find_reg(REG_0x03).value &= ~REG_0x03_XPASEL;
454 reg->find_reg(REG_0x03).value |= REG_0x03_XPASEL;
456 reg->state.is_xpa_on = has_flag(session.params.flags, ScanFlag::USE_XPA);
459 reg->set8(REG_0x2E, 0x7f);
460 reg->set8(REG_0x2F, 0x7f);
463 std::uint8_t reg04 = reg->get8(REG_0x04);
498 reg->set8(REG_0x04, reg04);
503 sanei_genesys_set_dpihw(*reg, dpihw_sensor.register_dpihw);
506 reg->find_reg(REG_0x05).value |= REG_0x05_GMMENB;
508 reg->find_reg(REG_0x05).value &= ~REG_0x05_GMMENB;
511 reg->set16(REG_DPISET, sensor.register_dpiset);
513 reg->set16(REG_STRPIXEL, session.pixel_startx);
514 reg->set16(REG_ENDPIXEL, session.pixel_endx);
517 reg->set24(REG_MAXWD, session.output_line_bytes_raw * session.params.channels);
519 reg->set24(REG_MAXWD, session.output_line_bytes_raw);
523 reg->set16(REG_LPERIOD, exposure / tgtime);
525 reg->set8(REG_DUMMY, sensor.dummy_pixel);
529 Genesys_Register_Set* reg,
560 gl842_init_optical_regs_scan(dev, sensor, reg, exposure, session);
561 gl842_init_motor_regs_scan(dev, sensor, session, reg, motor_profile, exposure, slope_dpi,
672 Genesys_Register_Set* reg, bool start_motor) const
677 if (reg->state.is_xpa_on && reg->state.is_lamp_on &&
682 if (reg->state.is_xpa_on && !has_flag(dev->model->flags, ModelFlag::UTA_NO_SECONDARY_MOTOR)) {
683 dev->cmd_set->set_motor_mode(*dev, *reg, MotorMode::PRIMARY_AND_SECONDARY);
714 switch (reg->state.motor_mode) {
716 if (reg->state.is_motor_on) {
722 if (reg->state.is_motor_on) {
729 if (reg->state.is_motor_on) {
737 void CommandSetGl842::end_scan(Genesys_Device* dev, Genesys_Register_Set* reg,
742 if (reg->state.is_xpa_on) {
883 Genesys_Register_Set* reg) const
896 *reg = dev->reg;
927 init_regs_for_scan_session(dev, calib_sensor, reg, session);
929 sanei_genesys_set_motor_power(*reg, false);
935 apply_registers_ordered(dev->gpo.regs, { 0x6e, 0x6f }, [&](const GenesysRegisterSetting& reg)
937 dev->interface->write_register(reg.address, reg.value);
952 dev->interface->write_registers(dev->reg);
1017 if (dev->reg.get8(REG_0x01) & REG_0x01_SHDAREA) {