Lines Matching refs:ps
344 static void fnCCDInitWolfson3797( pScanData ps )
346 if( ps->Shade.bIntermediate & _ScanMode_Mono )
347 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xcc;
349 if (ps->Shade.bIntermediate & _ScanMode_AverageOut)
350 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x68;
352 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xa0;
354 if((ps->Shade.bIntermediate & _ScanMode_AverageOut) ||
355 (ps->DataInf.dwScanFlag & SCANDEF_Negative))
364 static void fnCCDInitSamsung3797( pScanData ps )
366 if(!(ps->DataInf.dwScanFlag & SCANDEF_TPA)) {
368 if (!(ps->Shade.bIntermediate & _ScanMode_AverageOut)) {
370 if( ps->Device.bPCBID == _OPTICWORKS2000 ) {
371 ps->Shade.pCcdDac->GainResize.Colors.Red = 102;
372 ps->Shade.pCcdDac->GainResize.Colors.Green = 102;
373 ps->Shade.pCcdDac->GainResize.Colors.Blue = 97;
374 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x40;
375 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x40;
376 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x40;
377 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
378 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x40;
379 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x40;
380 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x38;
381 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x30;
382 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x30;
383 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
384 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x38;
385 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x40;
387 ps->Shade.pCcdDac->GainResize.Colors.Red = 99;
388 ps->Shade.pCcdDac->GainResize.Colors.Green = 101;
389 ps->Shade.pCcdDac->GainResize.Colors.Blue = 94;
390 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x40;
391 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x40;
392 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x40;
393 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
394 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
395 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
396 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
397 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
398 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
399 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x04;
400 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x00;
401 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x00;
404 if( ps->Device.bPCBID == _OPTICWORKS2000 ) {
405 ps->Shade.pCcdDac->GainResize.Colors.Red = 100;
406 ps->Shade.pCcdDac->GainResize.Colors.Green = 100;
407 ps->Shade.pCcdDac->GainResize.Colors.Blue = 96;
408 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x30;
409 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x30;
410 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x30;
411 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
412 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x48;
413 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x48;
414 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x38;
415 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x38;
416 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x38;
417 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
418 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x48;
419 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x48;
421 ps->Shade.pCcdDac->GainResize.Colors.Red = 100; /* 98 */
422 ps->Shade.pCcdDac->GainResize.Colors.Green = 103; /* 106 */
423 ps->Shade.pCcdDac->GainResize.Colors.Blue = 96; /* 96 */
424 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x20;
425 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x10;
426 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x10;
427 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x110;
428 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x1f0;
429 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x190;
430 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x100;
431 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x1e0;
432 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x180;
433 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x20;
434 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x10;
435 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x20;
444 static void fnCCDInitWolfson3799( pScanData ps )
446 if(!(ps->DataInf.dwScanFlag & SCANDEF_Negative)) {
448 if (!(ps->Shade.bIntermediate & _ScanMode_AverageOut)) {
450 ps->Shade.pCcdDac->GainResize.Colors.Red = 103;
451 ps->Shade.pCcdDac->GainResize.Colors.Green = 102;
452 ps->Shade.pCcdDac->GainResize.Colors.Blue = 99;
453 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0xc8;
454 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xc8;
455 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0xc8;
456 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
457 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
458 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
459 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x40;
460 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
461 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
462 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
463 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x18;
464 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x2c;
466 ps->Shade.pCcdDac->GainResize.Colors.Red = 100;
467 ps->Shade.pCcdDac->GainResize.Colors.Green = 98;
468 ps->Shade.pCcdDac->GainResize.Colors.Blue = 95;
469 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0xd0;
470 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xd0;
471 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0xd0;
472 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
473 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
474 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
475 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
476 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
477 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
478 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x0;
479 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x0;
480 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x0;
483 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x80;
484 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x80;
485 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x80;
486 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x28;
487 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x28;
488 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x28;
489 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
490 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
491 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
492 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = -0x38;
493 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = -0x108;
494 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = -0x1c8;
501 static void fnCCDInitWolfson548( pScanData ps )
503 if (!(ps->Shade.bIntermediate & _ScanMode_AverageOut)) {
505 ps->Shade.pCcdDac->GainResize.Colors.Red = 103;
506 ps->Shade.pCcdDac->GainResize.Colors.Green = 102;
507 ps->Shade.pCcdDac->GainResize.Colors.Blue = 99;
508 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0xc8;
509 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xc8;
510 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0xc8;
511 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
512 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
513 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
514 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x40;
515 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
516 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
517 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
518 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x18;
519 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x2c;
522 ps->Shade.pCcdDac->GainResize.Colors.Red = 100;
523 ps->Shade.pCcdDac->GainResize.Colors.Green = 98;
524 ps->Shade.pCcdDac->GainResize.Colors.Blue = 95;
525 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0xd0;
526 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xd0;
527 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0xd0;
528 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
529 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
530 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
531 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
532 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
533 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
534 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x0;
535 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x0;
536 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x0;
543 static void fnCCDInitSamsung3777( pScanData ps )
545 if(!(ps->DataInf.dwScanFlag & SCANDEF_Negative)) {
547 if (!(ps->Shade.bIntermediate & _ScanMode_AverageOut)) {
549 ps->Shade.pCcdDac->GainResize.Colors.Red = 109;
550 ps->Shade.pCcdDac->GainResize.Colors.Green = 108;
551 ps->Shade.pCcdDac->GainResize.Colors.Blue = 105;
552 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x4a;
553 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x4a;
554 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x4a;
555 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x3c;
556 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x38;
557 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x38;
558 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
559 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x2c;
560 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
561 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x30;
562 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x30;
563 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x3C;
565 ps->Shade.pCcdDac->GainResize.Colors.Red = 108;
566 ps->Shade.pCcdDac->GainResize.Colors.Green = 107;
567 ps->Shade.pCcdDac->GainResize.Colors.Blue = 104;
568 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x50;
569 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x50;
570 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x50;
571 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x40;
572 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x40;
573 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x40;
574 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x30;
575 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x30;
576 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x30;
577 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x20;
578 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x20;
579 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x20;
582 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x80;
583 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x80;
584 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x80;
585 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x28;
586 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x28;
587 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x28;
588 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
589 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
590 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
591 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = -0x38;
592 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = -0x108;
593 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = -0x1c8;
600 static void fnCCDInitSamsung3799( pScanData ps )
602 if(!(ps->DataInf.dwScanFlag & SCANDEF_TPA)) {
604 if (!(ps->Shade.bIntermediate & _ScanMode_AverageOut)) {
606 if( ps->Device.bPCBID == _SCANNER2Button ) {
607 ps->Shade.pCcdDac->GainResize.Colors.Red = 109;
608 ps->Shade.pCcdDac->GainResize.Colors.Green = 109;
609 ps->Shade.pCcdDac->GainResize.Colors.Blue = 105;
610 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x68;
611 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x68;
612 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x68;
613 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
614 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
615 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
616 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
617 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
618 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
619 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x24; /* 0 */
620 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x20; /* 0 */
621 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x1c; /* 0 */
623 ps->Shade.pCcdDac->GainResize.Colors.Red = 98;
624 ps->Shade.pCcdDac->GainResize.Colors.Green = 97;
625 ps->Shade.pCcdDac->GainResize.Colors.Blue = 92;
626 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x90;
627 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x90;
628 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x90;
629 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0xc0; /* 0x90 */
630 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0xc0; /* 0xe0 */
631 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0xc0; /* 0x80 */
632 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0xb0; /* 0x70 */
633 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0xb0; /* 0xc0 */
634 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0xb0; /* 0x60 */
635 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x24; /* 0x90 */
636 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x00; /* 0x34 */
637 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x0c; /* 0x3c */
640 if( ps->Device.bPCBID == _SCANNER2Button ) {
641 ps->Shade.pCcdDac->GainResize.Colors.Red = 107;
642 ps->Shade.pCcdDac->GainResize.Colors.Green = 106;
643 ps->Shade.pCcdDac->GainResize.Colors.Blue = 103;
644 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x48;
645 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x48;
646 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x48;
647 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
648 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
649 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
650 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
651 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
652 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
653 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x28; /* 0 */
654 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x18; /* 0 */
655 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x20; /* 0 */
657 ps->Shade.pCcdDac->GainResize.Colors.Red = 104;
658 ps->Shade.pCcdDac->GainResize.Colors.Green = 107;
659 ps->Shade.pCcdDac->GainResize.Colors.Blue = 99;
660 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x30; /* 0x80 */
661 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x30;
662 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x30; /* 0x0a0 */
663 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x150; /* 0x170 */
664 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x130; /* 0x90 */
665 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x110; /* 0x130 */
666 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x140; /* 0x150 */
667 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x120; /* 0x70 */
668 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x100; /* 0x120 */
669 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0xF0; /* 0x90 */
670 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0xD4; /* 0x50 */
671 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0xCC; /* 0x60 */
680 static void fnCCDInitESIC3799( pScanData ps )
682 if(!(ps->DataInf.dwScanFlag & SCANDEF_Negative)) {
684 if (!(ps->Shade.bIntermediate & _ScanMode_AverageOut)) {
686 ps->Shade.pCcdDac->GainResize.Colors.Red = 100;
687 ps->Shade.pCcdDac->GainResize.Colors.Green = 99;
688 ps->Shade.pCcdDac->GainResize.Colors.Blue = 94;
689 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0xc8;
690 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xc8;
691 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0xc8;
692 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x58;
693 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x38;
694 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x48;
695 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x48;
696 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
697 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x38;
698 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x58;
699 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0x38;
700 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0x48;
702 ps->Shade.pCcdDac->GainResize.Colors.Red = 100;
703 ps->Shade.pCcdDac->GainResize.Colors.Green = 98;
704 ps->Shade.pCcdDac->GainResize.Colors.Blue = 93;
705 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0xd0;
706 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0xd0;
707 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0xd0;
708 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x108;
709 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0xf8;
710 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0xc8;
711 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x100;
712 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0xf0;
713 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0xc0;
714 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = 0x108;
715 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = 0xf8;
716 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = 0xc8;
719 ps->Shade.pCcdDac->DarkDAC.Colors.Red = 0x80;
720 ps->Shade.pCcdDac->DarkDAC.Colors.Green = 0x80;
721 ps->Shade.pCcdDac->DarkDAC.Colors.Blue = 0x80;
722 ps->Shade.pCcdDac->DarkCmpHi.Colors.Red = 0x28;
723 ps->Shade.pCcdDac->DarkCmpHi.Colors.Green = 0x28;
724 ps->Shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x28;
725 ps->Shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
726 ps->Shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
727 ps->Shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
728 ps->Shade.pCcdDac->DarkOffSub.Colors.Red = -0x38;
729 ps->Shade.pCcdDac->DarkOffSub.Colors.Green = -0x38;
730 ps->Shade.pCcdDac->DarkOffSub.Colors.Blue = -0x38;
737 static void fnDarkOffsetWolfson3797( pScanData ps, pDACTblDef pDacTbl, ULong dwCh )
739 if(( ps->Shade.DarkOffset.wColors[dwCh] -=
741 ps->Shade.DarkOffset.wColors[dwCh] = 0;
749 static void fnDarkOffsetWolfson3799( pScanData ps, pDACTblDef pDacTbl, ULong dwCh )
751 if( ps->Shade.DarkOffset.wColors[dwCh] > pDacTbl->DarkOffSub.wColors[dwCh])
752 ps->Shade.DarkOffset.wColors[dwCh] -= pDacTbl->DarkOffSub.wColors[dwCh];
754 ps->Shade.DarkOffset.wColors[dwCh] = 0;
761 static void fnDarkOffsetSamsung3777( pScanData ps, pDACTblDef pDacTbl, ULong dwCh )
763 ps->Shade.DarkOffset.wColors[dwCh] += pDacTbl->DarkOffSub.wColors [dwCh];
769 static void fnDarkOffsetSamsung3797( pScanData ps, pDACTblDef pDacTbl, ULong dwCh )
771 if( ps->Shade.DarkOffset.wColors[dwCh] > pDacTbl->DarkOffSub.wColors[dwCh] )
772 ps->Shade.DarkOffset.wColors[dwCh] -= pDacTbl->DarkOffSub.wColors[dwCh];
774 ps->Shade.DarkOffset.wColors[dwCh] = 0;
780 static void fnDarkOffsetSamsung3799( pScanData ps, pDACTblDef pDacTbl, ULong dwCh )
782 if( ps->Shade.DarkOffset.wColors[dwCh] > pDacTbl->DarkOffSub.wColors[dwCh])
783 ps->Shade.DarkOffset.wColors[dwCh] -= pDacTbl->DarkOffSub.wColors[dwCh];
785 ps->Shade.DarkOffset.wColors[dwCh] = 0;
791 static void fnDACDarkWolfson( pScanData ps, pDACTblDef pDacTbl,
796 w = ps->Shade.DarkDAC.bColors[dwCh];
801 if (wDarkest > ps->Shade.wDarkLevels)
802 w += (UShort)wDarkest / ps->Shade.wDarkLevels;
809 if(w != (UShort)ps->Shade.DarkDAC.bColors[dwCh] ) {
810 ps->Shade.DarkDAC.bColors[dwCh] = (Byte)w;
811 ps->Shade.fStop = _FALSE;
815 ps->Shade.DarkDAC.bColors[dwCh]) {
817 w = (UShort)ps->Shade.DarkDAC.bColors[dwCh] - 2U;
819 w = (UShort)ps->Shade.DarkDAC.bColors[dwCh] - ps->Shade.wDarkLevels;
823 if (w != (UShort)ps->Shade.DarkDAC.bColors[dwCh] ) {
824 ps->Shade.DarkDAC.bColors [dwCh] = (Byte)w;
825 ps->Shade.fStop = _FALSE;
833 static void fnDACDarkSamsung( pScanData ps, pDACTblDef pDacTbl,
841 if (wDarkest > ps->Shade.wDarkLevels)
842 w = (UShort)ps->Shade.DarkDAC.bColors[dwCh] -
843 wDarkest / ps->Shade.wDarkLevels;
845 w = (UShort)ps->Shade.DarkDAC.bColors[dwCh] - 1U;
850 if(w != (UShort)ps->Shade.DarkDAC.bColors[dwCh]) {
851 ps->Shade.DarkDAC.bColors [dwCh] = (Byte)w;
852 ps->Shade.fStop = _FALSE;
856 ps->Shade.DarkDAC.bColors[dwCh]) {
858 w = (UShort)ps->Shade.DarkDAC.bColors[dwCh] + 2U;
860 w = ps->Shade.wDarkLevels + (UShort)ps->Shade.DarkDAC.bColors [dwCh];
865 if(w != (UShort)ps->Shade.DarkDAC.bColors[dwCh]) {
866 ps->Shade.DarkDAC.bColors[dwCh] = (Byte)w;
867 ps->Shade.fStop = _FALSE;
878 _LOC void P12InitCCDandDAC( pScanData ps, Bool shading )
884 ps->Device.f0_8_16 = _FALSE;
886 switch( ps->Device.bDACType ) {
891 switch( ps->Device.bCCDID ) {
897 ps->Device.fnDarkOffset = fnDarkOffsetWolfson3797;
898 ps->Device.fnDACDark = fnDACDarkWolfson;
899 ps->Device.pCCDRegisters = (pRegDef)W3797CCDParams;
906 ps->Device.fnDarkOffset = fnDarkOffsetWolfson3797;
907 ps->Device.fnDACDark = fnDACDarkWolfson;
908 ps->Device.pCCDRegisters = (pRegDef)W548CCDParams;
917 ps->Device.fnDarkOffset = fnDarkOffsetWolfson3797;
918 ps->Device.fnDACDark = fnDACDarkWolfson;
919 ps->Device.pCCDRegisters = (pRegDef)W3799CCDParams;
922 ps->Device.wNumCCDRegs = _NUM_OF_CCDREGS_W8143;
923 ps->Device.wNumDACRegs = _NUM_OF_DACREGS_W8143;
924 ps->Device.pDACRegisters = WolfsonDAC8143;
925 ps->Device.RegDACOffset.Red = 0x20;
926 ps->Device.RegDACOffset.Green = 0x21;
927 ps->Device.RegDACOffset.Blue = 0x22;
928 ps->Device.RegDACGain.Red = 0x28;
929 ps->Device.RegDACGain.Green = 0x29;
930 ps->Device.RegDACGain.Blue = 0x2a;
932 if( ps->Shade.bIntermediate & _ScanMode_AverageOut ) {
933 ps->Shade.bUniGain = 1;
934 ps->Shade.bGainDouble = 1;
936 ps->Shade.bUniGain = 2;
937 ps->Shade.bGainDouble = 4;
939 ps->Shade.bMinGain = 1;
940 ps->Shade.bMaxGain = 0x1f;
941 ps->Shade.wDarkLevels = 10;
943 if( ps->Shade.bIntermediate == _ScanMode_Color )
948 if (ps->Shade.bIntermediate == _ScanMode_Mono )
959 switch(ps->Device.bCCDID )
965 ps->Device.fnDarkOffset = fnDarkOffsetSamsung3797;
966 ps->Device.fnDACDark = fnDACDarkSamsung;
967 ps->Device.pCCDRegisters = (pRegDef)S3797CCDParams;
974 ps->Device.fnDarkOffset = fnDarkOffsetSamsung3799;
975 ps->Device.fnDACDark = fnDACDarkSamsung;
976 ps->Device.pCCDRegisters = (pRegDef)S3799CCDParams;
978 ps->Device.wNumCCDRegs = _NUM_OF_CCDREGS_S1224;
979 ps->Device.wNumDACRegs = _NUM_OF_DACREGS_S1224;
980 ps->Device.pDACRegisters = SamsungDAC1224;
981 ps->Device.RegDACOffset.Red = 1;
982 ps->Device.RegDACOffset.Green = 2;
983 ps->Device.RegDACOffset.Blue = 3;
984 ps->Device.RegDACGain.Red = 4;
985 ps->Device.RegDACGain.Green = 5;
986 ps->Device.RegDACGain.Blue = 6;
987 ps->Shade.bGainDouble = 6;
988 ps->Shade.bUniGain = 7;
989 ps->Shade.bMinGain = 0;
990 ps->Shade.bMaxGain = 0x1f;
991 ps->Shade.wDarkLevels = 10;
993 if( ps->Shade.bIntermediate & _ScanMode_Mono )
1003 switch( ps->Device.bCCDID ) {
1009 ps->Device.fnDarkOffset = fnDarkOffsetWolfson3797;
1010 ps->Device.fnDACDark = fnDACDarkWolfson;
1011 ps->Device.pCCDRegisters = (pRegDef)W3797CCDParams;
1018 ps->Device.fnDarkOffset = fnDarkOffsetWolfson3797;
1019 ps->Device.fnDACDark = fnDACDarkWolfson;
1020 ps->Device.pCCDRegisters = (pRegDef)W3799CCDParams;
1023 ps->Device.wNumCCDRegs = _NUM_OF_CCDREGS_W8143;
1024 ps->Device.wNumDACRegs = _NUM_OF_DACREGS_W8143;
1025 ps->Device.pDACRegisters = WolfsonDAC8143;
1026 ps->Device.RegDACOffset.Red = 0x20;
1027 ps->Device.RegDACOffset.Green = 0x21;
1028 ps->Device.RegDACOffset.Blue = 0x22;
1029 ps->Device.RegDACGain.Red = 0x28;
1030 ps->Device.RegDACGain.Green = 0x29;
1031 ps->Device.RegDACGain.Blue = 0x2a;
1033 if( ps->Shade.bIntermediate & _ScanMode_AverageOut ) {
1034 ps->Shade.bUniGain = 1;
1035 ps->Shade.bGainDouble = 1;
1037 ps->Shade.bUniGain = 2;
1038 ps->Shade.bGainDouble = 4;
1040 ps->Shade.bMinGain = 1;
1041 ps->Shade.bMaxGain = 0x1f;
1042 ps->Shade.wDarkLevels = 10;
1044 if( ps->Shade.bIntermediate == _ScanMode_Color )
1049 if(ps->Shade.bIntermediate == _ScanMode_Mono )
1059 switch( ps->Device.bCCDID ) {
1065 ps->Device.fnDarkOffset = fnDarkOffsetSamsung3797;
1066 ps->Device.fnDACDark = fnDACDarkSamsung;
1067 ps->Device.pCCDRegisters = (pRegDef)S3797CCDParams;
1074 ps->Device.fnDarkOffset = fnDarkOffsetSamsung3777;
1075 ps->Device.fnDACDark = fnDACDarkSamsung;
1076 ps->Device.pCCDRegisters = (pRegDef)S3797CCDParams;
1077 ps->Device.f0_8_16 = _TRUE;
1084 ps->Device.fnDarkOffset = fnDarkOffsetSamsung3799;
1085 ps->Device.fnDACDark = fnDACDarkSamsung;
1086 ps->Device.pCCDRegisters = (pRegDef)S3799CCDParams;
1089 ps->Device.wNumCCDRegs = _NUM_OF_CCDREGS_S8531;
1090 ps->Device.wNumDACRegs = _NUM_OF_DACREGS_S8531;
1091 ps->Device.pDACRegisters = SamsungDAC8531;
1092 ps->Device.RegDACOffset.Red =
1093 ps->Device.RegDACOffset.Green =
1094 ps->Device.RegDACOffset.Blue = 1;
1095 ps->Device.RegDACGain.Red =
1096 ps->Device.RegDACGain.Green =
1097 ps->Device.RegDACGain.Blue = 2;
1098 ps->Shade.bGainDouble = 6;
1099 ps->Shade.bMinGain = 1;
1100 ps->Shade.bMaxGain = 0x1f;
1101 if( ps->DataInf.dwScanFlag & SCANDEF_TPA )
1102 ps->Shade.bUniGain = 2;
1104 ps->Shade.bUniGain = 7;
1106 ps->Shade.wDarkLevels = 10;
1108 if( ps->Shade.bIntermediate & _ScanMode_Mono ) {
1121 if( !(ps->DataInf.dwScanFlag & SCANDEF_TPA))
1122 ps->Shade.pCcdDac = &pDAC_CCD[_REFLECTION];
1124 if( ps->DataInf.dwScanFlag & SCANDEF_Transparency )
1125 ps->Shade.pCcdDac = &pDAC_CCD[_TRANSPARENCY];
1127 ps->Shade.pCcdDac = &pDAC_CCD[_NEGATIVE];
1130 ps->Shade.pCcdDac = &pDAC_CCD[_REFLECTION];
1133 p12ccdInitFunc( ps );
1135 DBG( DBG_IO, "Programming DAC (%u regs)\n", ps->Device.wNumDACRegs );
1137 for(w = 0; w < ps->Device.wNumDACRegs; w++ ) {
1139 DBG( DBG_IO, "[0x%02x] = 0x%02x\n", ps->Device.pDACRegisters[w].bReg,
1140 ps->Device.pDACRegisters[w].bParam );
1142 IODataRegisterToDAC( ps, ps->Device.pDACRegisters[w].bReg,
1143 ps->Device.pDACRegisters[w].bParam );