Lines Matching full:dev
45 static void config_ccd_101x (Mustek_pp_Handle * dev);
46 static void config_ccd (Mustek_pp_Handle * dev);
47 static void lamp (Mustek_pp_Handle * dev, int lamp_on);
80 static void set_ccd_channel_1013 (Mustek_pp_Handle * dev, int channel);
81 static void motor_backward_1013 (Mustek_pp_Handle * dev);
82 static void return_home_1013 (Mustek_pp_Handle * dev);
83 static void motor_forward_1013 (Mustek_pp_Handle * dev);
84 static void config_ccd_1013 (Mustek_pp_Handle * dev);
86 static void set_ccd_channel_1015 (Mustek_pp_Handle * dev, int channel);
87 /* static void motor_backward_1015 (Mustek_pp_Handle * dev); */
88 static void return_home_1015 (Mustek_pp_Handle * dev, SANE_Bool nowait);
89 static void motor_forward_1015 (Mustek_pp_Handle * dev);
90 static void config_ccd_1015 (Mustek_pp_Handle * dev);
96 set_led (Mustek_pp_Handle * dev) in set_led() argument
98 mustek_pp_ccd300_priv *priv = dev->priv; in set_led()
100 sanei_pa4s2_writebyte (dev->fd, 6, in set_led()
106 set_sti (Mustek_pp_Handle * dev) in set_sti() argument
108 mustek_pp_ccd300_priv *priv = dev->priv; in set_sti()
110 sanei_pa4s2_writebyte (dev->fd, 3, 0); in set_sti()
117 get_bank_count (Mustek_pp_Handle * dev) in get_bank_count() argument
120 mustek_pp_ccd300_priv *priv = dev->priv; in get_bank_count()
122 sanei_pa4s2_readbegin (dev->fd, 3); in get_bank_count()
123 sanei_pa4s2_readbyte (dev->fd, &val); in get_bank_count()
124 sanei_pa4s2_readend (dev->fd); in get_bank_count()
131 reset_bank_count (Mustek_pp_Handle * dev) in reset_bank_count() argument
133 sanei_pa4s2_writebyte (dev->fd, 6, 7); in reset_bank_count()
137 wait_bank_change (Mustek_pp_Handle * dev, int bankcount, int niceload) in wait_bank_change() argument
141 mustek_pp_ccd300_priv *priv = dev->priv; in wait_bank_change()
153 get_bank_count (dev); in wait_bank_change()
165 set_dpi_value (Mustek_pp_Handle * dev) in set_dpi_value() argument
168 mustek_pp_ccd300_priv *priv = dev->priv; in set_dpi_value()
170 sanei_pa4s2_writebyte (dev->fd, 6, 0x80); in set_dpi_value()
189 sanei_pa4s2_writebyte (dev->fd, 5, val); in set_dpi_value()
191 sanei_pa4s2_writebyte (dev->fd, 6, 0x00); in set_dpi_value()
198 set_line_adjust (Mustek_pp_Handle * dev) in set_line_adjust() argument
201 mustek_pp_ccd300_priv *priv = dev->priv; in set_line_adjust()
203 adjustline = (dev->bottomX - dev->topX) * priv->hwres / 300; in set_line_adjust()
207 dev->params.pixels_per_line, (dev->bottomX - dev->topX), adjustline, in set_line_adjust()
211 sanei_pa4s2_writebyte (dev->fd, 6, 0x11); in set_line_adjust()
212 sanei_pa4s2_writebyte (dev->fd, 5, (adjustline + priv->adjustskip) >> 8); in set_line_adjust()
213 sanei_pa4s2_writebyte (dev->fd, 6, 0x21); in set_line_adjust()
214 sanei_pa4s2_writebyte (dev->fd, 5, (adjustline + priv->adjustskip) & 0xFF); in set_line_adjust()
216 sanei_pa4s2_writebyte (dev->fd, 6, 0x01); in set_line_adjust()
221 set_lamp (Mustek_pp_Handle * dev, int lamp_on) in set_lamp() argument
225 mustek_pp_ccd300_priv *priv = dev->priv; in set_lamp()
227 sanei_pa4s2_writebyte (dev->fd, 6, 0xC3); in set_lamp()
231 sanei_pa4s2_writebyte (dev->fd, 6, (lamp_on ? 0x47 : 0x57)); in set_lamp()
232 sanei_pa4s2_writebyte (dev->fd, 6, 0x77); in set_lamp()
237 set_led (dev); in set_lamp()
242 send_voltages (Mustek_pp_Handle * dev) in send_voltages() argument
246 mustek_pp_ccd300_priv *priv = dev->priv; in send_voltages()
265 sanei_pa4s2_writebyte (dev->fd, 6, sel); in send_voltages()
266 sanei_pa4s2_writebyte (dev->fd, 5, voltages[voltage][ctr]); in send_voltages()
270 sanei_pa4s2_writebyte (dev->fd, 6, 0x00); in send_voltages()
282 set_ccd_channel_101x (Mustek_pp_Handle * dev, int channel) in set_ccd_channel_101x() argument
284 mustek_pp_ccd300_priv *priv = dev->priv; in set_ccd_channel_101x()
288 set_ccd_channel_1013 (dev, channel); in set_ccd_channel_101x()
292 set_ccd_channel_1015 (dev, channel); in set_ccd_channel_101x()
298 motor_forward_101x (Mustek_pp_Handle * dev) in motor_forward_101x() argument
300 mustek_pp_ccd300_priv *priv = dev->priv; in motor_forward_101x()
304 motor_forward_1013 (dev); in motor_forward_101x()
308 motor_forward_1015 (dev); in motor_forward_101x()
314 motor_backward_101x (Mustek_pp_Handle * dev) in motor_backward_101x() argument
316 mustek_pp_ccd300_priv *priv = dev->priv; in motor_backward_101x()
320 motor_backward_1013 (dev); in motor_backward_101x()
324 /* motor_backward_1015 (dev); */ in motor_backward_101x()
330 move_motor_101x (Mustek_pp_Handle * dev, int forward) in move_motor_101x() argument
332 mustek_pp_ccd300_priv *priv = dev->priv; in move_motor_101x()
334 motor_forward_101x (dev); in move_motor_101x()
336 motor_backward_101x (dev); in move_motor_101x()
338 wait_bank_change (dev, priv->bank_count, 1); in move_motor_101x()
339 reset_bank_count (dev); in move_motor_101x()
344 config_ccd_101x (Mustek_pp_Handle * dev) in config_ccd_101x() argument
346 mustek_pp_ccd300_priv *priv = dev->priv; in config_ccd_101x()
350 config_ccd_1013 (dev); in config_ccd_101x()
354 config_ccd_1015 (dev); in config_ccd_101x()
362 read_line_101x (Mustek_pp_Handle * dev, SANE_Byte * buf, SANE_Int pixel, in read_line_101x() argument
368 mustek_pp_ccd300_priv *priv = dev->priv; in read_line_101x()
374 sanei_pa4s2_readbegin (dev->fd, 1); in read_line_101x()
377 if (priv->hwres == dev->res) in read_line_101x()
381 sanei_pa4s2_readbyte (dev->fd, &color); in read_line_101x()
386 sanei_pa4s2_readbyte (dev->fd, &color); in read_line_101x()
420 sanei_pa4s2_readbyte (dev->fd, &color); in read_line_101x()
427 sanei_pa4s2_readbyte (dev->fd, &color); in read_line_101x()
467 sanei_pa4s2_readend (dev->fd); in read_line_101x()
472 read_average_line_101x (Mustek_pp_Handle * dev, SANE_Byte * buf, int pixel, in read_average_line_101x() argument
478 mustek_pp_ccd300_priv *priv = dev->priv; in read_average_line_101x()
483 wait_bank_change (dev, priv->bank_count, 1); in read_average_line_101x()
484 read_line_101x (dev, lbuf[ctr], pixel, RefBlack, NULL, NULL); in read_average_line_101x()
485 reset_bank_count (dev); in read_average_line_101x()
487 set_sti (dev); in read_average_line_101x()
503 find_black_side_edge_101x (Mustek_pp_Handle * dev) in find_black_side_edge_101x() argument
508 mustek_pp_ccd300_priv *priv = dev->priv; in find_black_side_edge_101x()
514 motor_forward_101x (dev); in find_black_side_edge_101x()
515 wait_bank_change (dev, priv->bank_count, 1); in find_black_side_edge_101x()
516 read_line_101x (dev, buf, CCD300_MAXHSIZE, 0, NULL, NULL); in find_black_side_edge_101x()
517 reset_bank_count (dev); in find_black_side_edge_101x()
550 min_color_levels_101x (Mustek_pp_Handle * dev) in min_color_levels_101x() argument
555 mustek_pp_ccd300_priv *priv = dev->priv; in min_color_levels_101x()
560 set_ccd_channel_101x (dev, CCD300_CHANNEL_RED); in min_color_levels_101x()
561 set_sti (dev); in min_color_levels_101x()
562 wait_bank_change (dev, priv->bank_count, 1); in min_color_levels_101x()
564 read_line_101x (dev, buf, CCD300_MAXHSIZE, 0, NULL, NULL); in min_color_levels_101x()
566 reset_bank_count (dev); in min_color_levels_101x()
579 set_ccd_channel_101x (dev, CCD300_CHANNEL_GREEN); in min_color_levels_101x()
580 set_sti (dev); in min_color_levels_101x()
581 wait_bank_change (dev, priv->bank_count, 1); in min_color_levels_101x()
583 read_line_101x (dev, buf, CCD300_MAXHSIZE, 0, NULL, NULL); in min_color_levels_101x()
585 reset_bank_count (dev); in min_color_levels_101x()
598 set_ccd_channel_101x (dev, CCD300_CHANNEL_BLUE); in min_color_levels_101x()
599 set_sti (dev); in min_color_levels_101x()
600 wait_bank_change (dev, priv->bank_count, 1); in min_color_levels_101x()
602 read_line_101x (dev, buf, CCD300_MAXHSIZE, 0, NULL, NULL); in min_color_levels_101x()
604 reset_bank_count (dev); in min_color_levels_101x()
616 max_color_levels_101x (Mustek_pp_Handle * dev) in max_color_levels_101x() argument
623 mustek_pp_ccd300_priv *priv = dev->priv; in max_color_levels_101x()
630 if (dev->mode == MODE_COLOR) in max_color_levels_101x()
633 set_ccd_channel_101x (dev, CCD300_CHANNEL_RED); in max_color_levels_101x()
634 motor_forward_101x (dev); in max_color_levels_101x()
636 read_average_line_101x (dev, rbuf[ctr], dev->params.pixels_per_line, in max_color_levels_101x()
639 set_ccd_channel_101x (dev, CCD300_CHANNEL_GREEN); in max_color_levels_101x()
640 set_sti (dev); in max_color_levels_101x()
642 read_average_line_101x (dev, gbuf[ctr], dev->params.pixels_per_line, in max_color_levels_101x()
645 set_ccd_channel_101x (dev, CCD300_CHANNEL_BLUE); in max_color_levels_101x()
646 set_sti (dev); in max_color_levels_101x()
648 read_average_line_101x (dev, bbuf[ctr], dev->params.pixels_per_line, in max_color_levels_101x()
657 motor_forward_101x (dev); in max_color_levels_101x()
659 read_average_line_101x (dev, gbuf[ctr], dev->params.pixels_per_line, in max_color_levels_101x()
667 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in max_color_levels_101x()
680 if (dev->mode == MODE_COLOR) in max_color_levels_101x()
683 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in max_color_levels_101x()
696 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in max_color_levels_101x()
714 find_black_top_edge_101x (Mustek_pp_Handle * dev) in find_black_top_edge_101x() argument
719 mustek_pp_ccd300_priv *priv = dev->priv; in find_black_top_edge_101x()
726 motor_forward_101x (dev); in find_black_top_edge_101x()
727 wait_bank_change (dev, priv->bank_count, 1); in find_black_top_edge_101x()
729 read_line_101x (dev, buf, CCD300_MAXHSIZE, priv->ref_black, NULL, NULL); in find_black_top_edge_101x()
731 reset_bank_count (dev); in find_black_top_edge_101x()
745 calibrate_device_101x (Mustek_pp_Handle * dev) in calibrate_device_101x() argument
748 int saved_ppl = dev->params.pixels_per_line, ctr; in calibrate_device_101x()
749 mustek_pp_ccd300_priv *priv = dev->priv; in calibrate_device_101x()
751 priv->saved_mode = dev->mode; in calibrate_device_101x()
752 priv->saved_invert = dev->invert; in calibrate_device_101x()
756 priv->saved_res = dev->res; in calibrate_device_101x()
762 dev->params.pixels_per_line = CCD300_MAXHSIZE; in calibrate_device_101x()
763 priv->hwres = dev->res = 300; in calibrate_device_101x()
764 dev->mode = MODE_GRAYSCALE; in calibrate_device_101x()
766 dev->invert = SANE_FALSE; in calibrate_device_101x()
769 config_ccd_101x (dev); in calibrate_device_101x()
770 get_bank_count (dev); in calibrate_device_101x()
772 find_black_side_edge_101x (dev); in calibrate_device_101x()
775 move_motor_101x (dev, SANE_TRUE); in calibrate_device_101x()
777 dev->mode = priv->saved_mode; in calibrate_device_101x()
778 dev->invert = priv->saved_invert; in calibrate_device_101x()
782 dev->res = priv->saved_res; in calibrate_device_101x()
788 priv->hwres = dev->res = 300; in calibrate_device_101x()
790 dev->invert = SANE_FALSE; in calibrate_device_101x()
792 config_ccd_101x (dev); in calibrate_device_101x()
793 get_bank_count (dev); in calibrate_device_101x()
795 if ((dev->mode == MODE_COLOR) && (priv->ccd_type != 0)) in calibrate_device_101x()
796 min_color_levels_101x (dev); in calibrate_device_101x()
798 dev->mode = priv->saved_mode; in calibrate_device_101x()
799 dev->invert = priv->saved_invert; in calibrate_device_101x()
803 dev->res = priv->saved_res; in calibrate_device_101x()
809 dev->params.pixels_per_line = saved_ppl; in calibrate_device_101x()
810 dev->invert = SANE_FALSE; in calibrate_device_101x()
812 config_ccd_101x (dev); in calibrate_device_101x()
813 get_bank_count (dev); in calibrate_device_101x()
815 max_color_levels_101x (dev); in calibrate_device_101x()
817 dev->params.pixels_per_line = CCD300_MAXHSIZE; in calibrate_device_101x()
818 dev->mode = MODE_GRAYSCALE; in calibrate_device_101x()
819 priv->hwres = dev->res = 300; in calibrate_device_101x()
821 dev->invert = SANE_FALSE; in calibrate_device_101x()
823 config_ccd_101x (dev); in calibrate_device_101x()
824 get_bank_count (dev); in calibrate_device_101x()
826 find_black_top_edge_101x (dev); in calibrate_device_101x()
828 dev->mode = priv->saved_mode; in calibrate_device_101x()
829 dev->invert = priv->saved_invert; in calibrate_device_101x()
833 dev->res = priv->saved_res; in calibrate_device_101x()
839 dev->params.pixels_per_line = saved_ppl; in calibrate_device_101x()
841 config_ccd_101x (dev); in calibrate_device_101x()
842 get_bank_count (dev); in calibrate_device_101x()
847 get_grayscale_line_101x (Mustek_pp_Handle * dev, SANE_Byte * buf) in get_grayscale_line_101x() argument
851 mustek_pp_ccd300_priv *priv = dev->priv; in get_grayscale_line_101x()
853 priv->line_diff += SANE_FIX (300.0 / (float) dev->res); in get_grayscale_line_101x()
859 motor_forward_101x (dev); in get_grayscale_line_101x()
860 wait_bank_change (dev, priv->bank_count, 1); in get_grayscale_line_101x()
861 reset_bank_count (dev); in get_grayscale_line_101x()
866 motor_forward_101x (dev); in get_grayscale_line_101x()
867 wait_bank_change (dev, priv->bank_count, 1); in get_grayscale_line_101x()
869 read_line_101x (dev, buf, dev->params.pixels_per_line, priv->ref_black, in get_grayscale_line_101x()
872 reset_bank_count (dev); in get_grayscale_line_101x()
877 get_lineart_line_101x (Mustek_pp_Handle * dev, SANE_Byte * buf) in get_lineart_line_101x() argument
882 mustek_pp_ccd300_priv *priv = dev->priv; in get_lineart_line_101x()
884 get_grayscale_line_101x (dev, gbuf); in get_lineart_line_101x()
886 memset (buf, 0xFF, dev->params.bytes_per_line); in get_lineart_line_101x()
888 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in get_lineart_line_101x()
894 get_color_line_101x (Mustek_pp_Handle * dev, SANE_Byte * buf) in get_color_line_101x() argument
900 mustek_pp_ccd300_priv *priv = dev->priv; in get_color_line_101x()
937 motor_forward_101x (dev); in get_color_line_101x()
938 wait_bank_change (dev, priv->bank_count, 1); in get_color_line_101x()
939 reset_bank_count (dev); in get_color_line_101x()
955 motor_forward_101x (dev); in get_color_line_101x()
956 wait_bank_change (dev, priv->bank_count, 1); in get_color_line_101x()
963 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in get_color_line_101x()
973 read_line_101x (dev, red, dev->params.pixels_per_line, in get_color_line_101x()
976 reset_bank_count (dev); in get_color_line_101x()
988 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in get_color_line_101x()
1000 set_ccd_channel_101x (dev, CCD300_CHANNEL_BLUE); in get_color_line_101x()
1001 set_sti (dev); in get_color_line_101x()
1002 wait_bank_change (dev, priv->bank_count, 1); in get_color_line_101x()
1005 read_line_101x (dev, blue, dev->params.pixels_per_line, in get_color_line_101x()
1008 reset_bank_count (dev); in get_color_line_101x()
1021 set_ccd_channel_101x (dev, CCD300_CHANNEL_GREEN); in get_color_line_101x()
1022 set_sti (dev); in get_color_line_101x()
1023 wait_bank_change (dev, priv->bank_count, 1); in get_color_line_101x()
1026 read_line_101x (dev, priv->green, dev->params.pixels_per_line, in get_color_line_101x()
1029 reset_bank_count (dev); in get_color_line_101x()
1034 for (ctr = 0; ctr < dev->params.pixels_per_line; ctr++) in get_color_line_101x()
1053 set_ccd_channel_1013 (Mustek_pp_Handle * dev, int channel) in set_ccd_channel_1013() argument
1055 mustek_pp_ccd300_priv *priv = dev->priv; in set_ccd_channel_1013()
1057 sanei_pa4s2_writebyte (dev->fd, 6, chan_codes_1013[channel]); in set_ccd_channel_1013()
1061 motor_backward_1013 (Mustek_pp_Handle * dev) in motor_backward_1013() argument
1063 mustek_pp_ccd300_priv *priv = dev->priv; in motor_backward_1013()
1066 set_led (dev); in motor_backward_1013()
1071 sanei_pa4s2_writebyte (dev->fd, 6, 0x62); in motor_backward_1013()
1072 sanei_pa4s2_writebyte (dev->fd, 5, fullstep[priv->motor_phase]); in motor_backward_1013()
1076 set_ccd_channel_1013 (dev, priv->channel); in motor_backward_1013()
1077 set_sti (dev); in motor_backward_1013()
1082 return_home_1013 (Mustek_pp_Handle * dev) in return_home_1013() argument
1086 mustek_pp_ccd300_priv *priv = dev->priv; in return_home_1013()
1094 sanei_pa4s2_readbegin (dev->fd, 2); in return_home_1013()
1095 sanei_pa4s2_readbyte (dev->fd, &ishome); in return_home_1013()
1096 sanei_pa4s2_readend (dev->fd); in return_home_1013()
1102 motor_backward_1013 (dev); in return_home_1013()
1103 wait_bank_change (dev, priv->bank_count, 0); in return_home_1013()
1104 reset_bank_count (dev); in return_home_1013()
1111 motor_forward_1013 (Mustek_pp_Handle * dev) in motor_forward_1013() argument
1115 mustek_pp_ccd300_priv *priv = dev->priv; in motor_forward_1013()
1118 set_led (dev); in motor_forward_1013()
1123 sanei_pa4s2_writebyte (dev->fd, 6, 0x62); in motor_forward_1013()
1124 sanei_pa4s2_writebyte (dev->fd, 5, halfstep[priv->motor_phase]); in motor_forward_1013()
1131 set_ccd_channel_1013 (dev, priv->channel); in motor_forward_1013()
1132 set_sti (dev); in motor_forward_1013()
1138 config_ccd_1013 (Mustek_pp_Handle * dev) in config_ccd_1013() argument
1140 mustek_pp_ccd300_priv *priv = dev->priv; in config_ccd_1013()
1142 if (dev->res != 0) in config_ccd_1013()
1143 priv->res_step = SANE_FIX ((float) priv->hwres / (float) dev->res); in config_ccd_1013()
1145 set_dpi_value (dev); in config_ccd_1013()
1147 /* set_start_channel_1013 (dev); */ in config_ccd_1013()
1149 sanei_pa4s2_writebyte (dev->fd, 6, 0x05); in config_ccd_1013()
1151 switch (dev->mode) in config_ccd_1013()
1164 set_ccd_channel_1013 (dev, priv->channel); in config_ccd_1013()
1166 /* set_invert_1013 (dev); */ in config_ccd_1013()
1168 sanei_pa4s2_writebyte (dev->fd, 6, in config_ccd_1013()
1169 (dev->invert == SANE_TRUE ? 0x04 : 0x14)); in config_ccd_1013()
1171 sanei_pa4s2_writebyte (dev->fd, 6, 0x37); in config_ccd_1013()
1172 reset_bank_count (dev); in config_ccd_1013()
1174 sanei_pa4s2_writebyte (dev->fd, 6, 0x27); in config_ccd_1013()
1175 sanei_pa4s2_writebyte (dev->fd, 6, 0x67); in config_ccd_1013()
1176 sanei_pa4s2_writebyte (dev->fd, 6, 0x17); in config_ccd_1013()
1177 sanei_pa4s2_writebyte (dev->fd, 6, 0x77); in config_ccd_1013()
1179 /* set_initial_skip_1013 (dev); */ in config_ccd_1013()
1181 sanei_pa4s2_writebyte (dev->fd, 6, 0x41); in config_ccd_1013()
1187 sanei_pa4s2_writebyte (dev->fd, 5, priv->adjustskip / 16 + 2); in config_ccd_1013()
1191 sanei_pa4s2_writebyte (dev->fd, 6, 0x81); in config_ccd_1013()
1192 sanei_pa4s2_writebyte (dev->fd, 5, 0x70); in config_ccd_1013()
1193 sanei_pa4s2_writebyte (dev->fd, 6, 0x01); in config_ccd_1013()
1196 set_line_adjust (dev); in config_ccd_1013()
1198 get_bank_count (dev); in config_ccd_1013()
1206 motor_control_1015 (Mustek_pp_Handle * dev, u_char control) in motor_control_1015() argument
1213 sanei_pa4s2_writebyte (dev->fd, 6, 0xF6); in motor_control_1015()
1214 sanei_pa4s2_writebyte (dev->fd, 6, 0x22); in motor_control_1015()
1215 sanei_pa4s2_writebyte (dev->fd, 5, control); in motor_control_1015()
1216 sanei_pa4s2_writebyte (dev->fd, 6, 0x02); in motor_control_1015()
1221 sanei_pa4s2_readbegin (dev->fd, 2); in motor_control_1015()
1222 sanei_pa4s2_readbyte (dev->fd, &val); in motor_control_1015()
1223 sanei_pa4s2_readend (dev->fd); in motor_control_1015()
1231 return_home_1015 (Mustek_pp_Handle * dev, SANE_Bool nowait) in return_home_1015() argument
1236 motor_control_1015 (dev, control); in return_home_1015()
1242 sanei_pa4s2_readbegin (dev->fd, 2); in return_home_1015()
1243 sanei_pa4s2_readbyte (dev->fd, &ishome); in return_home_1015()
1244 sanei_pa4s2_readend (dev->fd); in return_home_1015()
1257 motor_forward_1015 (Mustek_pp_Handle * dev) in motor_forward_1015() argument
1260 mustek_pp_ccd300_priv *priv = dev->priv; in motor_forward_1015()
1263 set_led (dev); in motor_forward_1015()
1266 motor_control_1015 (dev, control); in motor_forward_1015()
1268 set_ccd_channel_1015 (dev, priv->channel); in motor_forward_1015()
1269 set_sti (dev); in motor_forward_1015()
1275 motor_backward_1015 (Mustek_pp_Handle * dev)
1278 mustek_pp_ccd300_priv *priv = dev->priv;
1282 set_led (dev);
1295 motor_control_1015 (dev, control);
1297 set_ccd_channel_1015 (dev, priv->channel);
1298 set_sti (dev);
1305 set_ccd_channel_1015 (Mustek_pp_Handle * dev, int channel) in set_ccd_channel_1015() argument
1309 mustek_pp_ccd300_priv *priv = dev->priv; in set_ccd_channel_1015()
1319 sanei_pa4s2_writebyte (dev->fd, 6, chancode); in set_ccd_channel_1015()
1325 config_ccd_1015 (Mustek_pp_Handle * dev) in config_ccd_1015() argument
1329 mustek_pp_ccd300_priv *priv = dev->priv; in config_ccd_1015()
1331 if (dev->res != 0) in config_ccd_1015()
1332 priv->res_step = SANE_FIX ((float) priv->hwres / (float) dev->res); in config_ccd_1015()
1335 set_dpi_value (dev); in config_ccd_1015()
1339 /* set_start_channel_1015 (dev); */ in config_ccd_1015()
1341 switch (dev->mode) in config_ccd_1015()
1354 set_ccd_channel_1015 (dev, priv->channel); in config_ccd_1015()
1357 /* set_invert_1015 (dev); */ in config_ccd_1015()
1361 if (dev->invert == SANE_FALSE) in config_ccd_1015()
1365 sanei_pa4s2_writebyte (dev->fd, 6, priv->image_control); in config_ccd_1015()
1367 sanei_pa4s2_writebyte (dev->fd, 6, 0x23); in config_ccd_1015()
1368 sanei_pa4s2_writebyte (dev->fd, 5, 0x00); in config_ccd_1015()
1370 sanei_pa4s2_writebyte (dev->fd, 6, 0x43); in config_ccd_1015()
1385 sanei_pa4s2_writebyte (dev->fd, 5, val); in config_ccd_1015()
1386 sanei_pa4s2_writebyte (dev->fd, 6, 0x03); in config_ccd_1015()
1388 sanei_pa4s2_writebyte (dev->fd, 6, 0x37); in config_ccd_1015()
1389 reset_bank_count (dev); in config_ccd_1015()
1391 sanei_pa4s2_writebyte (dev->fd, 6, 0x27); in config_ccd_1015()
1392 sanei_pa4s2_writebyte (dev->fd, 6, 0x67); in config_ccd_1015()
1393 sanei_pa4s2_writebyte (dev->fd, 6, 0x17); in config_ccd_1015()
1394 sanei_pa4s2_writebyte (dev->fd, 6, 0x77); in config_ccd_1015()
1396 /* set_initial_skip_1015 (dev); */ in config_ccd_1015()
1398 sanei_pa4s2_writebyte (dev->fd, 6, 0x41); in config_ccd_1015()
1402 /* if (dev->CCD.mode == MODE_COLOR) in config_ccd_1015()
1403 dev->CCD.adjustskip <<= 3; */ in config_ccd_1015()
1406 sanei_pa4s2_writebyte (dev->fd, 5, priv->adjustskip / 32 + 1); in config_ccd_1015()
1411 sanei_pa4s2_writebyte (dev->fd, 6, 0x81); in config_ccd_1015()
1428 sanei_pa4s2_writebyte (dev->fd, 5, val); in config_ccd_1015()
1430 sanei_pa4s2_writebyte (dev->fd, 6, 0x01); in config_ccd_1015()
1433 set_line_adjust (dev); in config_ccd_1015()
1435 get_bank_count (dev); in config_ccd_1015()
1442 config_ccd (Mustek_pp_Handle * dev) in config_ccd() argument
1444 mustek_pp_ccd300_priv *priv = dev->priv; in config_ccd()
1447 priv->hwres, dev->mode, dev->invert, dev->params.pixels_per_line); in config_ccd()
1452 config_ccd_1013 (dev); in config_ccd()
1456 config_ccd_1015 (dev); in config_ccd()
1463 return_home (Mustek_pp_Handle * dev, SANE_Bool nowait) in return_home() argument
1465 mustek_pp_ccd300_priv *priv = dev->priv; in return_home()
1467 priv->saved_mode = dev->mode; in return_home()
1468 priv->saved_invert = dev->invert; in return_home()
1472 priv->saved_res = dev->res; in return_home()
1479 priv->hwres = dev->res = 100; in return_home()
1480 dev->mode = MODE_GRAYSCALE; in return_home()
1484 config_ccd (dev); in return_home()
1489 return_home_1013 (dev); in return_home()
1493 return_home_1015 (dev, nowait); in return_home()
1498 dev->mode = priv->saved_mode; in return_home()
1499 dev->invert = priv->saved_invert; in return_home()
1503 dev->res = priv->saved_res; in return_home()
1510 config_ccd (dev); in return_home()
1514 lamp (Mustek_pp_Handle * dev, int lamp_on) in lamp() argument
1517 set_lamp (dev, lamp_on); in lamp()
1522 set_voltages (Mustek_pp_Handle * dev) in set_voltages() argument
1524 send_voltages (dev); in set_voltages()
1528 move_motor (Mustek_pp_Handle * dev, int count, int forward) in move_motor() argument
1540 move_motor_101x (dev, forward); in move_motor()
1548 calibrate (Mustek_pp_Handle * dev) in calibrate() argument
1550 mustek_pp_ccd300_priv *priv = dev->priv; in calibrate()
1554 calibrate_device_101x (dev); in calibrate()
1563 get_lineart_line (Mustek_pp_Handle * dev, SANE_Byte * buf) in get_lineart_line() argument
1565 get_lineart_line_101x (dev, buf); in get_lineart_line()
1569 get_grayscale_line (Mustek_pp_Handle * dev, SANE_Byte * buf) in get_grayscale_line() argument
1572 get_grayscale_line_101x (dev, buf); in get_grayscale_line()
1576 get_color_line (Mustek_pp_Handle * dev, SANE_Byte * buf) in get_color_line() argument
1579 get_color_line_101x (dev, buf); in get_color_line()
1679 Mustek_pp_Handle *dev = handle; in ccd300_setup() local
1683 DBG (3, "ccd300_setup: called for port ``%s''\n", dev->dev->port); in ccd300_setup()
1691 dev->priv = priv; in ccd300_setup()
1698 sanei_pa4s2_enable (dev->fd, SANE_TRUE); in ccd300_setup()
1700 sanei_pa4s2_readbegin (dev->fd, 0); in ccd300_setup()
1701 sanei_pa4s2_readbyte (dev->fd, &asic); in ccd300_setup()
1702 sanei_pa4s2_readend (dev->fd); in ccd300_setup()
1703 sanei_pa4s2_readbegin (dev->fd, 2); in ccd300_setup()
1704 sanei_pa4s2_readbyte (dev->fd, &ccd); in ccd300_setup()
1705 sanei_pa4s2_readend (dev->fd); in ccd300_setup()
1710 return_home (dev, SANE_TRUE); in ccd300_setup()
1711 lamp (dev, SANE_TRUE); in ccd300_setup()
1712 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_setup()
1713 dev->lamp_on = time (NULL); in ccd300_setup()
1714 dev->res = priv->hwres = 300; in ccd300_setup()
1715 dev->mode = MODE_COLOR; in ccd300_setup()
1722 Mustek_pp_Handle *dev = handle; in ccd300_close() local
1723 mustek_pp_ccd300_priv *priv = dev->priv; in ccd300_close()
1725 DBG (3, "ccd300_close: called for port ``%s''\n", dev->dev->port); in ccd300_close()
1727 sanei_pa4s2_enable (dev->fd, SANE_TRUE); in ccd300_close()
1728 lamp (dev, SANE_FALSE); in ccd300_close()
1729 return_home (dev, SANE_FALSE); in ccd300_close()
1730 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_close()
1732 sanei_pa4s2_close (dev->fd); in ccd300_close()
1742 Mustek_pp_Handle *dev = handle; in ccd300_config() local
1743 mustek_pp_ccd300_priv *priv = dev->priv; in ccd300_config()
1747 dev->dev->port, in ccd300_config()
1828 Mustek_pp_Handle *dev = handle; in ccd300_stop() local
1829 mustek_pp_ccd300_priv *priv = dev->priv; in ccd300_stop()
1833 dev->dev->port); in ccd300_stop()
1835 sanei_pa4s2_enable (dev->fd, SANE_TRUE); in ccd300_stop()
1836 return_home (dev, SANE_TRUE); in ccd300_stop()
1837 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_stop()
1866 Mustek_pp_Handle *dev = handle; in ccd300_start() local
1867 mustek_pp_ccd300_priv *priv = dev->priv; in ccd300_start()
1869 DBG (3, "ccd300_start: called for port ``%s''\n", dev->dev->port); in ccd300_start()
1871 if (dev->res <= 100) in ccd300_start()
1873 else if (dev->res <= 200) in ccd300_start()
1875 else if (dev->res <= 300) in ccd300_start()
1881 priv->skipimagebytes = dev->topX; in ccd300_start()
1883 sanei_pa4s2_enable (dev->fd, SANE_TRUE); in ccd300_start()
1884 config_ccd (dev); in ccd300_start()
1885 set_voltages (dev); in ccd300_start()
1886 get_bank_count (dev); in ccd300_start()
1893 return_home (dev, SANE_FALSE); in ccd300_start()
1898 if ((priv->calib_g = malloc (dev->params.pixels_per_line)) == NULL) in ccd300_start()
1900 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_start()
1905 if (dev->mode == MODE_COLOR) in ccd300_start()
1907 priv->calib_r = malloc (dev->params.pixels_per_line); in ccd300_start()
1908 priv->calib_b = malloc (dev->params.pixels_per_line); in ccd300_start()
1917 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_start()
1923 calibrate (dev); in ccd300_start()
1936 move_motor (dev, priv->top + dev->topY - in ccd300_start()
1937 (dev->mode == MODE_COLOR ? priv->green_offs : 0), SANE_TRUE); in ccd300_start()
1940 sanei_pa4s2_writebyte (dev->fd, 6, 0x15); in ccd300_start()
1942 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_start()
1944 if (dev->mode == MODE_COLOR) in ccd300_start()
1948 priv->line_step = SANE_FIX (300.0 / (float) dev->res); in ccd300_start()
1956 priv->green = malloc (dev->params.pixels_per_line); in ccd300_start()
1979 if ((priv->red[cnt] = malloc (dev->params.pixels_per_line)) == NULL) in ccd300_start()
1983 if ((priv->blue[cnt] = malloc (dev->params.pixels_per_line)) == NULL) in ccd300_start()
2012 priv->lines_left = dev->params.lines; in ccd300_start()
2022 Mustek_pp_Handle *dev = handle; in ccd300_read() local
2023 mustek_pp_ccd300_priv *priv = dev->priv; in ccd300_read()
2026 dev->dev->port); in ccd300_read()
2028 sanei_pa4s2_enable (dev->fd, SANE_TRUE); in ccd300_read()
2030 switch (dev->mode) in ccd300_read()
2033 get_lineart_line (dev, buffer); in ccd300_read()
2037 get_grayscale_line (dev, buffer); in ccd300_read()
2041 get_color_line (dev, buffer); in ccd300_read()
2054 return_home (dev, SANE_TRUE); in ccd300_read()
2057 sanei_pa4s2_enable (dev->fd, SANE_FALSE); in ccd300_read()