• Home
  • Raw
  • Download

Lines Matching full:dev

722 usb_high_scan_init (Mustek_Usb_Device * dev)  in usb_high_scan_init()  argument
728 dev->init_bytes_per_strip = 8 * 1024; in usb_high_scan_init()
729 dev->adjust_length_300 = 2560; in usb_high_scan_init()
730 dev->adjust_length_600 = 5120; in usb_high_scan_init()
731 dev->init_min_expose_time = 4992; in usb_high_scan_init()
732 dev->init_skips_per_row_300 = 56; /* this value must be times of 6 */ in usb_high_scan_init()
733 dev->init_skips_per_row_600 = 72; /* this value must be times of 6 */ in usb_high_scan_init()
734 dev->init_j_lines = 154; in usb_high_scan_init()
735 dev->init_k_lines = 16; in usb_high_scan_init()
736 dev->init_k_filter = 8; in usb_high_scan_init()
737 dev->init_k_loops = 2; in usb_high_scan_init()
738 dev->init_pixel_rate_lines = 50; in usb_high_scan_init()
739 dev->init_pixel_rate_filts = 37; in usb_high_scan_init()
740 dev->init_powerdelay_lines = 2; in usb_high_scan_init()
741 dev->init_home_lines = 160; in usb_high_scan_init()
742 dev->init_dark_lines = 50; in usb_high_scan_init()
743 dev->init_k_level = 245; in usb_high_scan_init()
744 dev->init_max_power_delay = 240; in usb_high_scan_init()
745 dev->init_min_power_delay = 136; in usb_high_scan_init()
746 dev->init_adjust_way = 1; in usb_high_scan_init()
747 dev->init_green_black_factor = 0.0; in usb_high_scan_init()
748 dev->init_blue_black_factor = 0.0; in usb_high_scan_init()
749 dev->init_red_black_factor = 0.0; in usb_high_scan_init()
750 dev->init_gray_black_factor = 0.0; in usb_high_scan_init()
751 dev->init_green_factor = 0.82004; in usb_high_scan_init()
752 dev->init_blue_factor = 0.84954; in usb_high_scan_init()
753 dev->init_red_factor = 0.826375; in usb_high_scan_init()
754 dev->init_gray_factor = 0.833375; in usb_high_scan_init()
756 dev->init_red_rgb_600_pga = 8; in usb_high_scan_init()
757 dev->init_green_rgb_600_pga = 8; in usb_high_scan_init()
758 dev->init_blue_rgb_600_pga = 8; in usb_high_scan_init()
759 dev->init_mono_600_pga = 8; in usb_high_scan_init()
760 dev->init_red_rgb_300_pga = 8; in usb_high_scan_init()
761 dev->init_green_rgb_300_pga = 8; in usb_high_scan_init()
762 dev->init_blue_rgb_300_pga = 8; in usb_high_scan_init()
763 dev->init_mono_300_pga = 8; in usb_high_scan_init()
764 dev->init_expose_time = 9024; in usb_high_scan_init()
765 dev->init_red_rgb_600_power_delay = 80; in usb_high_scan_init()
766 dev->init_green_rgb_600_power_delay = 80; in usb_high_scan_init()
767 dev->init_blue_rgb_600_power_delay = 80; in usb_high_scan_init()
768 dev->init_red_mono_600_power_delay = 80; in usb_high_scan_init()
769 dev->init_green_mono_600_power_delay = 80; in usb_high_scan_init()
770 dev->init_blue_mono_600_power_delay = 80; in usb_high_scan_init()
771 dev->init_red_rgb_300_power_delay = 80; in usb_high_scan_init()
772 dev->init_green_rgb_300_power_delay = 80; in usb_high_scan_init()
773 dev->init_blue_rgb_300_power_delay = 80; in usb_high_scan_init()
774 dev->init_red_mono_300_power_delay = 80; in usb_high_scan_init()
775 dev->init_green_mono_300_power_delay = 80; in usb_high_scan_init()
776 dev->init_blue_mono_300_power_delay = 80; in usb_high_scan_init()
777 dev->init_threshold = 128; in usb_high_scan_init()
779 dev->init_top_ref = 128; in usb_high_scan_init()
780 dev->init_front_end = 16; in usb_high_scan_init()
781 dev->init_red_offset = 0; in usb_high_scan_init()
782 dev->init_green_offset = 0; in usb_high_scan_init()
783 dev->init_blue_offset = 0; in usb_high_scan_init()
785 dev->init_rgb_24_back_track = 80; in usb_high_scan_init()
786 dev->init_mono_8_back_track = 80; in usb_high_scan_init()
788 dev->is_open = SANE_FALSE; in usb_high_scan_init()
789 dev->is_prepared = SANE_FALSE; in usb_high_scan_init()
790 dev->expose_time = 4000; in usb_high_scan_init()
791 dev->width = 2550; in usb_high_scan_init()
792 dev->x_dpi = 300; in usb_high_scan_init()
793 dev->y_dpi = 300; in usb_high_scan_init()
794 dev->scan_mode = RGB24EXT; in usb_high_scan_init()
795 dev->bytes_per_row = 2550 * 3; in usb_high_scan_init()
796 dev->dummy = 0; in usb_high_scan_init()
797 dev->bytes_per_strip = 2550; in usb_high_scan_init()
798 dev->image_buffer = NULL; in usb_high_scan_init()
799 dev->red = NULL; in usb_high_scan_init()
800 dev->green = NULL; in usb_high_scan_init()
801 dev->blue = NULL; in usb_high_scan_init()
802 dev->get_line = NULL; in usb_high_scan_init()
803 dev->backtrack = NULL; in usb_high_scan_init()
804 dev->is_adjusted_rgb_600_power_delay = SANE_FALSE; in usb_high_scan_init()
805 dev->is_adjusted_mono_600_power_delay = SANE_FALSE; in usb_high_scan_init()
806 dev->is_adjusted_rgb_300_power_delay = SANE_FALSE; in usb_high_scan_init()
807 dev->is_adjusted_mono_300_power_delay = SANE_FALSE; in usb_high_scan_init()
808 dev->is_evaluate_pixel_rate = SANE_FALSE; in usb_high_scan_init()
809 dev->red_rgb_600_pga = 0; in usb_high_scan_init()
810 dev->green_rgb_600_pga = 0; in usb_high_scan_init()
811 dev->blue_rgb_600_pga = 0; in usb_high_scan_init()
812 dev->mono_600_pga = 0; in usb_high_scan_init()
813 dev->red_rgb_600_power_delay = 0; in usb_high_scan_init()
814 dev->green_rgb_600_power_delay = 0; in usb_high_scan_init()
815 dev->blue_rgb_600_power_delay = 0; in usb_high_scan_init()
816 dev->red_mono_600_power_delay = 0; in usb_high_scan_init()
817 dev->green_mono_600_power_delay = 0; in usb_high_scan_init()
818 dev->blue_mono_600_power_delay = 0; in usb_high_scan_init()
819 dev->red_rgb_300_pga = 0; in usb_high_scan_init()
820 dev->green_rgb_300_pga = 0; in usb_high_scan_init()
821 dev->blue_rgb_300_pga = 0; in usb_high_scan_init()
822 dev->mono_300_pga = 0; in usb_high_scan_init()
823 dev->red_rgb_300_power_delay = 0; in usb_high_scan_init()
824 dev->green_rgb_300_power_delay = 0; in usb_high_scan_init()
825 dev->blue_rgb_300_power_delay = 0; in usb_high_scan_init()
826 dev->red_mono_300_power_delay = 0; in usb_high_scan_init()
827 dev->green_mono_300_power_delay = 0; in usb_high_scan_init()
828 dev->blue_mono_300_power_delay = 0; in usb_high_scan_init()
829 dev->pixel_rate = 2000; in usb_high_scan_init()
830 dev->threshold = 128; in usb_high_scan_init()
831 dev->gamma_table = 0; in usb_high_scan_init()
832 dev->skips_per_row = 0; in usb_high_scan_init()
835 dev->red_calibrator = NULL; in usb_high_scan_init()
836 dev->green_calibrator = NULL; in usb_high_scan_init()
837 dev->blue_calibrator = NULL; in usb_high_scan_init()
838 dev->mono_calibrator = NULL; in usb_high_scan_init()
840 dev->is_cis_detected = SANE_FALSE; in usb_high_scan_init()
841 dev->is_sensor_detected = SANE_FALSE; in usb_high_scan_init()
843 RIE (usb_low_init (&dev->chip)); in usb_high_scan_init()
850 usb_high_scan_exit (Mustek_Usb_Device * dev) in usb_high_scan_exit() argument
855 if (!dev->chip) in usb_high_scan_exit()
857 DBG (5, "usb_high_scan_exit: already exited (`%s')\n", dev->name); in usb_high_scan_exit()
861 RIE (usb_low_exit (dev->chip)); in usb_high_scan_exit()
862 dev->chip = 0; in usb_high_scan_exit()
868 usb_high_scan_prepare (Mustek_Usb_Device * dev) in usb_high_scan_prepare() argument
870 DBG (5, "usb_high_scan_prepare: start dev=%p\n", (void *) dev); in usb_high_scan_prepare()
871 if (dev->is_prepared) in usb_high_scan_prepare()
876 if (dev->image_buffer) in usb_high_scan_prepare()
878 free (dev->image_buffer); in usb_high_scan_prepare()
880 dev->image_buffer = (SANE_Byte *) malloc (dev->init_bytes_per_strip * 3); in usb_high_scan_prepare()
881 if (!dev->image_buffer) in usb_high_scan_prepare()
884 dev->red = dev->image_buffer; in usb_high_scan_prepare()
885 dev->green = dev->image_buffer + dev->init_bytes_per_strip; in usb_high_scan_prepare()
886 dev->blue = dev->image_buffer + dev->init_bytes_per_strip * 2; in usb_high_scan_prepare()
888 dev->is_prepared = SANE_TRUE; in usb_high_scan_prepare()
894 usb_high_scan_clearup (Mustek_Usb_Device * dev) in usb_high_scan_clearup() argument
896 DBG (5, "usb_high_scan_clearup: start, dev=%p\n", (void *) dev); in usb_high_scan_clearup()
897 if (!dev->is_prepared) in usb_high_scan_clearup()
902 if (dev->image_buffer) in usb_high_scan_clearup()
904 free (dev->image_buffer); in usb_high_scan_clearup()
906 dev->image_buffer = NULL; in usb_high_scan_clearup()
907 dev->red = NULL; in usb_high_scan_clearup()
908 dev->green = NULL; in usb_high_scan_clearup()
909 dev->blue = NULL; in usb_high_scan_clearup()
911 dev->is_prepared = SANE_FALSE; in usb_high_scan_clearup()
917 usb_high_scan_turn_power (Mustek_Usb_Device * dev, SANE_Bool is_on) in usb_high_scan_turn_power() argument
926 if (dev->is_open) in usb_high_scan_turn_power()
932 RIE (usb_low_open (dev->chip, dev->device_name)); in usb_high_scan_turn_power()
933 dev->is_open = SANE_TRUE; in usb_high_scan_turn_power()
934 RIE (usb_low_turn_peripheral_power (dev->chip, SANE_TRUE)); in usb_high_scan_turn_power()
935 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_turn_power()
939 if (!dev->is_open) in usb_high_scan_turn_power()
945 RIE (usb_low_turn_lamp_power (dev->chip, SANE_FALSE)); in usb_high_scan_turn_power()
946 RIE (usb_low_close (dev->chip)); in usb_high_scan_turn_power()
947 dev->is_open = SANE_FALSE; in usb_high_scan_turn_power()
955 usb_high_scan_back_home (Mustek_Usb_Device * dev) in usb_high_scan_back_home() argument
961 if (!dev->is_open) in usb_high_scan_back_home()
967 RIE (usb_low_set_ccd_width (dev->chip, dev->init_min_expose_time)); in usb_high_scan_back_home()
968 RIE (usb_mid_motor_prepare_home (dev->chip)); in usb_high_scan_back_home()
975 usb_high_scan_set_threshold (Mustek_Usb_Device * dev, SANE_Byte threshold) in usb_high_scan_set_threshold() argument
977 DBG (5, "usb_high_scan_set_threshold: start, dev=%p, threshold=%d\n", in usb_high_scan_set_threshold()
978 (void *) dev, threshold); in usb_high_scan_set_threshold()
980 dev->threshold = threshold; in usb_high_scan_set_threshold()
986 usb_high_scan_embed_gamma (Mustek_Usb_Device * dev, SANE_Word * gamma_table) in usb_high_scan_embed_gamma() argument
988 DBG (5, "usb_high_scan_embed_gamma: start, dev=%p, gamma_table=%p\n", in usb_high_scan_embed_gamma()
989 (void *) dev, (void *) gamma_table); in usb_high_scan_embed_gamma()
990 if (!dev->is_prepared) in usb_high_scan_embed_gamma()
996 dev->gamma_table = gamma_table; in usb_high_scan_embed_gamma()
1002 usb_high_scan_reset (Mustek_Usb_Device * dev) in usb_high_scan_reset() argument
1008 if (!dev->is_open) in usb_high_scan_reset()
1013 if (!dev->is_prepared) in usb_high_scan_reset()
1018 RIE (usb_high_scan_init_asic (dev, dev->chip->sensor)); in usb_high_scan_reset()
1019 RIE (usb_low_set_ccd_width (dev->chip, dev->init_min_expose_time)); in usb_high_scan_reset()
1020 RIE (usb_mid_motor_prepare_home (dev->chip)); in usb_high_scan_reset()
1021 RIE (usb_high_scan_set_threshold (dev, dev->init_threshold)); in usb_high_scan_reset()
1022 RIE (usb_high_scan_embed_gamma (dev, NULL)); in usb_high_scan_reset()
1023 dev->is_adjusted_rgb_600_power_delay = SANE_FALSE; in usb_high_scan_reset()
1024 dev->is_adjusted_mono_600_power_delay = SANE_FALSE; in usb_high_scan_reset()
1025 dev->is_adjusted_rgb_300_power_delay = SANE_FALSE; in usb_high_scan_reset()
1026 dev->is_adjusted_mono_300_power_delay = SANE_FALSE; in usb_high_scan_reset()
1027 dev->is_evaluate_pixel_rate = SANE_FALSE; in usb_high_scan_reset()
1033 usb_high_scan_wait_carriage_home (Mustek_Usb_Device * dev) in usb_high_scan_wait_carriage_home() argument
1039 status = usb_low_get_home_sensor (dev->chip); in usb_high_scan_wait_carriage_home()
1043 RIE (usb_low_set_ccd_width (dev->chip, dev->init_min_expose_time)); in usb_high_scan_wait_carriage_home()
1044 RIE (usb_mid_motor_prepare_home (dev->chip)); in usb_high_scan_wait_carriage_home()
1047 status = usb_low_get_home_sensor (dev->chip); in usb_high_scan_wait_carriage_home()
1055 RIE (usb_low_move_motor_home (dev->chip, SANE_FALSE, SANE_FALSE)); in usb_high_scan_wait_carriage_home()
1061 usb_high_scan_hardware_calibration (Mustek_Usb_Device * dev) in usb_high_scan_hardware_calibration() argument
1067 if (dev->is_cis_detected) in usb_high_scan_hardware_calibration()
1068 RIE (usb_high_scan_safe_forward (dev, dev->init_home_lines)); in usb_high_scan_hardware_calibration()
1070 switch (dev->init_adjust_way) in usb_high_scan_hardware_calibration()
1073 switch (dev->scan_mode) in usb_high_scan_hardware_calibration()
1076 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_hardware_calibration()
1078 dev->expose_time = dev->init_expose_time; in usb_high_scan_hardware_calibration()
1079 dev->red_rgb_600_pga = dev->init_red_rgb_600_pga; in usb_high_scan_hardware_calibration()
1080 dev->green_rgb_600_pga = dev->init_green_rgb_600_pga; in usb_high_scan_hardware_calibration()
1081 dev->blue_rgb_600_pga = dev->init_blue_rgb_600_pga; in usb_high_scan_hardware_calibration()
1082 RIE (usb_high_scan_adjust_rgb_600_power_delay (dev)); in usb_high_scan_hardware_calibration()
1086 dev->expose_time = dev->init_expose_time; in usb_high_scan_hardware_calibration()
1087 dev->red_rgb_300_pga = dev->init_red_rgb_300_pga; in usb_high_scan_hardware_calibration()
1088 dev->green_rgb_300_pga = dev->init_green_rgb_300_pga; in usb_high_scan_hardware_calibration()
1089 dev->blue_rgb_300_pga = dev->init_blue_rgb_300_pga; in usb_high_scan_hardware_calibration()
1090 RIE (usb_high_scan_adjust_rgb_300_power_delay (dev)); in usb_high_scan_hardware_calibration()
1094 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_hardware_calibration()
1096 dev->expose_time = dev->init_expose_time; in usb_high_scan_hardware_calibration()
1097 dev->mono_600_pga = dev->init_mono_600_pga; in usb_high_scan_hardware_calibration()
1098 RIE (usb_high_scan_evaluate_pixel_rate (dev)); in usb_high_scan_hardware_calibration()
1099 RIE (usb_high_scan_adjust_mono_600_power_delay (dev)); in usb_high_scan_hardware_calibration()
1103 dev->expose_time = dev->init_expose_time; in usb_high_scan_hardware_calibration()
1104 dev->mono_300_pga = dev->init_mono_300_pga; in usb_high_scan_hardware_calibration()
1105 RIE (usb_high_scan_evaluate_pixel_rate (dev)); in usb_high_scan_hardware_calibration()
1106 RIE (usb_high_scan_adjust_mono_300_power_delay (dev)); in usb_high_scan_hardware_calibration()
1114 switch (dev->scan_mode) in usb_high_scan_hardware_calibration()
1117 dev->red_rgb_600_pga = dev->init_red_rgb_600_pga; in usb_high_scan_hardware_calibration()
1118 dev->green_rgb_600_pga = dev->init_green_rgb_600_pga; in usb_high_scan_hardware_calibration()
1119 dev->blue_rgb_600_pga = dev->init_blue_rgb_600_pga; in usb_high_scan_hardware_calibration()
1120 dev->skips_per_row = dev->init_skips_per_row_600; in usb_high_scan_hardware_calibration()
1121 /* RIE(usb_high_scan_adjust_rgb_600_exposure (dev); fixme */ in usb_high_scan_hardware_calibration()
1122 /* RIE(usb_high_scan_adjust_rgb_600_offset (dev); fixme */ in usb_high_scan_hardware_calibration()
1123 /* RIE(usb_high_scan_adjust_rgb_600_pga (dev); fixme */ in usb_high_scan_hardware_calibration()
1125 /* RIE(usb_high_scan_adjust_rgb_600_offset (dev); fixme */ in usb_high_scan_hardware_calibration()
1126 /* RIE(usb_high_scan_adjust_rgb_600_skips_per_row (dev); fixme */ in usb_high_scan_hardware_calibration()
1129 dev->mono_600_pga = dev->init_mono_600_pga; in usb_high_scan_hardware_calibration()
1130 dev->skips_per_row = dev->init_skips_per_row_600; in usb_high_scan_hardware_calibration()
1131 RIE (usb_high_scan_adjust_mono_600_exposure (dev)); in usb_high_scan_hardware_calibration()
1132 /* RIE(usb_high_scan_adjust_mono_600_offset (dev); fixme */ in usb_high_scan_hardware_calibration()
1133 /* RIE(usb_high_scan_adjust_mono_600_pga (dev); fixme */ in usb_high_scan_hardware_calibration()
1134 dev->is_adjusted_mono_600_offset = SANE_FALSE; in usb_high_scan_hardware_calibration()
1135 /* RIE(usb_high_scan_adjust_mono_600_offset (dev); fixme */ in usb_high_scan_hardware_calibration()
1136 /* RIE(usb_high_scan_adjust_mono_600_skips_per_row (dev); fixme */ in usb_high_scan_hardware_calibration()
1143 dev->expose_time = dev->init_expose_time; in usb_high_scan_hardware_calibration()
1144 dev->red_rgb_600_power_delay = dev->init_red_rgb_600_power_delay; in usb_high_scan_hardware_calibration()
1145 dev->green_rgb_600_power_delay = dev->init_green_rgb_600_power_delay; in usb_high_scan_hardware_calibration()
1146 dev->blue_rgb_600_power_delay = dev->init_blue_rgb_600_power_delay; in usb_high_scan_hardware_calibration()
1147 dev->red_mono_600_power_delay = dev->init_red_mono_600_power_delay; in usb_high_scan_hardware_calibration()
1148 dev->green_mono_600_power_delay = dev->init_green_mono_600_power_delay; in usb_high_scan_hardware_calibration()
1149 dev->blue_mono_600_power_delay = dev->init_blue_mono_600_power_delay; in usb_high_scan_hardware_calibration()
1150 dev->red_rgb_600_pga = dev->init_red_rgb_600_pga; in usb_high_scan_hardware_calibration()
1151 dev->green_rgb_600_pga = dev->init_green_rgb_600_pga; in usb_high_scan_hardware_calibration()
1152 dev->blue_rgb_600_pga = dev->init_blue_rgb_600_pga; in usb_high_scan_hardware_calibration()
1153 dev->mono_600_pga = dev->init_mono_600_pga; in usb_high_scan_hardware_calibration()
1154 dev->red_rgb_300_power_delay = dev->init_red_rgb_300_power_delay; in usb_high_scan_hardware_calibration()
1155 dev->green_rgb_300_power_delay = dev->init_green_rgb_300_power_delay; in usb_high_scan_hardware_calibration()
1156 dev->blue_rgb_300_power_delay = dev->init_blue_rgb_300_power_delay; in usb_high_scan_hardware_calibration()
1157 dev->red_mono_300_power_delay = dev->init_red_mono_300_power_delay; in usb_high_scan_hardware_calibration()
1158 dev->green_mono_300_power_delay = dev->init_green_mono_300_power_delay; in usb_high_scan_hardware_calibration()
1159 dev->blue_mono_300_power_delay = dev->init_blue_mono_300_power_delay; in usb_high_scan_hardware_calibration()
1160 dev->red_rgb_300_pga = dev->init_red_rgb_300_pga; in usb_high_scan_hardware_calibration()
1161 dev->green_rgb_300_pga = dev->init_green_rgb_300_pga; in usb_high_scan_hardware_calibration()
1162 dev->blue_rgb_300_pga = dev->init_blue_rgb_300_pga; in usb_high_scan_hardware_calibration()
1163 dev->mono_300_pga = dev->init_mono_300_pga; in usb_high_scan_hardware_calibration()
1171 usb_high_scan_line_calibration (Mustek_Usb_Device * dev) in usb_high_scan_line_calibration() argument
1176 switch (dev->scan_mode) in usb_high_scan_line_calibration()
1179 RIE (usb_high_scan_prepare_rgb_24 (dev)); in usb_high_scan_line_calibration()
1180 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_line_calibration()
1181 RIE (usb_high_scan_prepare_rgb_signal_600_dpi (dev)); in usb_high_scan_line_calibration()
1183 RIE (usb_high_scan_prepare_rgb_signal_300_dpi (dev)); in usb_high_scan_line_calibration()
1184 RIE (usb_mid_sensor_prepare_rgb (dev->chip, dev->x_dpi)); in usb_high_scan_line_calibration()
1185 RIE (usb_high_scan_calibration_rgb_24 (dev)); in usb_high_scan_line_calibration()
1188 RIE (usb_high_scan_prepare_mono_8 (dev)); in usb_high_scan_line_calibration()
1189 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_line_calibration()
1190 RIE (usb_high_scan_prepare_mono_signal_600_dpi (dev)); in usb_high_scan_line_calibration()
1192 RIE (usb_high_scan_prepare_mono_signal_300_dpi (dev)); in usb_high_scan_line_calibration()
1193 RIE (usb_mid_sensor_prepare_mono (dev->chip, dev->x_dpi)); in usb_high_scan_line_calibration()
1194 RIE (usb_high_scan_calibration_mono_8 (dev)); in usb_high_scan_line_calibration()
1206 usb_high_scan_prepare_scan (Mustek_Usb_Device * dev) in usb_high_scan_prepare_scan() argument
1211 switch (dev->scan_mode) in usb_high_scan_prepare_scan()
1214 RIE (usb_high_scan_prepare_rgb_24 (dev)); in usb_high_scan_prepare_scan()
1215 dev->get_line = &usb_high_scan_get_rgb_24_bit_line; in usb_high_scan_prepare_scan()
1216 dev->backtrack = &usb_high_scan_backtrack_rgb_24; in usb_high_scan_prepare_scan()
1218 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_prepare_scan()
1219 RIE (usb_high_scan_prepare_rgb_signal_600_dpi (dev)); in usb_high_scan_prepare_scan()
1221 RIE (usb_high_scan_prepare_rgb_signal_300_dpi (dev)); in usb_high_scan_prepare_scan()
1222 RIE (usb_mid_sensor_prepare_rgb (dev->chip, dev->x_dpi)); in usb_high_scan_prepare_scan()
1223 RIE (usb_mid_motor_prepare_rgb (dev->chip, dev->y_dpi)); in usb_high_scan_prepare_scan()
1226 RIE (usb_high_scan_prepare_mono_8 (dev)); in usb_high_scan_prepare_scan()
1227 dev->get_line = &usb_high_scan_get_mono_8_bit_line; in usb_high_scan_prepare_scan()
1228 dev->backtrack = &usb_high_scan_backtrack_mono_8; in usb_high_scan_prepare_scan()
1229 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_prepare_scan()
1230 RIE (usb_high_scan_prepare_mono_signal_600_dpi (dev)); in usb_high_scan_prepare_scan()
1232 RIE (usb_high_scan_prepare_mono_signal_300_dpi (dev)); in usb_high_scan_prepare_scan()
1233 RIE (usb_mid_sensor_prepare_mono (dev->chip, dev->x_dpi)); in usb_high_scan_prepare_scan()
1234 RIE (usb_mid_motor_prepare_mono (dev->chip, dev->y_dpi)); in usb_high_scan_prepare_scan()
1246 usb_high_scan_suggest_parameters (Mustek_Usb_Device * dev, SANE_Word dpi, in usb_high_scan_suggest_parameters() argument
1254 RIE (usb_high_scan_detect_sensor (dev)); in usb_high_scan_suggest_parameters()
1256 RIE (usb_mid_motor_get_dpi (dev->chip, dpi, &dev->y_dpi)); in usb_high_scan_suggest_parameters()
1258 RIE (usb_mid_sensor_get_dpi (dev->chip, dpi, &dev->x_dpi)); in usb_high_scan_suggest_parameters()
1260 dev->x = x * dev->x_dpi / dpi; in usb_high_scan_suggest_parameters()
1261 dev->y = y * dev->y_dpi / dpi; in usb_high_scan_suggest_parameters()
1262 dev->width = width * dev->x_dpi / dpi; in usb_high_scan_suggest_parameters()
1263 dev->height = height * dev->y_dpi / dpi; in usb_high_scan_suggest_parameters()
1268 dev->scan_mode = RGB24EXT; in usb_high_scan_suggest_parameters()
1269 dev->bytes_per_row = dev->width * 3; in usb_high_scan_suggest_parameters()
1270 dev->bpp = 24; in usb_high_scan_suggest_parameters()
1273 dev->scan_mode = GRAY8EXT; in usb_high_scan_suggest_parameters()
1274 dev->bpp = 8; in usb_high_scan_suggest_parameters()
1275 dev->bytes_per_row = dev->width; in usb_high_scan_suggest_parameters()
1287 usb_high_scan_detect_sensor (Mustek_Usb_Device * dev) in usb_high_scan_detect_sensor() argument
1289 if (dev->is_sensor_detected) in usb_high_scan_detect_sensor()
1294 dev->is_sensor_detected = SANE_TRUE; in usb_high_scan_detect_sensor()
1296 switch (dev->chip->scanner_type) in usb_high_scan_detect_sensor()
1299 dev->chip->sensor = ST_CANON300; in usb_high_scan_detect_sensor()
1300 dev->chip->motor = MT_600; in usb_high_scan_detect_sensor()
1301 dev->is_cis_detected = SANE_TRUE; in usb_high_scan_detect_sensor()
1306 dev->chip->sensor = ST_NEC600; in usb_high_scan_detect_sensor()
1307 dev->chip->motor = MT_1200; in usb_high_scan_detect_sensor()
1308 dev->init_min_expose_time = 2250; in usb_high_scan_detect_sensor()
1309 dev->init_skips_per_row_600 = 0; in usb_high_scan_detect_sensor()
1310 dev->init_home_lines = 32; in usb_high_scan_detect_sensor()
1311 dev->init_dark_lines = 10; in usb_high_scan_detect_sensor()
1312 dev->init_max_power_delay = 220; in usb_high_scan_detect_sensor()
1313 dev->init_min_power_delay = 220; in usb_high_scan_detect_sensor()
1314 dev->init_adjust_way = 3; in usb_high_scan_detect_sensor()
1315 dev->init_red_rgb_600_pga = 30; in usb_high_scan_detect_sensor()
1316 dev->init_green_rgb_600_pga = 30; in usb_high_scan_detect_sensor()
1317 dev->init_blue_rgb_600_pga = 30; in usb_high_scan_detect_sensor()
1318 dev->init_mono_600_pga = 30; in usb_high_scan_detect_sensor()
1319 dev->init_expose_time = 16000; in usb_high_scan_detect_sensor()
1321 dev->init_top_ref = 6; in usb_high_scan_detect_sensor()
1322 dev->init_front_end = 12; in usb_high_scan_detect_sensor()
1323 dev->init_red_offset = 128; in usb_high_scan_detect_sensor()
1324 dev->init_green_offset = 128; in usb_high_scan_detect_sensor()
1325 dev->init_blue_offset = 128; in usb_high_scan_detect_sensor()
1327 dev->init_rgb_24_back_track = 0; in usb_high_scan_detect_sensor()
1328 dev->init_mono_8_back_track = 40; in usb_high_scan_detect_sensor()
1330 dev->is_cis_detected = SANE_FALSE; in usb_high_scan_detect_sensor()
1345 dev->chip->motor = MT_1200; in usb_high_scan_detect_sensor()
1346 dev->is_cis_detected = SANE_TRUE; in usb_high_scan_detect_sensor()
1352 buffer = (SANE_Byte *) malloc (dev->init_bytes_per_strip); in usb_high_scan_detect_sensor()
1360 dev->scan_mode = GRAY8EXT; in usb_high_scan_detect_sensor()
1361 dev->x_dpi = 600; in usb_high_scan_detect_sensor()
1362 dev->y_dpi = 1200; in usb_high_scan_detect_sensor()
1363 dev->width = 5400; in usb_high_scan_detect_sensor()
1365 RIE (usb_high_scan_init_asic (dev, ST_CANON600)); in usb_high_scan_detect_sensor()
1366 RIE (usb_low_turn_peripheral_power (dev->chip, SANE_TRUE)); in usb_high_scan_detect_sensor()
1367 RIE (usb_low_enable_motor (dev->chip, SANE_TRUE)); /* Enable Motor */ in usb_high_scan_detect_sensor()
1368 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_detect_sensor()
1369 RIE (usb_low_invert_image (dev->chip, SANE_FALSE)); in usb_high_scan_detect_sensor()
1370 RIE (usb_low_set_image_dpi (dev->chip, SANE_TRUE, SW_P6P6)); in usb_high_scan_detect_sensor()
1371 dev->bytes_per_strip = dev->adjust_length_600; in usb_high_scan_detect_sensor()
1372 dev->bytes_per_row = 5400; in usb_high_scan_detect_sensor()
1373 dev->dummy = 0; in usb_high_scan_detect_sensor()
1375 RIE (usb_high_scan_wait_carriage_home (dev)); in usb_high_scan_detect_sensor()
1376 RIE (usb_high_scan_hardware_calibration (dev)); in usb_high_scan_detect_sensor()
1377 RIE (usb_high_scan_prepare_scan (dev)); in usb_high_scan_detect_sensor()
1380 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_detect_sensor()
1381 RIE (usb_low_get_row (dev->chip, buffer, &lines_left)); in usb_high_scan_detect_sensor()
1382 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_detect_sensor()
1397 dev->chip->sensor = ST_CANON600; in usb_high_scan_detect_sensor()
1406 dev->chip->sensor = ST_CANON300600; in usb_high_scan_detect_sensor()
1417 "(%d)\n", dev->chip->scanner_type); in usb_high_scan_detect_sensor()
1426 usb_high_scan_setup_scan (Mustek_Usb_Device * dev, Colormode color_mode, in usb_high_scan_setup_scan() argument
1436 if (!dev->is_open) in usb_high_scan_setup_scan()
1441 if (!dev->is_prepared) in usb_high_scan_setup_scan()
1447 RIE (usb_high_scan_init_asic (dev, dev->chip->sensor)); in usb_high_scan_setup_scan()
1448 RIE (usb_low_turn_peripheral_power (dev->chip, SANE_TRUE)); in usb_high_scan_setup_scan()
1449 RIE (usb_low_enable_motor (dev->chip, SANE_TRUE)); /* Enable Motor */ in usb_high_scan_setup_scan()
1450 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_setup_scan()
1451 RIE (usb_low_invert_image (dev->chip, SANE_FALSE)); in usb_high_scan_setup_scan()
1452 if (!dev->is_cis_detected) in usb_high_scan_setup_scan()
1454 usb_mid_front_set_front_end_mode (dev->chip, 16); in usb_high_scan_setup_scan()
1455 usb_mid_front_enable (dev->chip, SANE_TRUE); in usb_high_scan_setup_scan()
1456 usb_mid_front_set_top_reference (dev->chip, 244); in usb_high_scan_setup_scan()
1457 usb_mid_front_set_rgb_signal (dev->chip); in usb_high_scan_setup_scan()
1461 dev->scan_mode = color_mode; in usb_high_scan_setup_scan()
1462 dev->x_dpi = x_dpi; in usb_high_scan_setup_scan()
1463 dev->y_dpi = y_dpi; in usb_high_scan_setup_scan()
1464 dev->width = width; in usb_high_scan_setup_scan()
1466 switch (dev->scan_mode) in usb_high_scan_setup_scan()
1469 dev->bytes_per_row = 3 * dev->width; in usb_high_scan_setup_scan()
1470 upper_bound = ((y * 600) / dev->y_dpi) + dev->init_j_lines; in usb_high_scan_setup_scan()
1473 dev->bytes_per_row = dev->width; in usb_high_scan_setup_scan()
1474 upper_bound = ((y * 600) / dev->y_dpi) + dev->init_j_lines + 4; in usb_high_scan_setup_scan()
1478 upper_bound = ((y * 600) / dev->y_dpi) + dev->init_j_lines + 4; in usb_high_scan_setup_scan()
1482 if (usb_mid_sensor_is600_mode (dev->chip, dev->x_dpi)) in usb_high_scan_setup_scan()
1485 left_bound = (x * 600 / dev->x_dpi) + dev->init_skips_per_row_600; in usb_high_scan_setup_scan()
1486 dev->skips_per_row = (((left_bound % 32) * dev->x_dpi + 300) / 600); in usb_high_scan_setup_scan()
1491 left_bound = (x * 300 / dev->x_dpi) + dev->init_skips_per_row_300; in usb_high_scan_setup_scan()
1492 dev->skips_per_row = (((left_bound % 32) * dev->x_dpi + 150) / 300); in usb_high_scan_setup_scan()
1495 dev->dummy = (left_bound / 32) * 32; in usb_high_scan_setup_scan()
1497 switch (dev->scan_mode) in usb_high_scan_setup_scan()
1500 dev->bytes_per_strip = dev->skips_per_row + dev->width; in usb_high_scan_setup_scan()
1503 dev->bytes_per_strip = dev->skips_per_row + dev->width; in usb_high_scan_setup_scan()
1509 dev->bytes_per_strip = ((dev->bytes_per_strip + 1) / 2) * 2; in usb_high_scan_setup_scan()
1512 RIE (usb_high_scan_wait_carriage_home (dev)); in usb_high_scan_setup_scan()
1513 RIE (usb_high_scan_hardware_calibration (dev)); in usb_high_scan_setup_scan()
1514 RIE (usb_high_scan_line_calibration (dev)); in usb_high_scan_setup_scan()
1515 RIE (usb_high_scan_step_forward (dev, upper_bound)); in usb_high_scan_setup_scan()
1516 RIE (usb_high_scan_prepare_scan (dev)); in usb_high_scan_setup_scan()
1517 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_setup_scan()
1524 usb_high_scan_get_rows (Mustek_Usb_Device * dev, SANE_Byte * block, in usb_high_scan_get_rows() argument
1530 if (!dev->is_open) in usb_high_scan_get_rows()
1535 if (!dev->is_prepared) in usb_high_scan_get_rows()
1542 RIE ((*dev->get_line) (dev, block, is_order_invert)); in usb_high_scan_get_rows()
1543 block += dev->bytes_per_row; in usb_high_scan_get_rows()
1551 usb_high_scan_stop_scan (Mustek_Usb_Device * dev) in usb_high_scan_stop_scan() argument
1556 if (!dev->is_open) in usb_high_scan_stop_scan()
1561 if (!dev->is_prepared) in usb_high_scan_stop_scan()
1566 switch (dev->scan_mode) in usb_high_scan_stop_scan()
1569 RIE (usb_high_cal_exit (dev->blue_calibrator)); in usb_high_scan_stop_scan()
1570 if (dev->blue_calibrator) in usb_high_scan_stop_scan()
1571 free (dev->blue_calibrator); in usb_high_scan_stop_scan()
1572 dev->blue_calibrator = NULL; in usb_high_scan_stop_scan()
1573 RIE (usb_high_cal_exit (dev->green_calibrator)); in usb_high_scan_stop_scan()
1574 if (dev->green_calibrator) in usb_high_scan_stop_scan()
1575 free (dev->green_calibrator); in usb_high_scan_stop_scan()
1576 dev->green_calibrator = NULL; in usb_high_scan_stop_scan()
1577 RIE (usb_high_cal_exit (dev->red_calibrator)); in usb_high_scan_stop_scan()
1578 if (dev->red_calibrator) in usb_high_scan_stop_scan()
1579 free (dev->red_calibrator); in usb_high_scan_stop_scan()
1580 dev->red_calibrator = NULL; in usb_high_scan_stop_scan()
1583 RIE (usb_high_cal_exit (dev->mono_calibrator)); in usb_high_scan_stop_scan()
1584 if (dev->mono_calibrator) in usb_high_scan_stop_scan()
1585 free (dev->mono_calibrator); in usb_high_scan_stop_scan()
1586 dev->mono_calibrator = NULL; in usb_high_scan_stop_scan()
1592 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_stop_scan()
1593 if (!dev->is_cis_detected) in usb_high_scan_stop_scan()
1594 RIE (usb_low_turn_lamp_power (dev->chip, SANE_FALSE)); in usb_high_scan_stop_scan()
1601 usb_high_scan_init_asic (Mustek_Usb_Device * dev, Sensor_Type sensor) in usb_high_scan_init_asic() argument
1676 RIE (usb_low_adjust_timing (dev->chip, adjust)); in usb_high_scan_init_asic()
1677 RIE (usb_low_select_timing (dev->chip, select)); in usb_high_scan_init_asic()
1678 RIE (usb_low_set_timing (dev->chip, ccd_dpi)); in usb_high_scan_init_asic()
1679 RIE (usb_low_set_sram_bank (dev->chip, bank_size)); in usb_high_scan_init_asic()
1680 RIE (usb_low_set_asic_io_pins (dev->chip, pin)); in usb_high_scan_init_asic()
1681 RIE (usb_low_set_rgb_sel_pins (dev->chip, pin)); in usb_high_scan_init_asic()
1682 RIE (usb_low_set_motor_signal (dev->chip, motor)); in usb_high_scan_init_asic()
1683 RIE (usb_low_set_test_sram_mode (dev->chip, SANE_FALSE)); in usb_high_scan_init_asic()
1684 RIE (usb_low_set_fix_pattern (dev->chip, fix_pattern)); in usb_high_scan_init_asic()
1685 RIE (usb_low_set_ad_timing (dev->chip, ad_timing)); in usb_high_scan_init_asic()
1692 usb_high_scan_evaluate_max_level (Mustek_Usb_Device * dev, in usb_high_scan_evaluate_max_level() argument
1706 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_evaluate_max_level()
1709 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_evaluate_max_level()
1712 if (max_level < dev->green[j]) in usb_high_scan_evaluate_max_level()
1713 max_level = dev->green[j]; in usb_high_scan_evaluate_max_level()
1716 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_evaluate_max_level()
1726 usb_high_scan_bssc_power_delay (Mustek_Usb_Device * dev, in usb_high_scan_bssc_power_delay() argument
1741 RIE ((*set_power_delay) (dev->chip, *target)); in usb_high_scan_bssc_power_delay()
1744 RIE (usb_high_scan_evaluate_max_level (dev, dev->init_powerdelay_lines, in usb_high_scan_bssc_power_delay()
1763 RIE ((*set_power_delay) (dev->chip, *target)); in usb_high_scan_bssc_power_delay()
1772 RIE ((*set_power_delay) (dev->chip, *target)); in usb_high_scan_bssc_power_delay()
1773 RIE (usb_high_scan_evaluate_max_level (dev, dev->init_powerdelay_lines, in usb_high_scan_bssc_power_delay()
1799 usb_high_scan_adjust_rgb_600_power_delay (Mustek_Usb_Device * dev) in usb_high_scan_adjust_rgb_600_power_delay() argument
1806 max_power_delay = (SANE_Byte) (dev->expose_time / 64); in usb_high_scan_adjust_rgb_600_power_delay()
1808 if (dev->is_adjusted_rgb_600_power_delay) in usb_high_scan_adjust_rgb_600_power_delay()
1811 dev->red_rgb_600_power_delay = max_power_delay; in usb_high_scan_adjust_rgb_600_power_delay()
1812 dev->green_rgb_600_power_delay = max_power_delay; in usb_high_scan_adjust_rgb_600_power_delay()
1813 dev->blue_rgb_600_power_delay = max_power_delay; in usb_high_scan_adjust_rgb_600_power_delay()
1815 RIE (usb_low_set_ccd_width (dev->chip, dev->expose_time)); in usb_high_scan_adjust_rgb_600_power_delay()
1816 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_adjust_rgb_600_power_delay()
1817 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_adjust_rgb_600_power_delay()
1818 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_adjust_rgb_600_power_delay()
1819 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_adjust_rgb_600_power_delay()
1820 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_adjust_rgb_600_power_delay()
1821 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_adjust_rgb_600_power_delay()
1822 RIE (usb_low_set_dummy (dev->chip, dev->init_skips_per_row_600)); in usb_high_scan_adjust_rgb_600_power_delay()
1823 RIE (usb_low_set_image_byte_width (dev->chip, dev->adjust_length_600)); in usb_high_scan_adjust_rgb_600_power_delay()
1824 RIE (usb_low_set_pixel_depth (dev->chip, PD_8BIT)); in usb_high_scan_adjust_rgb_600_power_delay()
1827 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_GREEN)); in usb_high_scan_adjust_rgb_600_power_delay()
1828 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 600)); in usb_high_scan_adjust_rgb_600_power_delay()
1830 RIE (usb_mid_front_set_green_pga (dev->chip, dev->green_rgb_600_pga)); in usb_high_scan_adjust_rgb_600_power_delay()
1832 (dev, &usb_low_set_green_pd, &signal_state, in usb_high_scan_adjust_rgb_600_power_delay()
1833 &dev->green_rgb_600_power_delay, in usb_high_scan_adjust_rgb_600_power_delay()
1834 max_power_delay, 0, dev->init_max_power_delay, in usb_high_scan_adjust_rgb_600_power_delay()
1835 dev->adjust_length_600)); in usb_high_scan_adjust_rgb_600_power_delay()
1838 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_BLUE)); in usb_high_scan_adjust_rgb_600_power_delay()
1839 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 600)); in usb_high_scan_adjust_rgb_600_power_delay()
1841 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->blue_rgb_600_pga)); in usb_high_scan_adjust_rgb_600_power_delay()
1843 (dev, &usb_low_set_blue_pd, &signal_state, in usb_high_scan_adjust_rgb_600_power_delay()
1844 &dev->blue_rgb_600_power_delay, in usb_high_scan_adjust_rgb_600_power_delay()
1845 max_power_delay, 0, dev->init_max_power_delay, in usb_high_scan_adjust_rgb_600_power_delay()
1846 dev->adjust_length_600)); in usb_high_scan_adjust_rgb_600_power_delay()
1849 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_RED)); in usb_high_scan_adjust_rgb_600_power_delay()
1850 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 600)); in usb_high_scan_adjust_rgb_600_power_delay()
1852 RIE (usb_mid_front_set_red_pga (dev->chip, dev->red_rgb_600_pga)); in usb_high_scan_adjust_rgb_600_power_delay()
1854 (dev, &usb_low_set_red_pd, &signal_state, in usb_high_scan_adjust_rgb_600_power_delay()
1855 &dev->red_rgb_600_power_delay, max_power_delay, 0, in usb_high_scan_adjust_rgb_600_power_delay()
1856 dev->init_max_power_delay, dev->adjust_length_600)); in usb_high_scan_adjust_rgb_600_power_delay()
1858 dev->is_adjusted_rgb_600_power_delay = SANE_TRUE; in usb_high_scan_adjust_rgb_600_power_delay()
1864 usb_high_scan_adjust_mono_600_power_delay (Mustek_Usb_Device * dev) in usb_high_scan_adjust_mono_600_power_delay() argument
1871 max_power_delay = (SANE_Byte) (dev->expose_time / 64); in usb_high_scan_adjust_mono_600_power_delay()
1872 if (dev->is_adjusted_mono_600_power_delay) in usb_high_scan_adjust_mono_600_power_delay()
1875 dev->red_mono_600_power_delay = max_power_delay; in usb_high_scan_adjust_mono_600_power_delay()
1876 dev->green_mono_600_power_delay = max_power_delay; in usb_high_scan_adjust_mono_600_power_delay()
1877 dev->blue_mono_600_power_delay = max_power_delay; in usb_high_scan_adjust_mono_600_power_delay()
1880 RIE (usb_low_set_ccd_width (dev->chip, dev->expose_time)); in usb_high_scan_adjust_mono_600_power_delay()
1881 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_adjust_mono_600_power_delay()
1882 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_adjust_mono_600_power_delay()
1883 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_adjust_mono_600_power_delay()
1884 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_adjust_mono_600_power_delay()
1885 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_adjust_mono_600_power_delay()
1886 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_adjust_mono_600_power_delay()
1887 RIE (usb_low_set_dummy (dev->chip, dev->init_skips_per_row_600)); in usb_high_scan_adjust_mono_600_power_delay()
1888 RIE (usb_low_set_image_byte_width (dev->chip, dev->adjust_length_600)); in usb_high_scan_adjust_mono_600_power_delay()
1889 RIE (usb_low_set_pixel_depth (dev->chip, PD_8BIT)); in usb_high_scan_adjust_mono_600_power_delay()
1892 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_GREEN)); in usb_high_scan_adjust_mono_600_power_delay()
1893 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 600)); in usb_high_scan_adjust_mono_600_power_delay()
1895 RIE (usb_mid_front_set_red_pga (dev->chip, dev->mono_600_pga)); in usb_high_scan_adjust_mono_600_power_delay()
1896 RIE (usb_mid_front_set_green_pga (dev->chip, dev->mono_600_pga)); in usb_high_scan_adjust_mono_600_power_delay()
1897 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->mono_600_pga)); in usb_high_scan_adjust_mono_600_power_delay()
1899 (dev, &usb_low_set_green_pd, &signal_state, in usb_high_scan_adjust_mono_600_power_delay()
1900 &dev->green_mono_600_power_delay, in usb_high_scan_adjust_mono_600_power_delay()
1901 max_power_delay, 0, dev->init_max_power_delay, in usb_high_scan_adjust_mono_600_power_delay()
1902 dev->adjust_length_600)); in usb_high_scan_adjust_mono_600_power_delay()
1904 dev->is_adjusted_mono_600_power_delay = SANE_TRUE; in usb_high_scan_adjust_mono_600_power_delay()
1911 usb_high_scan_adjust_mono_600_exposure (Mustek_Usb_Device * dev) in usb_high_scan_adjust_mono_600_exposure() argument
1917 if (dev->is_adjusted_mono_600_exposure) in usb_high_scan_adjust_mono_600_exposure()
1920 RIE (usb_high_scan_evaluate_pixel_rate (dev)); in usb_high_scan_adjust_mono_600_exposure()
1921 transfer_time = dev->pixel_rate * dev->x_dpi / 600; in usb_high_scan_adjust_mono_600_exposure()
1925 dev->mono_600_exposure = in usb_high_scan_adjust_mono_600_exposure()
1927 usb_mid_motor_mono_capability (dev->chip, dev->y_dpi))); in usb_high_scan_adjust_mono_600_exposure()
1928 dev->mono_600_exposure = ((dev->mono_600_exposure + 63) / 64) * 64; in usb_high_scan_adjust_mono_600_exposure()
1929 dev->is_adjusted_mono_600_exposure = SANE_TRUE; in usb_high_scan_adjust_mono_600_exposure()
1937 usb_high_scan_adjust_mono_600_offset (Mustek_Usb_Device * dev)
1940 if (dev->is_adjusted_mono_600_offset)
1949 usb_high_scan_adjust_mono_600_pga (Mustek_Usb_Device * dev)
1951 DBG (5, "usb_high_scan_adjust_mono_600_pga: start (dev = %p)\n", dev);
1958 usb_high_scan_adjust_mono_600_skips_per_row (Mustek_Usb_Device * dev)
1960 DBG (5, "usb_high_scan_adjust_mono_600_skips_per_row: start (dev = %p)\n",
1961 dev);
1968 usb_high_scan_adjust_rgb_300_power_delay (Mustek_Usb_Device * dev) in usb_high_scan_adjust_rgb_300_power_delay() argument
1976 max_power_delay = (SANE_Byte) (dev->expose_time / 64); in usb_high_scan_adjust_rgb_300_power_delay()
1977 if (dev->is_adjusted_rgb_300_power_delay) in usb_high_scan_adjust_rgb_300_power_delay()
1980 dev->red_rgb_300_power_delay = max_power_delay; in usb_high_scan_adjust_rgb_300_power_delay()
1981 dev->green_rgb_300_power_delay = max_power_delay; in usb_high_scan_adjust_rgb_300_power_delay()
1982 dev->blue_rgb_300_power_delay = max_power_delay; in usb_high_scan_adjust_rgb_300_power_delay()
1984 RIE (usb_low_set_ccd_width (dev->chip, dev->expose_time)); in usb_high_scan_adjust_rgb_300_power_delay()
1985 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_adjust_rgb_300_power_delay()
1986 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_adjust_rgb_300_power_delay()
1987 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_adjust_rgb_300_power_delay()
1988 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_adjust_rgb_300_power_delay()
1989 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_adjust_rgb_300_power_delay()
1990 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_adjust_rgb_300_power_delay()
1991 RIE (usb_low_set_dummy (dev->chip, dev->init_skips_per_row_300)); in usb_high_scan_adjust_rgb_300_power_delay()
1992 RIE (usb_low_set_image_byte_width (dev->chip, dev->adjust_length_300)); in usb_high_scan_adjust_rgb_300_power_delay()
1993 RIE (usb_low_set_pixel_depth (dev->chip, PD_8BIT)); in usb_high_scan_adjust_rgb_300_power_delay()
1996 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_GREEN)); in usb_high_scan_adjust_rgb_300_power_delay()
1997 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 300)); in usb_high_scan_adjust_rgb_300_power_delay()
2000 RIE (usb_mid_front_set_green_pga (dev->chip, dev->green_rgb_300_pga)); in usb_high_scan_adjust_rgb_300_power_delay()
2002 (dev, &usb_low_set_green_pd, &signal_state, in usb_high_scan_adjust_rgb_300_power_delay()
2003 &dev->green_rgb_300_power_delay, in usb_high_scan_adjust_rgb_300_power_delay()
2004 max_power_delay, 0, dev->init_max_power_delay, in usb_high_scan_adjust_rgb_300_power_delay()
2005 dev->adjust_length_300)); in usb_high_scan_adjust_rgb_300_power_delay()
2008 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_BLUE)); in usb_high_scan_adjust_rgb_300_power_delay()
2009 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 300)); in usb_high_scan_adjust_rgb_300_power_delay()
2012 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->blue_rgb_300_pga)); in usb_high_scan_adjust_rgb_300_power_delay()
2014 (dev, &usb_low_set_blue_pd, &signal_state, in usb_high_scan_adjust_rgb_300_power_delay()
2015 &dev->blue_rgb_300_power_delay, max_power_delay, 0, in usb_high_scan_adjust_rgb_300_power_delay()
2016 dev->init_max_power_delay, dev->adjust_length_300)); in usb_high_scan_adjust_rgb_300_power_delay()
2019 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_RED)); in usb_high_scan_adjust_rgb_300_power_delay()
2020 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 300)); in usb_high_scan_adjust_rgb_300_power_delay()
2023 RIE (usb_mid_front_set_red_pga (dev->chip, dev->red_rgb_300_pga)); in usb_high_scan_adjust_rgb_300_power_delay()
2025 (dev, &usb_low_set_red_pd, &signal_state, in usb_high_scan_adjust_rgb_300_power_delay()
2026 &dev->red_rgb_300_power_delay, max_power_delay, 0, in usb_high_scan_adjust_rgb_300_power_delay()
2027 dev->init_max_power_delay, dev->adjust_length_300)); in usb_high_scan_adjust_rgb_300_power_delay()
2028 dev->is_adjusted_rgb_300_power_delay = SANE_TRUE; in usb_high_scan_adjust_rgb_300_power_delay()
2034 usb_high_scan_adjust_mono_300_power_delay (Mustek_Usb_Device * dev) in usb_high_scan_adjust_mono_300_power_delay() argument
2041 max_power_delay = (SANE_Byte) (dev->expose_time / 64); in usb_high_scan_adjust_mono_300_power_delay()
2042 if (dev->is_adjusted_mono_300_power_delay) in usb_high_scan_adjust_mono_300_power_delay()
2045 dev->red_mono_300_power_delay = max_power_delay; in usb_high_scan_adjust_mono_300_power_delay()
2046 dev->green_mono_300_power_delay = max_power_delay; in usb_high_scan_adjust_mono_300_power_delay()
2047 dev->blue_mono_300_power_delay = max_power_delay; in usb_high_scan_adjust_mono_300_power_delay()
2050 RIE (usb_low_set_ccd_width (dev->chip, dev->expose_time)); in usb_high_scan_adjust_mono_300_power_delay()
2051 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_adjust_mono_300_power_delay()
2052 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_adjust_mono_300_power_delay()
2053 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_adjust_mono_300_power_delay()
2054 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_adjust_mono_300_power_delay()
2055 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_adjust_mono_300_power_delay()
2056 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_adjust_mono_300_power_delay()
2057 RIE (usb_low_set_dummy (dev->chip, dev->init_skips_per_row_300)); in usb_high_scan_adjust_mono_300_power_delay()
2058 RIE (usb_low_set_image_byte_width (dev->chip, dev->adjust_length_300)); in usb_high_scan_adjust_mono_300_power_delay()
2059 RIE (usb_low_set_pixel_depth (dev->chip, PD_8BIT)); in usb_high_scan_adjust_mono_300_power_delay()
2062 RIE (usb_mid_motor_prepare_adjust (dev->chip, CH_GREEN)); in usb_high_scan_adjust_mono_300_power_delay()
2063 RIE (usb_mid_sensor_prepare_rgb (dev->chip, 300)); in usb_high_scan_adjust_mono_300_power_delay()
2066 RIE (usb_mid_front_set_red_pga (dev->chip, dev->mono_300_pga)); in usb_high_scan_adjust_mono_300_power_delay()
2067 RIE (usb_mid_front_set_green_pga (dev->chip, dev->mono_300_pga)); in usb_high_scan_adjust_mono_300_power_delay()
2068 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->mono_300_pga)); in usb_high_scan_adjust_mono_300_power_delay()
2070 (dev, &usb_low_set_green_pd, &signal_state, in usb_high_scan_adjust_mono_300_power_delay()
2071 &dev->green_mono_300_power_delay, in usb_high_scan_adjust_mono_300_power_delay()
2072 max_power_delay, 0, dev->init_max_power_delay, in usb_high_scan_adjust_mono_300_power_delay()
2073 dev->adjust_length_300)); in usb_high_scan_adjust_mono_300_power_delay()
2075 dev->is_adjusted_mono_300_power_delay = SANE_TRUE; in usb_high_scan_adjust_mono_300_power_delay()
2081 usb_high_scan_evaluate_pixel_rate (Mustek_Usb_Device * dev) in usb_high_scan_evaluate_pixel_rate() argument
2083 DBG (5, "usb_high_scan_evaluate_pixel_rate: start, dev=%p\n", (void *) dev); in usb_high_scan_evaluate_pixel_rate()
2086 dev->pixel_rate = 2000; in usb_high_scan_evaluate_pixel_rate()
2087 dev->is_evaluate_pixel_rate = SANE_TRUE; in usb_high_scan_evaluate_pixel_rate()
2093 usb_high_scan_calibration_rgb_24 (Mustek_Usb_Device * dev) in usb_high_scan_calibration_rgb_24() argument
2102 DBG (5, "usb_high_scan_calibration_rgb_24: start, dev=%p\n", (void *) dev); in usb_high_scan_calibration_rgb_24()
2103 if (dev->is_cis_detected) in usb_high_scan_calibration_rgb_24()
2105 RIE (usb_mid_motor_prepare_calibrate_rgb (dev->chip, dev->y_dpi)); in usb_high_scan_calibration_rgb_24()
2106 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_calibration_rgb_24()
2114 dev->red_calibrator = (Calibrator *) malloc (sizeof (Calibrator)); in usb_high_scan_calibration_rgb_24()
2115 if (!dev->red_calibrator) in usb_high_scan_calibration_rgb_24()
2118 RIE (usb_high_cal_init (dev->red_calibrator, I8O8RGB, in usb_high_scan_calibration_rgb_24()
2119 dev->init_k_level << 8, 0)); in usb_high_scan_calibration_rgb_24()
2120 RIE (usb_high_cal_prepare (dev->red_calibrator, dev->width)); in usb_high_scan_calibration_rgb_24()
2121 RIE (usb_high_cal_embed_gamma (dev->red_calibrator, dev->gamma_table)); in usb_high_scan_calibration_rgb_24()
2123 (dev->red_calibrator, 1, minor_average, 8, dev->width, &white_need, in usb_high_scan_calibration_rgb_24()
2126 dev->green_calibrator = (Calibrator *) malloc (sizeof (Calibrator)); in usb_high_scan_calibration_rgb_24()
2127 if (!dev->green_calibrator) in usb_high_scan_calibration_rgb_24()
2129 RIE (usb_high_cal_init (dev->green_calibrator, I8O8RGB, in usb_high_scan_calibration_rgb_24()
2130 dev->init_k_level << 8, 0)); in usb_high_scan_calibration_rgb_24()
2131 RIE (usb_high_cal_prepare (dev->green_calibrator, dev->width)); in usb_high_scan_calibration_rgb_24()
2132 RIE (usb_high_cal_embed_gamma (dev->green_calibrator, dev->gamma_table)); in usb_high_scan_calibration_rgb_24()
2133 RIE (usb_high_cal_setup (dev->green_calibrator, 1, minor_average, 8, in usb_high_scan_calibration_rgb_24()
2134 dev->width, &white_need, &dark_need)); in usb_high_scan_calibration_rgb_24()
2136 dev->blue_calibrator = (Calibrator *) malloc (sizeof (Calibrator)); in usb_high_scan_calibration_rgb_24()
2137 if (!dev->blue_calibrator) in usb_high_scan_calibration_rgb_24()
2140 RIE (usb_high_cal_init (dev->blue_calibrator, I8O8RGB, in usb_high_scan_calibration_rgb_24()
2141 dev->init_k_level << 8, 0)); in usb_high_scan_calibration_rgb_24()
2142 RIE (usb_high_cal_prepare (dev->blue_calibrator, dev->width)); in usb_high_scan_calibration_rgb_24()
2143 RIE (usb_high_cal_embed_gamma (dev->blue_calibrator, dev->gamma_table)); in usb_high_scan_calibration_rgb_24()
2144 RIE (usb_high_cal_setup (dev->blue_calibrator, 1, minor_average, 8, in usb_high_scan_calibration_rgb_24()
2145 dev->width, &white_need, &dark_need)); in usb_high_scan_calibration_rgb_24()
2148 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_calibration_rgb_24()
2152 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_calibration_rgb_24()
2153 RIE (usb_high_cal_fill_in_white (dev->green_calibrator, i, 0, in usb_high_scan_calibration_rgb_24()
2154 (void *) (dev->green + in usb_high_scan_calibration_rgb_24()
2155 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2156 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_calibration_rgb_24()
2157 RIE (usb_high_cal_fill_in_white (dev->green_calibrator, i, 1, in usb_high_scan_calibration_rgb_24()
2158 (void *) (dev->green + in usb_high_scan_calibration_rgb_24()
2159 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2161 RIE (usb_low_get_row (dev->chip, dev->blue, &lines_left)); in usb_high_scan_calibration_rgb_24()
2162 RIE (usb_high_cal_fill_in_white (dev->blue_calibrator, i, 0, in usb_high_scan_calibration_rgb_24()
2163 (void *) (dev->blue + in usb_high_scan_calibration_rgb_24()
2164 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2165 RIE (usb_low_get_row (dev->chip, dev->blue, &lines_left)); in usb_high_scan_calibration_rgb_24()
2166 RIE (usb_high_cal_fill_in_white (dev->blue_calibrator, i, 1, in usb_high_scan_calibration_rgb_24()
2167 (void *) (dev->blue + in usb_high_scan_calibration_rgb_24()
2168 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2170 RIE (usb_low_get_row (dev->chip, dev->red, &lines_left)); in usb_high_scan_calibration_rgb_24()
2171 RIE (usb_high_cal_fill_in_white (dev->red_calibrator, i, 0, in usb_high_scan_calibration_rgb_24()
2172 (void *) (dev->red + in usb_high_scan_calibration_rgb_24()
2173 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2174 RIE (usb_low_get_row (dev->chip, dev->red, &lines_left)); in usb_high_scan_calibration_rgb_24()
2175 RIE (usb_high_cal_fill_in_white (dev->red_calibrator, i, 1, in usb_high_scan_calibration_rgb_24()
2176 (void *) (dev->red + in usb_high_scan_calibration_rgb_24()
2177 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2179 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_calibration_rgb_24()
2181 RIE (usb_high_cal_evaluate_white (dev->green_calibrator, in usb_high_scan_calibration_rgb_24()
2182 dev->init_green_factor)); in usb_high_scan_calibration_rgb_24()
2183 RIE (usb_high_cal_evaluate_white (dev->blue_calibrator, in usb_high_scan_calibration_rgb_24()
2184 dev->init_blue_factor)); in usb_high_scan_calibration_rgb_24()
2185 RIE (usb_high_cal_evaluate_white (dev->red_calibrator, in usb_high_scan_calibration_rgb_24()
2186 dev->init_red_factor)); in usb_high_scan_calibration_rgb_24()
2188 RIE (usb_mid_motor_prepare_calibrate_rgb (dev->chip, dev->y_dpi)); in usb_high_scan_calibration_rgb_24()
2189 RIE (usb_low_enable_motor (dev->chip, SANE_FALSE)); in usb_high_scan_calibration_rgb_24()
2190 RIE (usb_low_turn_lamp_power (dev->chip, SANE_FALSE)); in usb_high_scan_calibration_rgb_24()
2193 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_calibration_rgb_24()
2197 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_calibration_rgb_24()
2198 RIE (usb_high_cal_fill_in_dark (dev->green_calibrator, i, 0, in usb_high_scan_calibration_rgb_24()
2199 (void *) (dev->green + in usb_high_scan_calibration_rgb_24()
2200 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2201 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_calibration_rgb_24()
2202 RIE (usb_high_cal_fill_in_dark (dev->green_calibrator, i, 1, in usb_high_scan_calibration_rgb_24()
2203 (void *) (dev->green + in usb_high_scan_calibration_rgb_24()
2204 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2206 RIE (usb_low_get_row (dev->chip, dev->blue, &lines_left)); in usb_high_scan_calibration_rgb_24()
2207 RIE (usb_high_cal_fill_in_dark (dev->blue_calibrator, i, 0, in usb_high_scan_calibration_rgb_24()
2208 (void *) (dev->blue + in usb_high_scan_calibration_rgb_24()
2209 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2210 RIE (usb_low_get_row (dev->chip, dev->blue, &lines_left)); in usb_high_scan_calibration_rgb_24()
2211 RIE (usb_high_cal_fill_in_dark (dev->blue_calibrator, i, 1, in usb_high_scan_calibration_rgb_24()
2212 (void *) (dev->blue + in usb_high_scan_calibration_rgb_24()
2213 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2215 RIE (usb_low_get_row (dev->chip, dev->red, &lines_left)); in usb_high_scan_calibration_rgb_24()
2216 RIE (usb_high_cal_fill_in_dark (dev->red_calibrator, i, 0, in usb_high_scan_calibration_rgb_24()
2217 (void *) (dev->red + in usb_high_scan_calibration_rgb_24()
2218 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2219 RIE (usb_low_get_row (dev->chip, dev->red, &lines_left)); in usb_high_scan_calibration_rgb_24()
2220 RIE (usb_high_cal_fill_in_dark (dev->red_calibrator, i, 1, in usb_high_scan_calibration_rgb_24()
2221 (void *) (dev->red + in usb_high_scan_calibration_rgb_24()
2222 dev->skips_per_row))); in usb_high_scan_calibration_rgb_24()
2224 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_calibration_rgb_24()
2225 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_calibration_rgb_24()
2227 RIE (usb_high_cal_evaluate_dark (dev->green_calibrator, in usb_high_scan_calibration_rgb_24()
2228 dev->init_green_black_factor)); in usb_high_scan_calibration_rgb_24()
2229 RIE (usb_high_cal_evaluate_dark (dev->blue_calibrator, in usb_high_scan_calibration_rgb_24()
2230 dev->init_blue_black_factor)); in usb_high_scan_calibration_rgb_24()
2231 RIE (usb_high_cal_evaluate_dark (dev->red_calibrator, in usb_high_scan_calibration_rgb_24()
2232 dev->init_red_black_factor)); in usb_high_scan_calibration_rgb_24()
2234 RIE (usb_high_cal_evaluate_calibrator (dev->green_calibrator)); in usb_high_scan_calibration_rgb_24()
2235 RIE (usb_high_cal_evaluate_calibrator (dev->blue_calibrator)); in usb_high_scan_calibration_rgb_24()
2236 RIE (usb_high_cal_evaluate_calibrator (dev->red_calibrator)); in usb_high_scan_calibration_rgb_24()
2242 usb_high_scan_calibration_mono_8 (Mustek_Usb_Device * dev) in usb_high_scan_calibration_mono_8() argument
2251 RIE (usb_mid_motor_prepare_calibrate_mono (dev->chip, dev->y_dpi)); in usb_high_scan_calibration_mono_8()
2252 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_calibration_mono_8()
2254 dev->mono_calibrator = (Calibrator *) malloc (sizeof (Calibrator)); in usb_high_scan_calibration_mono_8()
2255 if (!dev->mono_calibrator) in usb_high_scan_calibration_mono_8()
2258 RIE (usb_high_cal_init (dev->mono_calibrator, I8O8MONO, in usb_high_scan_calibration_mono_8()
2259 dev->init_k_level << 8, 0)); in usb_high_scan_calibration_mono_8()
2260 RIE (usb_high_cal_prepare (dev->mono_calibrator, dev->width)); in usb_high_scan_calibration_mono_8()
2261 RIE (usb_high_cal_embed_gamma (dev->mono_calibrator, dev->gamma_table)); in usb_high_scan_calibration_mono_8()
2262 RIE (usb_high_cal_setup (dev->mono_calibrator, 1, 1, 8, in usb_high_scan_calibration_mono_8()
2263 dev->width, &white_need, &dark_need)); in usb_high_scan_calibration_mono_8()
2266 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_calibration_mono_8()
2270 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_calibration_mono_8()
2271 RIE (usb_high_cal_fill_in_white (dev->mono_calibrator, i, 0, in usb_high_scan_calibration_mono_8()
2272 (void *) (dev->green + in usb_high_scan_calibration_mono_8()
2273 dev->skips_per_row))); in usb_high_scan_calibration_mono_8()
2275 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_calibration_mono_8()
2277 RIE (usb_high_cal_evaluate_white (dev->mono_calibrator, in usb_high_scan_calibration_mono_8()
2278 dev->init_gray_factor)); in usb_high_scan_calibration_mono_8()
2280 RIE (usb_mid_motor_prepare_calibrate_mono (dev->chip, dev->y_dpi)); in usb_high_scan_calibration_mono_8()
2281 RIE (usb_low_enable_motor (dev->chip, SANE_FALSE)); in usb_high_scan_calibration_mono_8()
2282 RIE (usb_low_turn_lamp_power (dev->chip, SANE_FALSE)); in usb_high_scan_calibration_mono_8()
2285 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_calibration_mono_8()
2289 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_calibration_mono_8()
2290 RIE (usb_high_cal_fill_in_dark (dev->mono_calibrator, i, 0, in usb_high_scan_calibration_mono_8()
2291 (void *) (dev->green + in usb_high_scan_calibration_mono_8()
2292 dev->skips_per_row))); in usb_high_scan_calibration_mono_8()
2294 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_calibration_mono_8()
2295 RIE (usb_low_turn_lamp_power (dev->chip, SANE_TRUE)); in usb_high_scan_calibration_mono_8()
2297 RIE (usb_high_cal_evaluate_dark (dev->mono_calibrator, in usb_high_scan_calibration_mono_8()
2298 dev->init_gray_black_factor)); in usb_high_scan_calibration_mono_8()
2300 RIE (usb_high_cal_evaluate_calibrator (dev->mono_calibrator)); in usb_high_scan_calibration_mono_8()
2306 usb_high_scan_step_forward (Mustek_Usb_Device * dev, SANE_Int step_count) in usb_high_scan_step_forward() argument
2315 RIE (usb_low_set_ccd_width (dev->chip, dev->init_min_expose_time)); in usb_high_scan_step_forward()
2316 RIE (usb_low_set_motor_direction (dev->chip, SANE_FALSE)); in usb_high_scan_step_forward()
2317 RIE (usb_mid_motor_prepare_step (dev->chip, (SANE_Word) step_count)); in usb_high_scan_step_forward()
2319 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_step_forward()
2324 RIE (usb_low_wait_rowing_stop (dev->chip)); in usb_high_scan_step_forward()
2325 if (!dev->is_cis_detected) in usb_high_scan_step_forward()
2326 RIE (usb_low_set_ccd_width (dev->chip, dev->expose_time)); in usb_high_scan_step_forward()
2333 usb_high_scan_safe_forward (Mustek_Usb_Device * dev, SANE_Int step_count) in usb_high_scan_safe_forward() argument
2341 RIE (usb_low_set_ccd_width (dev->chip, 5400)); in usb_high_scan_safe_forward()
2342 RIE (usb_low_set_motor_direction (dev->chip, SANE_FALSE)); in usb_high_scan_safe_forward()
2343 RIE (usb_mid_motor_prepare_step (dev->chip, (SANE_Word) step_count)); in usb_high_scan_safe_forward()
2345 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_safe_forward()
2347 RIE (usb_low_wait_rowing_stop (dev->chip)); in usb_high_scan_safe_forward()
2348 RIE (usb_low_set_ccd_width (dev->chip, dev->expose_time)); in usb_high_scan_safe_forward()
2354 usb_high_scan_calculate_max_rgb_600_expose (Mustek_Usb_Device * dev, in usb_high_scan_calculate_max_rgb_600_expose() argument
2365 DBG (5, "usb_high_scan_calculate_max_rgb_600_expose: dev=%p\n", (void *) dev); in usb_high_scan_calculate_max_rgb_600_expose()
2367 red_light_up = dev->expose_time - dev->red_rgb_600_power_delay * 64; in usb_high_scan_calculate_max_rgb_600_expose()
2368 green_light_up = dev->expose_time - dev->green_rgb_600_power_delay * 64; in usb_high_scan_calculate_max_rgb_600_expose()
2369 blue_light_up = dev->expose_time - dev->blue_rgb_600_power_delay * 64; in usb_high_scan_calculate_max_rgb_600_expose()
2371 if (dev->chip->sensor == ST_NEC600) in usb_high_scan_calculate_max_rgb_600_expose()
2375 usb_mid_motor_rgb_capability (dev->chip, dev->y_dpi)); in usb_high_scan_calculate_max_rgb_600_expose()
2381 usb_mid_motor_rgb_capability (dev->chip, dev->y_dpi)); in usb_high_scan_calculate_max_rgb_600_expose()
2392 usb_high_scan_calculate_max_mono_600_expose (Mustek_Usb_Device * dev, in usb_high_scan_calculate_max_mono_600_expose() argument
2401 DBG (5, "usb_high_scan_calculate_max_mono_600_expose: dev=%p\n", (void *) dev); in usb_high_scan_calculate_max_mono_600_expose()
2403 max_light_up = dev->expose_time - dev->green_mono_600_power_delay * 64; in usb_high_scan_calculate_max_mono_600_expose()
2404 transfer_time = (SANE_Word) ((SANE_Word) (dev->pixel_rate) in usb_high_scan_calculate_max_mono_600_expose()
2405 * (SANE_Word) (dev->x_dpi) / 600); in usb_high_scan_calculate_max_mono_600_expose()
2410 if (dev->chip->sensor == ST_NEC600) in usb_high_scan_calculate_max_mono_600_expose()
2415 (dev->chip, dev->y_dpi))); in usb_high_scan_calculate_max_mono_600_expose()
2422 (dev->chip, dev->y_dpi))); in usb_high_scan_calculate_max_mono_600_expose()
2433 usb_high_scan_calculate_max_rgb_300_expose (Mustek_Usb_Device * dev, in usb_high_scan_calculate_max_rgb_300_expose() argument
2445 red_light_up = dev->expose_time - dev->red_rgb_300_power_delay * 64; in usb_high_scan_calculate_max_rgb_300_expose()
2446 green_light_up = dev->expose_time - dev->green_rgb_300_power_delay * 64; in usb_high_scan_calculate_max_rgb_300_expose()
2447 blue_light_up = dev->expose_time - dev->blue_rgb_300_power_delay * 64; in usb_high_scan_calculate_max_rgb_300_expose()
2450 if (dev->chip->sensor == ST_CANON300600) in usb_high_scan_calculate_max_rgb_300_expose()
2454 usb_mid_motor_rgb_capability (dev->chip, dev->y_dpi)); in usb_high_scan_calculate_max_rgb_300_expose()
2456 else if (dev->chip->sensor == ST_CANON300) in usb_high_scan_calculate_max_rgb_300_expose()
2459 usb_mid_motor_rgb_capability (dev->chip, in usb_high_scan_calculate_max_rgb_300_expose()
2460 dev->y_dpi)); in usb_high_scan_calculate_max_rgb_300_expose()
2466 usb_mid_motor_rgb_capability (dev->chip, dev->y_dpi)); in usb_high_scan_calculate_max_rgb_300_expose()
2478 usb_high_scan_calculate_max_mono_300_expose (Mustek_Usb_Device * dev, in usb_high_scan_calculate_max_mono_300_expose() argument
2488 max_light_up = dev->expose_time - dev->green_mono_300_power_delay * 64; in usb_high_scan_calculate_max_mono_300_expose()
2490 (SANE_Word) ((SANE_Word) (dev->pixel_rate) * in usb_high_scan_calculate_max_mono_300_expose()
2491 (SANE_Word) (dev->x_dpi) / 600); in usb_high_scan_calculate_max_mono_300_expose()
2496 if (dev->chip->sensor == ST_CANON300600) in usb_high_scan_calculate_max_mono_300_expose()
2501 usb_mid_motor_mono_capability (dev->chip, dev->y_dpi))); in usb_high_scan_calculate_max_mono_300_expose()
2503 else if (dev->chip->sensor == ST_CANON300) in usb_high_scan_calculate_max_mono_300_expose()
2507 usb_mid_motor_mono_capability (dev->chip, in usb_high_scan_calculate_max_mono_300_expose()
2508 dev-> in usb_high_scan_calculate_max_mono_300_expose()
2516 usb_mid_motor_mono_capability (dev->chip, dev->y_dpi))); in usb_high_scan_calculate_max_mono_300_expose()
2528 usb_high_scan_prepare_rgb_signal_600_dpi (Mustek_Usb_Device * dev) in usb_high_scan_prepare_rgb_signal_600_dpi() argument
2536 (dev, &ideal_red_pd, &ideal_green_pd, &ideal_blue_pd); in usb_high_scan_prepare_rgb_signal_600_dpi()
2538 RIE (usb_low_set_ccd_width (dev->chip, ideal_expose_time)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2539 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2540 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2541 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2542 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2543 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2544 RIE (usb_mid_front_set_red_pga (dev->chip, dev->red_rgb_600_pga)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2545 RIE (usb_mid_front_set_green_pga (dev->chip, dev->green_rgb_600_pga)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2546 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->blue_rgb_600_pga)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2547 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2548 RIE (usb_low_set_red_pd (dev->chip, ideal_red_pd)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2549 RIE (usb_low_set_green_pd (dev->chip, ideal_green_pd)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2550 RIE (usb_low_set_blue_pd (dev->chip, ideal_blue_pd)); in usb_high_scan_prepare_rgb_signal_600_dpi()
2556 usb_high_scan_prepare_mono_signal_600_dpi (Mustek_Usb_Device * dev) in usb_high_scan_prepare_mono_signal_600_dpi() argument
2564 (dev, &ideal_red_pd, &ideal_green_pd, &ideal_blue_pd); in usb_high_scan_prepare_mono_signal_600_dpi()
2566 RIE (usb_low_set_ccd_width (dev->chip, ideal_expose_time)); in usb_high_scan_prepare_mono_signal_600_dpi()
2567 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_prepare_mono_signal_600_dpi()
2568 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_prepare_mono_signal_600_dpi()
2569 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_prepare_mono_signal_600_dpi()
2570 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_prepare_mono_signal_600_dpi()
2571 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_prepare_mono_signal_600_dpi()
2572 RIE (usb_mid_front_set_red_pga (dev->chip, dev->mono_600_pga)); in usb_high_scan_prepare_mono_signal_600_dpi()
2573 RIE (usb_mid_front_set_green_pga (dev->chip, dev->mono_600_pga)); in usb_high_scan_prepare_mono_signal_600_dpi()
2574 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->mono_600_pga)); in usb_high_scan_prepare_mono_signal_600_dpi()
2575 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_prepare_mono_signal_600_dpi()
2576 RIE (usb_low_set_red_pd (dev->chip, ideal_red_pd)); in usb_high_scan_prepare_mono_signal_600_dpi()
2577 RIE (usb_low_set_green_pd (dev->chip, ideal_green_pd)); in usb_high_scan_prepare_mono_signal_600_dpi()
2578 RIE (usb_low_set_blue_pd (dev->chip, ideal_blue_pd)); in usb_high_scan_prepare_mono_signal_600_dpi()
2584 usb_high_scan_prepare_rgb_signal_300_dpi (Mustek_Usb_Device * dev) in usb_high_scan_prepare_rgb_signal_300_dpi() argument
2593 (dev, &ideal_red_pd, &ideal_green_pd, &ideal_blue_pd); in usb_high_scan_prepare_rgb_signal_300_dpi()
2595 RIE (usb_low_set_ccd_width (dev->chip, ideal_expose_time)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2596 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2597 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2598 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2599 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2600 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2601 RIE (usb_mid_front_set_red_pga (dev->chip, dev->red_rgb_300_pga)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2602 RIE (usb_mid_front_set_green_pga (dev->chip, dev->green_rgb_300_pga)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2603 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->blue_rgb_300_pga)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2604 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2605 RIE (usb_low_set_red_pd (dev->chip, ideal_red_pd)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2606 RIE (usb_low_set_green_pd (dev->chip, ideal_green_pd)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2607 RIE (usb_low_set_blue_pd (dev->chip, ideal_blue_pd)); in usb_high_scan_prepare_rgb_signal_300_dpi()
2613 usb_high_scan_prepare_mono_signal_300_dpi (Mustek_Usb_Device * dev) in usb_high_scan_prepare_mono_signal_300_dpi() argument
2622 (dev, &ideal_red_pd, &ideal_green_pd, &ideal_blue_pd); in usb_high_scan_prepare_mono_signal_300_dpi()
2624 RIE (usb_low_set_ccd_width (dev->chip, ideal_expose_time)); in usb_high_scan_prepare_mono_signal_300_dpi()
2625 RIE (usb_mid_front_set_front_end_mode (dev->chip, dev->init_front_end)); in usb_high_scan_prepare_mono_signal_300_dpi()
2626 RIE (usb_mid_front_set_top_reference (dev->chip, dev->init_top_ref)); in usb_high_scan_prepare_mono_signal_300_dpi()
2627 RIE (usb_mid_front_set_red_offset (dev->chip, dev->init_red_offset)); in usb_high_scan_prepare_mono_signal_300_dpi()
2628 RIE (usb_mid_front_set_green_offset (dev->chip, dev->init_green_offset)); in usb_high_scan_prepare_mono_signal_300_dpi()
2629 RIE (usb_mid_front_set_blue_offset (dev->chip, dev->init_blue_offset)); in usb_high_scan_prepare_mono_signal_300_dpi()
2630 RIE (usb_mid_front_set_red_pga (dev->chip, dev->mono_300_pga)); in usb_high_scan_prepare_mono_signal_300_dpi()
2631 RIE (usb_mid_front_set_green_pga (dev->chip, dev->mono_300_pga)); in usb_high_scan_prepare_mono_signal_300_dpi()
2632 RIE (usb_mid_front_set_blue_pga (dev->chip, dev->mono_300_pga)); in usb_high_scan_prepare_mono_signal_300_dpi()
2633 RIE (usb_mid_front_set_rgb_signal (dev->chip)); in usb_high_scan_prepare_mono_signal_300_dpi()
2634 RIE (usb_low_set_red_pd (dev->chip, ideal_red_pd)); in usb_high_scan_prepare_mono_signal_300_dpi()
2635 RIE (usb_low_set_green_pd (dev->chip, ideal_green_pd)); in usb_high_scan_prepare_mono_signal_300_dpi()
2636 RIE (usb_low_set_blue_pd (dev->chip, ideal_blue_pd)); in usb_high_scan_prepare_mono_signal_300_dpi()
2642 usb_high_scan_prepare_rgb_24 (Mustek_Usb_Device * dev) in usb_high_scan_prepare_rgb_24() argument
2647 RIE (usb_low_set_image_byte_width (dev->chip, dev->bytes_per_strip)); in usb_high_scan_prepare_rgb_24()
2648 RIE (usb_low_set_dummy (dev->chip, dev->dummy)); in usb_high_scan_prepare_rgb_24()
2649 RIE (usb_low_set_pixel_depth (dev->chip, PD_8BIT)); in usb_high_scan_prepare_rgb_24()
2655 usb_high_scan_prepare_mono_8 (Mustek_Usb_Device * dev) in usb_high_scan_prepare_mono_8() argument
2660 RIE (usb_low_set_image_byte_width (dev->chip, dev->bytes_per_strip)); in usb_high_scan_prepare_mono_8()
2661 RIE (usb_low_set_dummy (dev->chip, dev->dummy)); in usb_high_scan_prepare_mono_8()
2662 RIE (usb_low_set_pixel_depth (dev->chip, PD_8BIT)); in usb_high_scan_prepare_mono_8()
2668 usb_high_scan_get_rgb_24_bit_line (Mustek_Usb_Device * dev, SANE_Byte * line, in usb_high_scan_get_rgb_24_bit_line() argument
2674 DBG (5, "usb_high_scan_get_rgb_24_bit_line: start, dev=%p, line=%p, " in usb_high_scan_get_rgb_24_bit_line()
2675 "is_order_invert=%d\n", (void *) dev, (void *) line, is_order_invert); in usb_high_scan_get_rgb_24_bit_line()
2677 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_get_rgb_24_bit_line()
2679 RIE (usb_low_get_row (dev->chip, dev->blue, &lines_left)); in usb_high_scan_get_rgb_24_bit_line()
2681 RIE (usb_low_get_row (dev->chip, dev->red, &lines_left)); in usb_high_scan_get_rgb_24_bit_line()
2682 RIE (usb_high_cal_calibrate (dev->green_calibrator, in usb_high_scan_get_rgb_24_bit_line()
2683 dev->green + dev->skips_per_row, line + 1)); in usb_high_scan_get_rgb_24_bit_line()
2684 RIE (usb_high_cal_calibrate (dev->blue_calibrator, in usb_high_scan_get_rgb_24_bit_line()
2685 dev->blue + dev->skips_per_row, in usb_high_scan_get_rgb_24_bit_line()
2687 RIE (usb_high_cal_calibrate (dev->red_calibrator, in usb_high_scan_get_rgb_24_bit_line()
2688 dev->red + dev->skips_per_row, in usb_high_scan_get_rgb_24_bit_line()
2697 usb_high_scan_get_mono_8_bit_line (Mustek_Usb_Device * dev, SANE_Byte * line, in usb_high_scan_get_mono_8_bit_line() argument
2703 DBG (5, "usb_high_scan_get_mono_8_bit_line: start, dev=%p, line=%p, " in usb_high_scan_get_mono_8_bit_line()
2704 "is_order_invert=%d\n", (void *) dev, (void *) line, is_order_invert); in usb_high_scan_get_mono_8_bit_line()
2706 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_get_mono_8_bit_line()
2707 RIE (usb_high_cal_calibrate (dev->mono_calibrator, dev->green + in usb_high_scan_get_mono_8_bit_line()
2708 dev->skips_per_row, line)); in usb_high_scan_get_mono_8_bit_line()
2714 usb_high_scan_backtrack_rgb_24 (Mustek_Usb_Device * dev) in usb_high_scan_backtrack_rgb_24() argument
2716 DBG (5, "usb_high_scan_backtrack_rgb_24: noop, dev=%p\n", (void *) dev); in usb_high_scan_backtrack_rgb_24()
2721 usb_high_scan_backtrack_mono_8 (Mustek_Usb_Device * dev) in usb_high_scan_backtrack_mono_8() argument
2727 DBG (5, "usb_high_scan_backtrack_mono_8: start, dev=%p\n", (void *) dev); in usb_high_scan_backtrack_mono_8()
2729 if (dev->y_dpi >= 300) in usb_high_scan_backtrack_mono_8()
2731 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_backtrack_mono_8()
2732 RIE (usb_low_set_motor_direction (dev->chip, SANE_TRUE)); in usb_high_scan_backtrack_mono_8()
2733 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_backtrack_mono_8()
2734 for (i = 0; i < dev->init_mono_8_back_track; i++) in usb_high_scan_backtrack_mono_8()
2736 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_backtrack_mono_8()
2739 RIE (usb_low_stop_rowing (dev->chip)); in usb_high_scan_backtrack_mono_8()
2740 RIE (usb_low_set_motor_direction (dev->chip, SANE_FALSE)); in usb_high_scan_backtrack_mono_8()
2741 RIE (usb_low_start_rowing (dev->chip)); in usb_high_scan_backtrack_mono_8()
2742 for (i = 0; i < dev->init_mono_8_back_track; i++) in usb_high_scan_backtrack_mono_8()
2744 RIE (usb_low_get_row (dev->chip, dev->green, &lines_left)); in usb_high_scan_backtrack_mono_8()