From 31e1544df5f97b90e855566031d5bb6d306b07c3 Mon Sep 17 00:00:00 2001
From: Nao Pross <naopross@thearcway.org>
Date: Sun, 5 Mar 2017 22:15:35 +0100
Subject: sw: started to implement serial on linux side

---
 sw/linux/config.h     |  26 ++++++++++++++++++++++++++
 sw/linux/src/serial.c |  20 ++++++++++++++++++++
 sw/linux/src/z80prog  | Bin 0 -> 34688 bytes
 3 files changed, 46 insertions(+)
 create mode 100644 sw/linux/config.h
 create mode 100755 sw/linux/src/z80prog

(limited to 'sw')

diff --git a/sw/linux/config.h b/sw/linux/config.h
new file mode 100644
index 0000000..d319f43
--- /dev/null
+++ b/sw/linux/config.h
@@ -0,0 +1,26 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Name of package */
+#define PACKAGE "z80prog"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "naopross@tharcway.org"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "z80prog"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "z80prog 0.1"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "z80prog"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.1"
+
+/* Version number of package */
+#define VERSION "0.1"
diff --git a/sw/linux/src/serial.c b/sw/linux/src/serial.c
index a13ef45..564676b 100644
--- a/sw/linux/src/serial.c
+++ b/sw/linux/src/serial.c
@@ -16,7 +16,27 @@ int serial_connect(const char *devpath, long baudrate)
         return -1;
     }
 
+    // TODO: update UI or add support for custom baudrate
     // cfsetospeed(&tty, 
+    // cfsetispeed(&tty, 
+
+    tty.c_cflag &= ~PARENB;  // no parity
+    tty.c_cflag &= ~CSTOPB;  // no stop bit
+    tty.c_cflag |= CS8;      // 8 bit data
+    tty.c_cflag &= ~CRTSCTS; // no flow control
+
+    tty.c_lflag     =  0;  // no signaling chars, no echo, no canonical processing
+    tty.c_oflag     =  0;  // no remapping, no delays
+    tty.c_cc[VMIN]  =  0;  // no block read
+    tty.c_cc[VTIME] = .5;  // .5 seconds read timeout
+
+    tty.c_cflag |= CREAD | CLOCAL;      // turn on read and ignore ctrl lines
+    tty.c_iflag &= ~(IXON | IXOFF | IXANY); // turn off s/w flow ctrl
+    tty.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); // make raw
+    tty.c_oflag &= ~OPOST; // make raw
+
+    tcflush(fd , TCIFLUSH);
+    // if (tcsetaddr(
 
     return fd;
 }
diff --git a/sw/linux/src/z80prog b/sw/linux/src/z80prog
new file mode 100755
index 0000000..878683b
Binary files /dev/null and b/sw/linux/src/z80prog differ
-- 
cgit v1.2.1