Lines Matching refs:mp
130 mp750_t *mp = (mp750_t *) s->subdriver;
131 return HAS_PAPER (mp->current_status);
137 mp750_t *mp = (mp750_t *) s->subdriver;
138 return IS_WARMING_UP (mp->current_status);
144 mp750_t *mp = (mp750_t *) s->subdriver;
145 return IS_CALIBRATED (mp->current_status);
151 mp750_t *mp = (mp750_t *) s->subdriver;
152 while (pixma_read (s->io, mp->buf, IMAGE_BLOCK_SIZE) >= 0);
158 mp750_t *mp = (mp750_t *) s->subdriver;
159 return pixma_exec_short_cmd (s, &mp->cb, cmd_abort_session);
165 mp750_t *mp = (mp750_t *) s->subdriver;
169 data = pixma_newcmd (&mp->cb, cmd_status, 0, 12);
170 error = pixma_exec (s, &mp->cb);
173 memcpy (mp->current_status, data, 12);
183 mp750_t *mp = (mp750_t *) s->subdriver;
184 uint8_t *data = pixma_newcmd (&mp->cb, cmd_activate, 10, 0);
187 return pixma_exec (s, &mp->cb);
200 mp750_t *mp = (mp750_t *) s->subdriver;
201 return pixma_exec_short_cmd (s, &mp->cb, cmd_start_session);
207 mp750_t *mp = (mp750_t *) s->subdriver;
208 uint8_t *data = pixma_newcmd (&mp->cb, cmd_select_source, 10, 0);
211 return pixma_exec (s, &mp->cb);
237 mp750_t *mp = (mp750_t *) s->subdriver;
240 data = pixma_newcmd (&mp->cb, cmd_scan_param, 0x2e, 0);
245 pixma_set_be32 (mp->raw_width, data + 0x10);
246 pixma_set_be32 (mp->raw_height, data + 0x14);
254 data[0x29] = mp->monochrome ? 0 : 1;
256 return pixma_exec (s, &mp->cb);
262 mp750_t *mp = (mp750_t *) s->subdriver;
263 return pixma_exec_short_cmd (s, &mp->cb, cmd_calibrate);
277 mp750_t *mp = (mp750_t *) s->subdriver;
280 memset (mp->cb.buf, 0, 10);
281 pixma_set_be16 (cmd_read_image, mp->cb.buf);
282 mp->cb.buf[7] = *size >> 8;
283 mp->cb.buf[8] = 4 | flag;
284 mp->cb.reslen = pixma_cmd_transaction (s, mp->cb.buf, 10, mp->cb.buf, 6);
285 mp->cb.expected_reslen = 0;
286 error = pixma_check_result (&mp->cb);
289 if (mp->cb.reslen == 6)
291 *info = mp->cb.buf[2];
292 *size = pixma_get_be16 (mp->cb.buf + 4);
339 mp750_t *mp = (mp750_t *) s->subdriver;
343 data = pixma_newcmd (&mp->cb, cmd_error_info, 0, len);
344 error = pixma_exec (s, &mp->cb);
548 mp750_t *mp;
551 mp = (mp750_t *) calloc (1, sizeof (*mp));
552 if (!mp)
558 free (mp);
562 s->subdriver = mp;
563 mp->state = state_idle;
573 mp->cb.buf = buf;
574 mp->cb.size = CMDBUF_SIZE;
575 mp->cb.res_header_len = 2;
576 mp->cb.cmd_header_len = 10;
577 mp->cb.cmd_len_field_ofs = 7;
587 mp750_t *mp = (mp750_t *) s->subdriver;
590 free (mp->cb.buf);
591 free (mp);
621 mp750_t *mp = (mp750_t *) s->subdriver;
628 mp->stripe_shift = (dpi == 2400) ? 4 : 0;
630 if (mp->state != state_idle)
639 mp->raw_width = ALIGN_SUP (s->param->w, 12);
641 mp->raw_width = ALIGN_SUP (s->param->w, 4);*/
645 mp->raw_width = ALIGN_SUP (s->param->w, 4);
647 mp->raw_width = ALIGN_SUP (s->param->w, 12);
651 spare = 2 * calc_component_shifting (s) + 2 * mp->stripe_shift; /* FIXME: or maybe (2*... + 1)? */
652 mp->raw_height = s->param->h + spare;
654 mp->raw_width, mp->raw_height, dpi));
658 mp->line_size = get_cis_ccd_line_size (s); /* scanner hardware line_size multiplied by 3 for CCD grayscale */
660 size = 8 + 2 * IMAGE_BLOCK_SIZE + spare * mp->line_size;
664 mp->buf = buf;
665 mp->rawimg = buf;
666 mp->imgbuf_ofs = spare * mp->line_size;
667 mp->imgcol = mp->rawimg + IMAGE_BLOCK_SIZE + 8; /* added to make rgb->gray */
668 mp->img = mp->rawimg + IMAGE_BLOCK_SIZE + 8;
669 mp->imgbuf_len = IMAGE_BLOCK_SIZE + mp->imgbuf_ofs;
670 mp->rawimg_left = 0;
671 mp->last_block_size = 0;
672 mp->shifted_bytes = -(int) mp->imgbuf_ofs;
678 mp->state = state_warmup;
695 mp750_t *mp = (mp750_t *) s->subdriver;
704 if (mp->state == state_warmup)
737 /*SIM*/ mp->state = state_scanning;
738 mp->last_block = 0;
742 base_shift = calc_component_shifting (s) * mp->line_size;
758 if (mp->last_block_size > 0)
760 block_size = mp->imgbuf_len - mp->last_block_size;
761 memcpy (mp->img, mp->img + mp->last_block_size, block_size);
768 if (mp->last_block)
771 info = mp->last_block;
785 mp->needs_abort = (info != 0x38);
786 mp->last_block = info;
787 mp->state = state_finished;
801 mp->last_block = info;
814 error = read_image_block (s, mp->rawimg + mp->rawimg_left);
817 mp->state = state_transfering;
824 mp->rawimg_left += bytes_received;
825 n = mp->rawimg_left / 3;
830 shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size,
831 mp->imgcol + mp->imgbuf_ofs);
833 rgb_to_gray (mp->img, mp->imgcol, n, c); /* cropping occurs later? */
838 shift_rgb (mp->rawimg, n, shift[0], shift[1], shift[2], mp->stripe_shift, mp->line_size,
839 mp->img + mp->imgbuf_ofs);
843 /* entering remaining unprocessed bytes after last complete pixel into mp->rawimg buffer -- no influence on mp->img */
845 mp->shifted_bytes += n;
846 mp->rawimg_left -= n; /* rawimg_left = 0, 1 or 2 bytes left in the buffer. */
847 mp->last_block_size = n;
848 memcpy (mp->rawimg, mp->rawimg + n, mp->rawimg_left);
851 while (mp->shifted_bytes <= 0);
853 if ((unsigned) mp->shifted_bytes < mp->last_block_size)
856 ib->rptr = mp->img + mp->last_block_size/3 - mp->shifted_bytes/3; /* testing---works OK */
858 ib->rptr = mp->img + mp->last_block_size - mp->shifted_bytes;
861 ib->rptr = mp->img;
863 ib->rend = mp->img + mp->last_block_size/3; /* testing---works OK */
865 ib->rend = mp->img + mp->last_block_size;
873 mp750_t *mp = (mp750_t *) s->subdriver;
875 switch (mp->state)
898 if (mp->needs_abort)
900 mp->needs_abort = 0;
903 free (mp->buf);
904 mp->buf = mp->rawimg = NULL;
905 mp->state = state_idle;