Changeset 7718
- Timestamp:
- 10/14/12 21:41:50 (11 years ago)
- Location:
- trunk/csctapi
- Files:
-
- 1 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/csctapi/atr.h
r7687 r7718 29 29 * Exported constants definition 30 30 */ 31 #define ATR_TIMEOUT 1000 32 #define DEFAULT_BAUDRATE 9600 31 33 32 34 /* Return values */ -
trunk/csctapi/icc_async.h
r7697 r7718 29 29 30 30 /* 31 * Exported constants definition32 */33 34 #define ATR_TIMEOUT 100035 #define DEFAULT_BAUDRATE 960036 37 /*38 31 * Exported types definition 39 32 */ -
trunk/csctapi/ifd_mp35.c
r7715 r7718 2 2 #ifdef WITH_CARDREADER 3 3 #include "../oscam-time.h" 4 #include " icc_async.h"4 #include "atr.h" 5 5 #include "ifd_phoenix.h" 6 6 #include "io_serial.h" … … 48 48 static unsigned char current_product; 49 49 50 static int32_t MP35_product_info(struct s_reader *reader, unsigned char high, unsigned char low, unsigned char code, MP35_info *info)50 static int32_t mp35_product_info(struct s_reader *reader, unsigned char high, unsigned char low, unsigned char code, MP35_info *info) 51 51 { 52 52 int32_t i; … … 56 56 if(product_codes[i].code == code) 57 57 { 58 rdr_log(reader, " MP35_Init: %s - FW:%02d.%02d", product_codes[i].product_name, high, low);58 rdr_log(reader, "%s: %s - FW:%02d.%02d", __func__, product_codes[i].product_name, high, low); 59 59 info->current_product = code; 60 60 info->product_fw_version = (high << 8) | low; … … 66 66 } 67 67 68 int32_t MP35_Init(struct s_reader * reader)68 static int32_t mp35_reader_init(struct s_reader * reader) 69 69 { 70 70 MP35_info reader_info; … … 74 74 int32_t original_cardmhz; 75 75 76 rdr_log(reader, " MP35 init");76 rdr_log(reader, "%s: started", __func__); 77 77 78 78 current_product = 0; … … 84 84 reader->cardmhz = 357; 85 85 86 87 86 int32_t dtr = IO_SERIAL_HIGH; 87 int32_t cts = IO_SERIAL_HIGH; 88 88 89 89 call(IO_Serial_SetParams(reader, 9600, 8, PARITY_NONE, 1, &dtr, &cts)); … … 104 104 } 105 105 106 if ( MP35_product_info(reader, rec_buf[1], rec_buf[0], rec_buf[2], &reader_info) != OK)107 { 108 rdr_log(reader, " MP35_Init: unknown product code");106 if (mp35_product_info(reader, rec_buf[1], rec_buf[0], rec_buf[2], &reader_info) != OK) 107 { 108 rdr_log(reader, "%s: unknown product code", __func__); 109 109 return ERROR; 110 110 } … … 114 114 if(original_mhz == 357) 115 115 { 116 rdr_log(reader, " MP35_Init: Using oscillator 1 (3.57MHz)");116 rdr_log(reader, "%s: Using oscillator 1 (3.57MHz)", __func__); 117 117 parameter = 0x01; 118 118 } 119 119 else if(original_mhz == 368) 120 120 { 121 rdr_log(reader, " MP35_Init: Using oscillator 2 (3.68MHz)");121 rdr_log(reader, "%s: Using oscillator 2 (3.68MHz)", __func__); 122 122 parameter = 0x02; 123 123 } 124 124 else if(original_mhz == 600) 125 125 { 126 rdr_log(reader, " MP35_Init: Using oscillator 3 (6.00MHz)");126 rdr_log(reader, "%s: Using oscillator 3 (6.00MHz)", __func__); 127 127 parameter = 0x03; 128 128 } 129 129 else 130 130 { 131 rdr_log(reader, " MP35_Init: MP35 support only mhz=357, mhz=368 or mhz=600");132 rdr_log(reader, " MP35_Init: Forced oscillator 1 (3.57MHz)");131 rdr_log(reader, "%s: MP35 support only mhz=357, mhz=368 or mhz=600", __func__); 132 rdr_log(reader, "%s: Forced oscillator 1 (3.57MHz)", __func__); 133 133 parameter = 0x01; 134 134 original_mhz = 357; … … 143 143 return ERROR; 144 144 } 145 rdr_debug_mask(reader, D_IFD, " MP35_Init: Leaving programming mode");145 rdr_debug_mask(reader, D_IFD, "%s: Leaving programming mode", __func__); 146 146 memset(rec_buf, 0x00, sizeof(rec_buf)); 147 147 call(IO_Serial_Write(reader, MP35_WRITE_DELAY, 2, exit_program_mode)); … … 172 172 memcpy(info, rec_buf, info_len); 173 173 info[info_len] = '\0'; 174 rdr_log(reader, " MP35_Init: FW Info - %s", info);174 rdr_log(reader, "%s: FW Info - %s", info, __func__); 175 175 } 176 176 … … 178 178 if(original_mhz == 357) 179 179 { 180 rdr_log(reader, " MP35_Init: Using oscillator 1 (3.57MHz)");180 rdr_log(reader, "%s: Using oscillator 1 (3.57MHz)", __func__); 181 181 call(IO_Serial_Write(reader, MP35_WRITE_DELAY, 2, phoenix_mode)); 182 182 } 183 183 else if(original_mhz == 600) 184 184 { 185 rdr_log(reader, " MP35_Init: Using oscillator 2 (6.00MHz)");185 rdr_log(reader, "%s: Using oscillator 2 (6.00MHz)", __func__); 186 186 call(IO_Serial_Write(reader, MP35_WRITE_DELAY, 2, phoenix_6mhz_mode)); 187 187 } 188 188 else 189 189 { 190 rdr_log(reader, " MP35_Init: MP35 support only mhz=357 or mhz=600");191 rdr_log(reader, " MP35_Init: Forced oscillator 1 (3.57MHz)");190 rdr_log(reader, "%s: MP35 support only mhz=357 or mhz=600", __func__); 191 rdr_log(reader, "%s: Forced oscillator 1 (3.57MHz)", __func__); 192 192 call(IO_Serial_Write(reader, MP35_WRITE_DELAY, 2, phoenix_mode)); 193 193 original_mhz = 357; … … 201 201 current_product = reader_info.current_product; 202 202 203 203 /* Default serial port settings */ 204 204 if (reader->atr[0] == 0) { 205 205 call(IO_Serial_SetParams (reader, DEFAULT_BAUDRATE, 8, PARITY_EVEN, 2, NULL, NULL)); … … 210 210 } 211 211 212 int32_t MP35_Close(struct s_reader * reader)213 { 214 212 static int32_t mp35_close(struct s_reader * reader) 213 { 214 rdr_debug_mask (reader, D_IFD, "Closing MP35 device %s", reader->device); 215 215 216 216 if(current_product != 0x10) // USB Phoenix … … 221 221 IO_Serial_Close(reader); 222 222 223 223 return OK; 224 224 } 225 225 … … 228 228 if (reader->handle < 0) { 229 229 rdr_log(reader, "ERROR: Opening device %s (errno=%d %s)", 230 reader->device, errno, strerror(errno));231 return ERROR; 232 } 233 234 if ( MP35_Init(reader)) {235 rdr_log(reader, "ERROR: MP35_Init returnserror");236 MP35_Close (reader);230 reader->device, errno, strerror(errno)); 231 return ERROR; 232 } 233 234 if (mp35_reader_init(reader)) { 235 rdr_log(reader, "ERROR: mp35_reader_init returned error"); 236 mp35_close (reader); 237 237 return ERROR; 238 238 } … … 250 250 void cardreader_mp35(struct s_cardreader *crdr) 251 251 { 252 crdr->desc = "mp35"; 253 crdr->reader_init = mp35_init; 254 crdr->get_status = Phoenix_GetStatus; 255 crdr->activate = Phoenix_Reset; 256 crdr->transmit = mp35_transmit; 257 crdr->receive = mp35_receive; 258 crdr->close = MP35_Close; 259 crdr->set_parity = IO_Serial_SetParity; 260 crdr->set_baudrate = Phoenix_SetBaudrate; 261 crdr->typ = R_MOUSE; 262 crdr->flush = 1; 252 crdr->desc = "mp35"; 253 crdr->typ = R_MOUSE; 254 crdr->flush = 1; 263 255 crdr->need_inverse = 1; 264 256 crdr->read_written = 1; 257 crdr->reader_init = mp35_init; 258 crdr->get_status = Phoenix_GetStatus; 259 crdr->activate = Phoenix_Reset; 260 crdr->transmit = mp35_transmit; 261 crdr->receive = mp35_receive; 262 crdr->close = mp35_close; 263 crdr->set_parity = IO_Serial_SetParity; 264 crdr->set_baudrate = Phoenix_SetBaudrate; 265 265 } 266 266 -
trunk/csctapi/ifd_sci.c
r7711 r7718 16 16 #include "sci_ioctl.h" 17 17 18 #undef ATR_TIMEOUT 18 19 #define ATR_TIMEOUT 800 19 20
Note:
See TracChangeset
for help on using the changeset viewer.