comparison serial/main.c @ 53:fbedb67d234f

serial: fix parity for inverse coding convention Important note: it is my (Mother Mychaela's) understanding that SIM cards with inverse coding convention are extremely rare, and I have never seen such a card. Therefore, our support for the inverse coding convention will likely remain forever untested.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 21 Mar 2021 20:46:09 +0000
parents be27d1c85861
children
comparison
equal deleted inserted replaced
52:0fec41a10131 53:fbedb67d234f
4 4
5 #include <stdio.h> 5 #include <stdio.h>
6 #include <stdlib.h> 6 #include <stdlib.h>
7 7
8 extern unsigned baud_base, baud_spenh; 8 extern unsigned baud_base, baud_spenh;
9 extern int inverse_coding;
9 10
10 main(argc, argv) 11 main(argc, argv)
11 char **argv; 12 char **argv;
12 { 13 {
13 char inbuf[576]; 14 char inbuf[576];
18 fprintf(stderr, "usage: %s ttyport baud\n", argv[0]); 19 fprintf(stderr, "usage: %s ttyport baud\n", argv[0]);
19 exit(1); 20 exit(1);
20 } 21 }
21 open_serial_port(argv[1]); 22 open_serial_port(argv[1]);
22 parse_baud_spenh_arg(argv[2]); 23 parse_baud_spenh_arg(argv[2]);
23 set_serial_params(baud_base); 24 set_serial_params(baud_base, -1);
24 set_serial_nonblock(0); 25 set_serial_nonblock(0);
25 serial_card_reset(); 26 serial_card_reset();
26 rc = collect_atr(); 27 rc = collect_atr();
27 if (rc < 0) 28 if (rc < 0)
28 exit(1); 29 exit(1);
29 print_atr("A"); 30 print_atr("A");
31 set_serial_params(baud_base, inverse_coding);
30 if (baud_spenh) 32 if (baud_spenh)
31 spenh_logic(); 33 spenh_logic();
32 putchar('\n'); 34 putchar('\n');
33 fflush(stdout); 35 fflush(stdout);
34 36