Lines Matching defs:dev
331 static void fnCCDInitWolfson3797( U12_Device *dev )
333 if( dev->shade.intermediate & _ScanMode_Mono )
334 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xcc;
336 if( dev->shade.intermediate & _ScanMode_AverageOut)
337 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x68;
339 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xa0;
341 if((dev->shade.intermediate & _ScanMode_AverageOut) ||
342 (dev->DataInf.dwScanFlag & _SCANDEF_Negative)) {
351 static void fnCCDInitSamsung3797( U12_Device *dev )
353 if(!(dev->DataInf.dwScanFlag & _SCANDEF_TPA)) {
355 if (!(dev->shade.intermediate & _ScanMode_AverageOut)) {
357 if( dev->PCBID == _OPTICWORKS2000 ) {
358 dev->shade.pCcdDac->GainResize.Colors.Red = 102;
359 dev->shade.pCcdDac->GainResize.Colors.Green = 102;
360 dev->shade.pCcdDac->GainResize.Colors.Blue = 97;
361 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x40;
362 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x40;
363 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x40;
364 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
365 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x40;
366 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x40;
367 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x38;
368 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x30;
369 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x30;
370 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
371 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x38;
372 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x40;
374 dev->shade.pCcdDac->GainResize.Colors.Red = 99;
375 dev->shade.pCcdDac->GainResize.Colors.Green = 101;
376 dev->shade.pCcdDac->GainResize.Colors.Blue = 94;
377 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x40;
378 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x40;
379 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x40;
380 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
381 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
382 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
383 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
384 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
385 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
386 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x04;
387 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x00;
388 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x00;
391 if( dev->PCBID == _OPTICWORKS2000 ) {
392 dev->shade.pCcdDac->GainResize.Colors.Red = 100;
393 dev->shade.pCcdDac->GainResize.Colors.Green = 100;
394 dev->shade.pCcdDac->GainResize.Colors.Blue = 96;
395 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x30;
396 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x30;
397 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x30;
398 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
399 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x48;
400 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x48;
401 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x38;
402 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x38;
403 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x38;
404 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
405 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x48;
406 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x48;
408 dev->shade.pCcdDac->GainResize.Colors.Red = 100; /* 98 */
409 dev->shade.pCcdDac->GainResize.Colors.Green = 103; /* 106 */
410 dev->shade.pCcdDac->GainResize.Colors.Blue = 96; /* 96 */
411 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x20;
412 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x10;
413 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x10;
414 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x110;
415 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x1f0;
416 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x190;
417 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x100;
418 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x1e0;
419 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x180;
420 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x20;
421 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x10;
422 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x20;
430 static void fnCCDInitWolfson3799( U12_Device *dev )
432 if(!(dev->DataInf.dwScanFlag & _SCANDEF_Negative)) {
434 if (!(dev->shade.intermediate & _ScanMode_AverageOut)) {
436 dev->shade.pCcdDac->GainResize.Colors.Red = 103;
437 dev->shade.pCcdDac->GainResize.Colors.Green = 102;
438 dev->shade.pCcdDac->GainResize.Colors.Blue = 99;
439 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0xc8;
440 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xc8;
441 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0xc8;
442 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
443 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
444 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
445 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x40;
446 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
447 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
448 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
449 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x18;
450 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x2c;
452 dev->shade.pCcdDac->GainResize.Colors.Red = 100;
453 dev->shade.pCcdDac->GainResize.Colors.Green = 98;
454 dev->shade.pCcdDac->GainResize.Colors.Blue = 95;
455 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0xd0;
456 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xd0;
457 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0xd0;
458 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
459 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
460 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
461 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
462 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
463 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
464 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x0;
465 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x0;
466 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x0;
469 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x80;
470 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x80;
471 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x80;
472 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x28;
473 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x28;
474 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x28;
475 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
476 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
477 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
478 dev->shade.pCcdDac->DarkOffSub.Colors.Red = -0x38;
479 dev->shade.pCcdDac->DarkOffSub.Colors.Green = -0x108;
480 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = -0x1c8;
486 static void fnCCDInitWolfson548( U12_Device *dev )
488 if (!(dev->shade.intermediate & _ScanMode_AverageOut)) {
490 dev->shade.pCcdDac->GainResize.Colors.Red = 103;
491 dev->shade.pCcdDac->GainResize.Colors.Green = 102;
492 dev->shade.pCcdDac->GainResize.Colors.Blue = 99;
493 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0xc8;
494 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xc8;
495 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0xc8;
496 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x48;
497 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
498 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
499 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x40;
500 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
501 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
502 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x48;
503 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x18;
504 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x2c;
507 dev->shade.pCcdDac->GainResize.Colors.Red = 100;
508 dev->shade.pCcdDac->GainResize.Colors.Green = 98;
509 dev->shade.pCcdDac->GainResize.Colors.Blue = 95;
510 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0xd0;
511 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xd0;
512 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0xd0;
513 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
514 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
515 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
516 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
517 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
518 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
519 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x0;
520 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x0;
521 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x0;
527 static void fnCCDInitSamsung3777( U12_Device *dev )
529 if(!(dev->DataInf.dwScanFlag & _SCANDEF_Negative)) {
531 if (!(dev->shade.intermediate & _ScanMode_AverageOut)) {
533 dev->shade.pCcdDac->GainResize.Colors.Red = 109;
534 dev->shade.pCcdDac->GainResize.Colors.Green = 108;
535 dev->shade.pCcdDac->GainResize.Colors.Blue = 105;
536 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x4a;
537 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x4a;
538 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x4a;
539 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x3c;
540 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x38;
541 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x38;
542 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
543 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x2c;
544 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
545 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x30;
546 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x30;
547 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x3C;
549 dev->shade.pCcdDac->GainResize.Colors.Red = 108;
550 dev->shade.pCcdDac->GainResize.Colors.Green = 107;
551 dev->shade.pCcdDac->GainResize.Colors.Blue = 104;
552 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x50;
553 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x50;
554 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x50;
555 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x40;
556 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x40;
557 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x40;
558 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x30;
559 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x30;
560 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x30;
561 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x20;
562 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x20;
563 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x20;
566 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x80;
567 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x80;
568 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x80;
569 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x28;
570 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x28;
571 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x28;
572 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
573 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
574 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
575 dev->shade.pCcdDac->DarkOffSub.Colors.Red = -0x38;
576 dev->shade.pCcdDac->DarkOffSub.Colors.Green = -0x108;
577 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = -0x1c8;
583 static void fnCCDInitSamsung3799( U12_Device *dev )
585 if(!(dev->DataInf.dwScanFlag & _SCANDEF_TPA)) {
587 if (!(dev->shade.intermediate & _ScanMode_AverageOut)) {
589 if( dev->PCBID == _SCANNER2Button ) {
590 dev->shade.pCcdDac->GainResize.Colors.Red = 109;
591 dev->shade.pCcdDac->GainResize.Colors.Green = 109;
592 dev->shade.pCcdDac->GainResize.Colors.Blue = 105;
593 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x68;
594 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x68;
595 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x68;
596 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
597 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
598 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
599 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
600 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
601 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
602 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x24; /* 0 */
603 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x20; /* 0 */
604 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x1c; /* 0 */
606 dev->shade.pCcdDac->GainResize.Colors.Red = 98;
607 dev->shade.pCcdDac->GainResize.Colors.Green = 97;
608 dev->shade.pCcdDac->GainResize.Colors.Blue = 92;
609 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x90;
610 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x90;
611 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x90;
612 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0xc0; /* 0x90 */
613 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0xc0; /* 0xe0 */
614 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0xc0; /* 0x80 */
615 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0xb0; /* 0x70 */
616 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0xb0; /* 0xc0 */
617 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0xb0; /* 0x60 */
618 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x24; /* 0x90 */
619 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x00; /* 0x34 */
620 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x0c; /* 0x3c */
623 if( dev->PCBID == _SCANNER2Button ) {
624 dev->shade.pCcdDac->GainResize.Colors.Red = 107;
625 dev->shade.pCcdDac->GainResize.Colors.Green = 106;
626 dev->shade.pCcdDac->GainResize.Colors.Blue = 103;
627 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x48;
628 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x48;
629 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x48;
630 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x30;
631 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x30;
632 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x30;
633 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x28;
634 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
635 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x28;
636 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x28; /* 0 */
637 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x18; /* 0 */
638 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x20; /* 0 */
640 dev->shade.pCcdDac->GainResize.Colors.Red = 104;
641 dev->shade.pCcdDac->GainResize.Colors.Green = 107;
642 dev->shade.pCcdDac->GainResize.Colors.Blue = 99;
643 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x30; /* 0x80 */
644 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x30;
645 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x30; /* 0x0a0 */
646 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x150; /* 0x170 */
647 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x130; /* 0x90 */
648 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x110; /* 0x130 */
649 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x140; /* 0x150 */
650 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x120; /* 0x70 */
651 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x100; /* 0x120 */
652 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0xF0; /* 0x90 */
653 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0xD4; /* 0x50 */
654 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0xCC; /* 0x60 */
662 static void fnCCDInitESIC3799( U12_Device *dev )
664 if(!(dev->DataInf.dwScanFlag & _SCANDEF_Negative)) {
666 if (!(dev->shade.intermediate & _ScanMode_AverageOut)) {
668 dev->shade.pCcdDac->GainResize.Colors.Red = 100;
669 dev->shade.pCcdDac->GainResize.Colors.Green = 99;
670 dev->shade.pCcdDac->GainResize.Colors.Blue = 94;
671 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0xc8;
672 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xc8;
673 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0xc8;
674 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x58;
675 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x38;
676 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x48;
677 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x48;
678 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x28;
679 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x38;
680 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x58;
681 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0x38;
682 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0x48;
684 dev->shade.pCcdDac->GainResize.Colors.Red = 100;
685 dev->shade.pCcdDac->GainResize.Colors.Green = 98;
686 dev->shade.pCcdDac->GainResize.Colors.Blue = 93;
687 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0xd0;
688 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0xd0;
689 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0xd0;
690 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x108;
691 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0xf8;
692 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0xc8;
693 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x100;
694 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0xf0;
695 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0xc0;
696 dev->shade.pCcdDac->DarkOffSub.Colors.Red = 0x108;
697 dev->shade.pCcdDac->DarkOffSub.Colors.Green = 0xf8;
698 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = 0xc8;
701 dev->shade.pCcdDac->DarkDAC.Colors.Red = 0x80;
702 dev->shade.pCcdDac->DarkDAC.Colors.Green = 0x80;
703 dev->shade.pCcdDac->DarkDAC.Colors.Blue = 0x80;
704 dev->shade.pCcdDac->DarkCmpHi.Colors.Red = 0x28;
705 dev->shade.pCcdDac->DarkCmpHi.Colors.Green = 0x28;
706 dev->shade.pCcdDac->DarkCmpHi.Colors.Blue = 0x28;
707 dev->shade.pCcdDac->DarkCmpLo.Colors.Red = 0x20;
708 dev->shade.pCcdDac->DarkCmpLo.Colors.Green = 0x20;
709 dev->shade.pCcdDac->DarkCmpLo.Colors.Blue = 0x20;
710 dev->shade.pCcdDac->DarkOffSub.Colors.Red = -0x38;
711 dev->shade.pCcdDac->DarkOffSub.Colors.Green = -0x38;
712 dev->shade.pCcdDac->DarkOffSub.Colors.Blue = -0x38;
719 fnDarkOffsetWolfson3797( U12_Device *dev, ShadingVarDef *sTbl, u_long dwCh )
721 if(( dev->shade.DarkOffset.wColors[dwCh] -=
723 dev->shade.DarkOffset.wColors[dwCh] = 0;
730 fnDarkOffsetSamsung3777( U12_Device *dev, ShadingVarDef *sTbl, u_long dwCh )
732 dev->shade.DarkOffset.wColors[dwCh] += sTbl->DarkOffSub.wColors [dwCh];
738 fnDarkOffsetSamsung3797( U12_Device *dev, ShadingVarDef *sTbl, u_long dwCh )
740 if( dev->shade.DarkOffset.wColors[dwCh] > sTbl->DarkOffSub.wColors[dwCh] )
741 dev->shade.DarkOffset.wColors[dwCh] -= sTbl->DarkOffSub.wColors[dwCh];
743 dev->shade.DarkOffset.wColors[dwCh] = 0;
749 fnDarkOffsetSamsung3799( U12_Device *dev, ShadingVarDef *sTbl, u_long dwCh )
751 if( dev->shade.DarkOffset.wColors[dwCh] > sTbl->DarkOffSub.wColors[dwCh])
752 dev->shade.DarkOffset.wColors[dwCh] -= sTbl->DarkOffSub.wColors[dwCh];
754 dev->shade.DarkOffset.wColors[dwCh] = 0;
759 static void fnDACDarkWolfson( U12_Device *dev, ShadingVarDef *sTbl,
762 u_short w = dev->shade.DarkDAC.bColors[dwCh];
767 if( wDarkest > dev->shade.wDarkLevels)
768 w += (u_short)wDarkest / dev->shade.wDarkLevels;
775 if(w != (u_short)dev->shade.DarkDAC.bColors[dwCh] ) {
776 dev->shade.DarkDAC.bColors[dwCh] = (SANE_Byte)w;
777 dev->shade.fStop = SANE_FALSE;
781 dev->shade.DarkDAC.bColors[dwCh]) {
783 w = (u_short)dev->shade.DarkDAC.bColors[dwCh] - 2U;
785 w = (u_short)dev->shade.DarkDAC.bColors[dwCh] - dev->shade.wDarkLevels;
790 if( w != (u_short)dev->shade.DarkDAC.bColors[dwCh] ) {
791 dev->shade.DarkDAC.bColors [dwCh] = (SANE_Byte)w;
792 dev->shade.fStop = SANE_FALSE;
800 static void fnDACDarkSamsung( U12_Device *dev, ShadingVarDef *sTbl,
808 if( wDarkest > dev->shade.wDarkLevels )
809 w = (u_short)dev->shade.DarkDAC.bColors[dwCh] -
810 wDarkest / dev->shade.wDarkLevels;
812 w = (u_short)dev->shade.DarkDAC.bColors[dwCh] - 1U;
817 if(w != (u_short)dev->shade.DarkDAC.bColors[dwCh]) {
818 dev->shade.DarkDAC.bColors [dwCh] = (SANE_Byte)w;
819 dev->shade.fStop = SANE_FALSE;
823 dev->shade.DarkDAC.bColors[dwCh]) {
825 w = (u_short)dev->shade.DarkDAC.bColors[dwCh] + 2U;
827 w = dev->shade.wDarkLevels + (u_short)dev->shade.DarkDAC.bColors[dwCh];
832 if(w != (u_short)dev->shade.DarkDAC.bColors[dwCh]) {
833 dev->shade.DarkDAC.bColors[dwCh] = (SANE_Byte)w;
834 dev->shade.fStop = SANE_FALSE;
845 static void u12ccd_InitCCDandDAC( U12_Device *dev, SANE_Bool shading )
853 dev->f0_8_16 = SANE_FALSE;
855 switch( dev->DACType ) {
860 switch( dev->CCDID ) {
866 dev->fnDarkOffset = fnDarkOffsetWolfson3797;
867 dev->fnDACDark = fnDACDarkWolfson;
868 dev->CCDRegs = (RegDef*)W3797CCDParams;
875 dev->fnDarkOffset = fnDarkOffsetWolfson3797;
876 dev->fnDACDark = fnDACDarkWolfson;
877 dev->CCDRegs = (RegDef*)W548CCDParams;
886 dev->fnDarkOffset = fnDarkOffsetWolfson3797;
887 dev->fnDACDark = fnDACDarkWolfson;
888 dev->CCDRegs = (RegDef*)W3799CCDParams;
891 dev->numCCDRegs = _NUM_OF_CCDREGS_W8143;
892 dev->numDACRegs = _NUM_OF_DACREGS_W8143;
893 dev->DACRegs = WolfsonDAC8143;
894 dev->RegDACOffset.Red = 0x20;
895 dev->RegDACOffset.Green = 0x21;
896 dev->RegDACOffset.Blue = 0x22;
897 dev->RegDACGain.Red = 0x28;
898 dev->RegDACGain.Green = 0x29;
899 dev->RegDACGain.Blue = 0x2a;
901 if( dev->shade.intermediate & _ScanMode_AverageOut ) {
902 dev->shade.bUniGain = 1;
903 dev->shade.bGainDouble = 1;
905 dev->shade.bUniGain = 2;
906 dev->shade.bGainDouble = 4;
908 dev->shade.bMinGain = 1;
909 dev->shade.bMaxGain = 0x1f;
910 dev->shade.wDarkLevels = 10;
912 if( dev->shade.intermediate == _ScanMode_Color )
917 if (dev->shade.intermediate == _ScanMode_Mono )
926 switch( dev->CCDID ) {
932 dev->fnDarkOffset = fnDarkOffsetSamsung3797;
933 dev->fnDACDark = fnDACDarkSamsung;
934 dev->CCDRegs = (RegDef*)S3797CCDParams;
941 dev->fnDarkOffset = fnDarkOffsetSamsung3799;
942 dev->fnDACDark = fnDACDarkSamsung;
943 dev->CCDRegs = (RegDef*)S3799CCDParams;
945 dev->numCCDRegs = _NUM_OF_CCDREGS_S1224;
946 dev->numDACRegs = _NUM_OF_DACREGS_S1224;
947 dev->DACRegs = SamsungDAC1224;
948 dev->RegDACOffset.Red = 1;
949 dev->RegDACOffset.Green = 2;
950 dev->RegDACOffset.Blue = 3;
951 dev->RegDACGain.Red = 4;
952 dev->RegDACGain.Green = 5;
953 dev->RegDACGain.Blue = 6;
954 dev->shade.bGainDouble = 6;
955 dev->shade.bUniGain = 7;
956 dev->shade.bMinGain = 0;
957 dev->shade.bMaxGain = 0x1f;
958 dev->shade.wDarkLevels = 10;
960 if( dev->shade.intermediate & _ScanMode_Mono )
969 switch( dev->CCDID ) {
975 dev->fnDarkOffset = fnDarkOffsetWolfson3797;
976 dev->fnDACDark = fnDACDarkWolfson;
977 dev->CCDRegs = (RegDef*)W3797CCDParams;
984 dev->fnDarkOffset = fnDarkOffsetWolfson3797;
985 dev->fnDACDark = fnDACDarkWolfson;
986 dev->CCDRegs = (RegDef*)W3799CCDParams;
989 dev->numCCDRegs = _NUM_OF_CCDREGS_W8143;
990 dev->numDACRegs = _NUM_OF_DACREGS_W8143;
991 dev->DACRegs = WolfsonDAC8143;
992 dev->RegDACOffset.Red = 0x20;
993 dev->RegDACOffset.Green = 0x21;
994 dev->RegDACOffset.Blue = 0x22;
995 dev->RegDACGain.Red = 0x28;
996 dev->RegDACGain.Green = 0x29;
997 dev->RegDACGain.Blue = 0x2a;
999 if( dev->shade.intermediate & _ScanMode_AverageOut ) {
1000 dev->shade.bUniGain = 1;
1001 dev->shade.bGainDouble = 1;
1003 dev->shade.bUniGain = 2;
1004 dev->shade.bGainDouble = 4;
1006 dev->shade.bMinGain = 1;
1007 dev->shade.bMaxGain = 0x1f;
1008 dev->shade.wDarkLevels = 10;
1010 if( dev->shade.intermediate == _ScanMode_Color )
1015 if(dev->shade.intermediate == _ScanMode_Mono )
1024 switch( dev->CCDID ) {
1030 dev->fnDarkOffset = fnDarkOffsetSamsung3797;
1031 dev->fnDACDark = fnDACDarkSamsung;
1032 dev->CCDRegs = (RegDef*)S3797CCDParams;
1039 dev->fnDarkOffset = fnDarkOffsetSamsung3777;
1040 dev->fnDACDark = fnDACDarkSamsung;
1041 dev->CCDRegs = (RegDef*)S3797CCDParams;
1042 dev->f0_8_16 = SANE_TRUE;
1049 dev->fnDarkOffset = fnDarkOffsetSamsung3799;
1050 dev->fnDACDark = fnDACDarkSamsung;
1051 dev->CCDRegs = (RegDef*)S3799CCDParams;
1054 dev->numCCDRegs = _NUM_OF_CCDREGS_S8531;
1055 dev->numDACRegs = _NUM_OF_DACREGS_S8531;
1056 dev->DACRegs = SamsungDAC8531;
1057 dev->RegDACOffset.Red = 1;
1058 dev->RegDACOffset.Green = 1;
1059 dev->RegDACOffset.Blue = 1;
1060 dev->RegDACGain.Red = 2;
1061 dev->RegDACGain.Green = 2;
1062 dev->RegDACGain.Blue = 2;
1063 dev->shade.bGainDouble = 6;
1064 dev->shade.bMinGain = 1;
1065 dev->shade.bMaxGain = 0x1f;
1066 if( dev->DataInf.dwScanFlag & _SCANDEF_TPA )
1067 dev->shade.bUniGain = 2;
1069 dev->shade.bUniGain = 7;
1071 dev->shade.wDarkLevels = 10;
1073 if( dev->shade.intermediate & _ScanMode_Mono ) {
1086 if( !(dev->DataInf.dwScanFlag & _SCANDEF_TPA))
1087 dev->shade.pCcdDac = &pDAC_CCD[_REFLECTION];
1089 if( dev->DataInf.dwScanFlag & _SCANDEF_Transparency )
1090 dev->shade.pCcdDac = &pDAC_CCD[_TRANSPARENCY];
1092 dev->shade.pCcdDac = &pDAC_CCD[_NEGATIVE];
1095 dev->shade.pCcdDac = &pDAC_CCD[_REFLECTION];
1099 u12ccd_InitFunc( dev );
1101 DBG( _DBG_INFO, "* Programming DAC (%u regs)\n", dev->numDACRegs );
1103 for( w = 0; w < dev->numDACRegs; w++ ) {
1105 DBG( _DBG_INFO, "* [0x%02x] = 0x%02x\n", dev->DACRegs[w].reg,
1106 dev->DACRegs[w].val );
1108 u12io_DataRegisterToDAC( dev, dev->DACRegs[w].reg,
1109 dev->DACRegs[w].val );
1111 u12io_DataToRegister( dev, REG_ADCADDR, dev->DACRegs[w].reg );
1112 u12io_DataToRegister( dev, REG_ADCDATA, dev->DACRegs[w].val );
1113 u12io_DataToRegister( dev, REG_ADCSERIALOUT, dev->DACRegs[w].val );