FreeCalypso > hg > freecalypso-tools
changeset 251:fb577c31e960
fc-serterm converted to use libserial
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 21 Sep 2017 23:25:02 +0000 |
parents | 8c011177adb9 |
children | d27a89068280 |
files | miscutil/Makefile miscutil/fc-serterm.c miscutil/openport.c |
diffstat | 3 files changed, 3 insertions(+), 69 deletions(-) [+] |
line wrap: on
line diff
--- a/miscutil/Makefile Thu Sep 21 23:07:01 2017 +0000 +++ b/miscutil/Makefile Thu Sep 21 23:25:02 2017 +0000 @@ -9,7 +9,7 @@ FR2TCH_OBJS= fc-fr2tch.o gsm0610.o GSM2VM_OBJS= fc-gsm2vm.o gsm0610.o TCH2FR_OBJS= fc-tch2fr.o gsm0610.o -SERTERM_OBJS= fc-serterm.o openport.o ttypassthru.o +SERTERM_OBJS= fc-serterm.o ttypassthru.o ../libserial/libserial.a fc-fr2tch: ${FR2TCH_OBJS} ${CC} ${CFLAGS} -o $@ ${FR2TCH_OBJS}
--- a/miscutil/fc-serterm.c Thu Sep 21 23:07:01 2017 +0000 +++ b/miscutil/fc-serterm.c Thu Sep 21 23:25:02 2017 +0000 @@ -9,8 +9,6 @@ #include <stdio.h> #include <stdlib.h> -int target_fd; - main(argc, argv) char **argv; { @@ -18,7 +16,8 @@ fprintf(stderr, "usage: %s ttyname baudrate\n", argv[0]); exit(1); } - open_target_serial(argv[1], argv[2]); + open_serial_port(argv[1]); + set_fixed_baudrate(argv[2]); tty_passthru(); exit(0); }
--- a/miscutil/openport.c Thu Sep 21 23:07:01 2017 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,65 +0,0 @@ -/* - * Serial port opening code for fc-serterm - */ - -#include <sys/types.h> -#include <sys/file.h> -#include <sys/ioctl.h> -#include <termios.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <strings.h> -#include <unistd.h> - -extern int target_fd; - -static struct baudrate { - char *name; - speed_t termios_code; -} baud_rate_table[] = { - {"19200", B19200}, - {"38400", B38400}, - {"57600", B57600}, - {"115200", B115200}, - /* non-standard high baud rates "remapped" by CP2102 usb2serial IC */ - {"203125", B230400}, - {"406250", B460800}, - {"812500", B921600}, - /* table search terminator */ - {NULL, B0} -}; - -open_target_serial(ttydev, baudname) - char *ttydev, *baudname; -{ - struct termios target_termios; - struct baudrate *br; - - for (br = baud_rate_table; br->name; br++) - if (!strcmp(br->name, baudname)) - break; - if (!br->name) { - fprintf(stderr, "baud rate \"%s\" unknown/unsupported\n", - baudname); - exit(1); - } - target_fd = open(ttydev, O_RDWR|O_NONBLOCK); - if (target_fd < 0) { - perror(ttydev); - exit(1); - } - target_termios.c_iflag = IGNBRK; - target_termios.c_oflag = 0; - target_termios.c_cflag = CLOCAL|HUPCL|CREAD|CS8; - target_termios.c_lflag = 0; - target_termios.c_cc[VMIN] = 1; - target_termios.c_cc[VTIME] = 0; - cfsetispeed(&target_termios, br->termios_code); - cfsetospeed(&target_termios, br->termios_code); - if (tcsetattr(target_fd, TCSAFLUSH, &target_termios) < 0) { - perror("initial tcsetattr on target"); - exit(1); - } - return 0; -}