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;
-}