Lines Matching refs:cisdev

2370    Mustek_PP_CIS_dev *cisdev;
2371 cisdev = (Mustek_PP_CIS_dev*)malloc(sizeof(Mustek_PP_CIS_dev));
2372 if (cisdev == NULL)
2378 memset(cisdev, 0, sizeof(Mustek_PP_CIS_dev));
2382 dev->priv = cisdev;
2384 cisdev->desc = dev;
2385 cisdev->model = dev->dev->info;
2386 cisdev->CIS.hw_hres = 300;
2387 cisdev->CIS.cisRes = 300;
2388 cisdev->CIS.hw_vres = 300;
2392 cisdev->fast_skip = SANE_TRUE;
2393 cisdev->bw_limit = 127;
2394 cisdev->calib_mode = SANE_FALSE;
2395 cisdev->engine_delay = 0;
2396 if (cisdev->model == MUSTEK_PP_CIS600)
2398 cisdev->top_skip = MUSTEK_PP_CIS_600CP_DEFAULT_SKIP;
2402 cisdev->top_skip = MUSTEK_PP_CIS_1200CP_DEFAULT_SKIP;
2413 Mustek_PP_CIS_dev *cisdev = dev->priv;
2444 cisdev->top_skip += MM_TO_PIXEL(dvalue, dev->dev->maxres);
2446 cisdev->top_skip);
2449 if (cisdev->top_skip > 600) cisdev->top_skip = 600;
2450 if (cisdev->top_skip < -600) cisdev->top_skip = -600;
2460 cisdev->fast_skip = SANE_FALSE;
2476 cisdev->bw_limit = value;
2486 cisdev->calib_mode = SANE_TRUE;
2502 cisdev->engine_delay = value;
2518 Mustek_PP_CIS_dev *cisdev = dev->priv;
2521 cis_reset_device (cisdev);
2523 cis_return_home (cisdev, SANE_TRUE); /* Don't wait */
2540 Mustek_PP_CIS_dev *cisdev = dev->priv;
2543 if (!cisdev)
2549 cisdev->CIS.exposeTime = 0xAA;
2550 cisdev->CIS.setParameters = SANE_FALSE;
2551 cisdev->CIS.use8KBank = SANE_TRUE;
2552 cisdev->CIS.imagebytes = dev->bottomX - dev->topX;
2553 cisdev->CIS.skipimagebytes = dev->topX;
2555 cisdev->CIS.res = dev->res;
2559 if (dev->res <= 50 && cisdev->model != MUSTEK_PP_CIS1200PLUS)
2561 cisdev->CIS.hw_hres = 50;
2563 else if (dev->res <= 75 && cisdev->model == MUSTEK_PP_CIS1200PLUS)
2565 cisdev->CIS.hw_hres = 75;
2569 cisdev->CIS.hw_hres = 100;
2573 cisdev->CIS.hw_hres = 200;
2577 cisdev->CIS.hw_hres = 300;
2581 if (cisdev->model == MUSTEK_PP_CIS600)
2583 cisdev->CIS.hw_hres = 300; /* Limit for 600 CP */
2587 cisdev->CIS.hw_hres = 400;
2591 cisdev->CIS.hw_hres = 600; /* Limit for 1200 CP/CP+ */
2595 if (cisdev->model == MUSTEK_PP_CIS600)
2599 cisdev->CIS.hw_vres = 150;
2603 cisdev->CIS.hw_vres = 300;
2607 cisdev->CIS.hw_vres = 600;
2614 cisdev->CIS.hw_vres = 300;
2618 cisdev->CIS.hw_vres = 600;
2622 cisdev->CIS.hw_vres = 1200;
2626 if (cisdev->model == MUSTEK_PP_CIS600 ||
2627 (cisdev->model == MUSTEK_PP_CIS1200 && dev->res <= 300))
2628 cisdev->CIS.cisRes = 300;
2630 cisdev->CIS.cisRes = 600;
2635 if (dev->res > cisdev->CIS.hw_hres)
2636 cisdev->calib_pixels = (pixels * cisdev->CIS.hw_hres) / dev->res;
2638 cisdev->calib_pixels = pixels;
2641 cisdev->CIS.hw_hres, cisdev->CIS.hw_vres, cisdev->CIS.cisRes);
2645 cis_reset_device (cisdev);
2646 cis_return_home (cisdev, SANE_TRUE); /* Don't wait here */
2657 cisdev->CIS.regs.in_regs[i] = -1;
2660 cisdev->CIS.regs.out_regs[i][j] = -1;
2664 cisdev->CIS.regs.channel = -1;
2666 cisdev->CIS.regs.in_regs[0] = 0xA5;
2670 cis_reset_device (cisdev);
2671 cis_return_home (cisdev, SANE_TRUE); /* no wait */
2674 cisdev->tmpbuf = malloc (pixels);
2675 if (cisdev->tmpbuf == NULL)
2679 free(cisdev);
2689 cisdev->calib_low[1] = malloc (pixels);
2690 cisdev->calib_hi[1] = malloc (pixels);
2692 if (cisdev->calib_low[1] == NULL || cisdev->calib_hi[1] == NULL)
2694 free (cisdev->calib_low[1]); cisdev->calib_low[1] = NULL;
2695 free (cisdev->calib_hi[1]); cisdev->calib_hi[1] = NULL;
2698 free(cisdev->tmpbuf); cisdev->tmpbuf = NULL;
2699 free(cisdev); dev->priv = NULL;
2703 cisdev->calib_low[0] = NULL;
2704 cisdev->calib_low[2] = NULL;
2705 cisdev->calib_hi[0] = NULL;
2706 cisdev->calib_hi[2] = NULL;
2709 cisdev->calib_low[0] = malloc (pixels);
2710 cisdev->calib_low[2] = malloc (pixels);
2711 cisdev->calib_hi[0] = malloc (pixels);
2712 cisdev->calib_hi[2] = malloc (pixels);
2714 if ((cisdev->calib_low[0] == NULL) || (cisdev->calib_low[2] == NULL) ||
2715 (cisdev->calib_hi[0] == NULL) || (cisdev->calib_hi[2] == NULL))
2717 free (cisdev->calib_low[0]); cisdev->calib_low[0] = NULL;
2718 free (cisdev->calib_low[1]); cisdev->calib_low[1] = NULL;
2719 free (cisdev->calib_low[2]); cisdev->calib_low[2] = NULL;
2720 free (cisdev->calib_hi[0]); cisdev->calib_hi[0] = NULL;
2721 free (cisdev->calib_hi[1]); cisdev->calib_hi[1] = NULL;
2722 free (cisdev->calib_hi[2]); cisdev->calib_hi[2] = NULL;
2723 free(cisdev->tmpbuf); cisdev->tmpbuf = NULL;
2724 free(cisdev); dev->priv = NULL;
2733 if (!cis_calibrate (cisdev))
2735 free (cisdev->calib_low[0]); cisdev->calib_low[0] = NULL;
2736 free (cisdev->calib_low[1]); cisdev->calib_low[1] = NULL;
2737 free (cisdev->calib_low[2]); cisdev->calib_low[2] = NULL;
2738 free (cisdev->calib_hi[0]); cisdev->calib_hi[0] = NULL;
2739 free (cisdev->calib_hi[1]); cisdev->calib_hi[1] = NULL;
2740 free (cisdev->calib_hi[2]); cisdev->calib_hi[2] = NULL;
2741 free(cisdev->tmpbuf); cisdev->tmpbuf = NULL;
2742 free(cisdev); dev->priv = NULL;
2748 cis_get_bank_count(cisdev);
2750 cis_move_motor (cisdev, dev->topY); /* Measured in max resolution */
2756 cisdev->CIS.setParameters = SANE_TRUE;
2757 cis_config_ccd(cisdev);
2758 cis_wait_read_ready(cisdev);
2762 cisdev->CIS.line_step =
2763 SANE_FIX ((float) cisdev->CIS.hw_vres / (float) cisdev->CIS.res);
2770 cisdev->line_diff = cisdev->CIS.line_step;
2771 cisdev->ccd_line = 0;
2772 cisdev->line = 0;
2773 cisdev->lines_left = dev->params.lines;
2788 Mustek_PP_CIS_dev *cisdev = dev->priv;
2794 cis_get_lineart_line(cisdev, buffer);
2798 cis_get_grayscale_line(cisdev, buffer);
2802 cis_get_color_line(cisdev, buffer);
2814 Mustek_PP_CIS_dev *cisdev = dev->priv;
2822 Mustek_PP_1015_write_reg(cisdev, MA1015W_MOTOR_CONTROL, 0); /* stop */
2824 cis_reset_device (cisdev);
2826 cis_return_home (cisdev, SANE_TRUE); /* don't wait */
2828 cis_reset_device (cisdev);
2836 free (cisdev->calib_low[1]); cisdev->calib_low[1] = NULL;
2837 free (cisdev->calib_hi[1]); cisdev->calib_hi[1] = NULL;
2838 free (cisdev->tmpbuf); cisdev->tmpbuf = NULL;
2841 if (cisdev->CIS.mode == MODE_COLOR)
2843 free (cisdev->calib_low[0]); cisdev->calib_low[0] = NULL;
2844 free (cisdev->calib_low[2]); cisdev->calib_low[2] = NULL;
2845 free (cisdev->calib_hi[0]); cisdev->calib_hi[0] = NULL;
2846 free (cisdev->calib_hi[2]); cisdev->calib_hi[2] = NULL;