FreeCalypso > hg > freecalypso-tools
changeset 735:5b8287c655cf
fc-pulse-dtr and fc-pulse-rts utilities implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 15 Sep 2020 04:29:43 +0000 |
parents | 23f41a61ff7a |
children | 7d1df6d831e4 |
files | .hgignore miscutil/Makefile miscutil/fc-pulse-dtr.c miscutil/fc-pulse-rts.c |
diffstat | 4 files changed, 74 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/.hgignore Fri Aug 28 18:23:36 2020 +0000 +++ b/.hgignore Tue Sep 15 04:29:43 2020 +0000 @@ -30,6 +30,8 @@ ^miscutil/fc-fr2tch$ ^miscutil/fc-gsm2vm$ +^miscutil/fc-pulse-dtr$ +^miscutil/fc-pulse-rts$ ^miscutil/fc-rgbconv$ ^miscutil/fc-serterm$ ^miscutil/fc-tch2fr$
--- a/miscutil/Makefile Fri Aug 28 18:23:36 2020 +0000 +++ b/miscutil/Makefile Tue Sep 15 04:29:43 2020 +0000 @@ -1,7 +1,7 @@ CC= gcc CFLAGS= -O2 -PROGS= fc-fr2tch fc-gsm2vm fc-rgbconv fc-serterm fc-tch2fr fc-vm2hex imei-luhn\ - mokosrec2bin srec-regions +PROGS= fc-fr2tch fc-gsm2vm fc-pulse-dtr fc-pulse-rts fc-rgbconv fc-serterm \ + fc-tch2fr fc-vm2hex imei-luhn mokosrec2bin srec-regions SCRIPTS=c139explore pirexplore INSTALL_PREFIX= /opt/freecalypso @@ -21,6 +21,12 @@ fc-gsm2vm: ${GSM2VM_OBJS} ${CC} ${CFLAGS} -o $@ ${GSM2VM_OBJS} +fc-pulse-dtr: fc-pulse-dtr.c + ${CC} ${CFLAGS} -o $@ $@.c + +fc-pulse-rts: fc-pulse-rts.c + ${CC} ${CFLAGS} -o $@ $@.c + fc-rgbconv: fc-rgbconv.c ${CC} ${CFLAGS} -o $@ $@.c
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/miscutil/fc-pulse-dtr.c Tue Sep 15 04:29:43 2020 +0000 @@ -0,0 +1,32 @@ +/* + * This utility opens a serial port, asserts DTR for 50 ms, then negates it + * and exits. It is intended for use with FreeCalypso DUART28C adapters. + */ + +#include <sys/types.h> +#include <sys/file.h> +#include <sys/ioctl.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +main(argc, argv) + char **argv; +{ + int target_fd; + int mctl_arg = TIOCM_DTR; + + if (argc != 2) { + fprintf(stderr, "usage: %s ttyname\n", argv[0]); + exit(1); + } + target_fd = open(argv[1], O_RDWR|O_NONBLOCK); + if (target_fd < 0) { + perror(argv[1]); + exit(1); + } + ioctl(target_fd, TIOCMBIS, &mctl_arg); + usleep(50000); + ioctl(target_fd, TIOCMBIC, &mctl_arg); + exit(0); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/miscutil/fc-pulse-rts.c Tue Sep 15 04:29:43 2020 +0000 @@ -0,0 +1,32 @@ +/* + * This utility opens a serial port, asserts RTS for 50 ms, then negates it + * and exits. It is intended for use with FreeCalypso DUART28C adapters. + */ + +#include <sys/types.h> +#include <sys/file.h> +#include <sys/ioctl.h> +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> + +main(argc, argv) + char **argv; +{ + int target_fd; + int mctl_arg = TIOCM_RTS; + + if (argc != 2) { + fprintf(stderr, "usage: %s ttyname\n", argv[0]); + exit(1); + } + target_fd = open(argv[1], O_RDWR|O_NONBLOCK); + if (target_fd < 0) { + perror(argv[1]); + exit(1); + } + ioctl(target_fd, TIOCMBIS, &mctl_arg); + usleep(50000); + ioctl(target_fd, TIOCMBIC, &mctl_arg); + exit(0); +}