- Timestamp:
- 01/24/12 11:51:12 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/sc8in1/csctapi/ifd_sc8in1.c
r6293 r6294 41 41 } 42 42 43 #ifdef WITH_DEBUG 44 int32_t Sc8in1_DebugSignals(struct s_reader *reader, uint16_t slot, const char *extra); 45 #else 46 #define Sc8in1_DebugSignals(a, b, c) {} 47 #endif 48 49 43 50 static int32_t mcrReadStatus(struct s_reader *reader, unsigned char *status); 44 51 int32_t Sc8in1_SetBaudrate (struct s_reader * reader, uint32_t baudrate, struct termios *termio, uint8_t cmdMode); … … 50 57 struct termios termio, termiobackup; 51 58 uint32_t currentBaudrate = 0; 59 60 Sc8in1_DebugSignals(reader, reader->slot, "CMD10"); 52 61 53 62 // switch SC8in1 to command mode … … 78 87 return ERROR; 79 88 } 80 89 Sc8in1_DebugSignals(reader, reader->slot, "CMD11"); 81 90 IO_Serial_DTR_Set(reader); 82 91 … … 121 130 } 122 131 } 123 132 Sc8in1_DebugSignals(reader, reader->slot, "CMD12"); 124 133 IO_Serial_DTR_Set(reader); 125 134 126 135 // Clear RTS which may have been set by tcsetattr 127 IO_Serial_RTS_Clr(reader);136 //IO_Serial_RTS_Clr(reader); 128 137 tcflush(reader->handle, TCIOFLUSH); 129 138 130 139 // switch SC8in1 to normal mode 131 140 IO_Serial_DTR_Clr(reader); 141 142 Sc8in1_DebugSignals(reader, reader->slot, "CMD13"); 132 143 133 144 return OK; … … 539 550 int32_t Sc8in1_SetTermioForSlot(struct s_reader *reader, int32_t slot) { 540 551 552 Sc8in1_DebugSignals(reader, reader->slot, "SL100"); 541 553 // switch SC8in1 to command mode 542 554 IO_Serial_DTR_Set(reader); … … 565 577 } 566 578 } 567 579 Sc8in1_DebugSignals(reader, reader->slot, "SL101"); 568 580 IO_Serial_DTR_Set(reader); 569 581 570 // Clear RTS which may have been set by tcsetattr571 IO_Serial_RTS_Clr(reader);572 582 tcflush(reader->handle, TCIOFLUSH); 573 583 574 584 IO_Serial_DTR_Clr(reader); 585 586 Sc8in1_DebugSignals(reader, reader->slot, "SL102"); 575 587 576 588 return OK; … … 621 633 unsigned char buff[3]; 622 634 635 Sc8in1_DebugSignals(reader, reader->slot, "I-1"); 636 637 // Clr DTR, which is set by phoenix_init 638 IO_Serial_DTR_Clr(reader); 639 623 640 tcgetattr(reader->handle, &termio); 624 641 for (i = 0; i < 8; i++) { … … 672 689 tcflush(reader->handle, TCIOFLUSH); // a non MCR reader might give longer answer 673 690 } 691 692 Sc8in1_DebugSignals(reader, reader->slot, "I0"); 674 693 675 694 struct s_reader *rdr; … … 686 705 if (reader->sc8in1_config->mcr_type) { 687 706 //set RTS for every slot to 1 to prevent jitter/glitch detection problems 707 Sc8in1_DebugSignals(reader, rdr->slot, "I1"); 688 708 mcrSelectSlot(reader, rdr->slot); 709 Sc8in1_DebugSignals(reader, rdr->slot, "I2"); 689 710 IO_Serial_RTS_Set(reader); 711 Sc8in1_DebugSignals(reader, rdr->slot, "I3"); 690 712 691 713 //calculate clock-bits … … 755 777 } 756 778 779 #ifdef WITH_DEBUG 780 int32_t Sc8in1_DebugSignals(struct s_reader *reader, uint16_t slot, const char *extra) { 781 uint32_t msr; 782 if (ioctl(reader->handle, TIOCMGET, &msr) < 0) 783 return ERROR; 784 cs_debug_mask(D_DEVICE, "SC8in1: Signals(%s): Slot: %i, DTR: %u, RTS: %u", extra, slot, msr & TIOCM_DTR ? 1 : 0, msr & TIOCM_RTS ? 1 : 0); 785 return OK; 786 } 787 #endif 788 757 789 int32_t Sc8in1_Card_Changed(struct s_reader * reader) { 758 790 // returns the SC8in1 Status
Note:
See TracChangeset
for help on using the changeset viewer.