emulate Kramer VS66
[veternica] / ser-kramer.py
diff --git a/ser-kramer.py b/ser-kramer.py
new file mode 100644 (file)
index 0000000..322316a
--- /dev/null
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+
+import serial
+
+# Kramer VS66
+
+def read_and_respond():
+    port = '/dev/ttyUSB1'
+    try:
+        ser = serial.Serial(port, baudrate=9600, timeout=0.1)
+        print("Serial port",port,"opened successfully.")
+    except serial.SerialException as e:
+        print("Error opening the serial port ",port,":", e)
+        return
+
+    while True:
+        # Read 4 bytes from the serial port
+        read_bytes = ser.read(size=4)
+
+        if len(read_bytes) == 0:
+            continue
+
+        if read_bytes == b"\x14\x82\x80\x81":
+            response = b"\x54\x82\x80\x81"
+        elif read_bytes == b"\x14\x81\x80\x81":
+            response = b"\x54\x81\x80\x81"
+        else:
+            response = b"\xDE\xAD\xBE\xEF"
+
+        # Send the response back
+        ser.write(response)
+
+        print("Received:", read_bytes, read_bytes.hex())
+        print("Response:", response, response.hex())
+
+if __name__ == "__main__":
+    read_and_respond()