From a05db173d32eca13b291c3debb7b08e3debe4c3c Mon Sep 17 00:00:00 2001 From: Kuba Kaflik Date: Wed, 9 Aug 2023 09:17:32 +0200 Subject: [PATCH] xesc2tcp script to socat xesc serial --- .../filesystem/root/home/pi/xesc2tcp.sh | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 OpenMowerOS/src/modules/openmower/filesystem/root/home/pi/xesc2tcp.sh diff --git a/OpenMowerOS/src/modules/openmower/filesystem/root/home/pi/xesc2tcp.sh b/OpenMowerOS/src/modules/openmower/filesystem/root/home/pi/xesc2tcp.sh new file mode 100644 index 0000000..dbcf81c --- /dev/null +++ b/OpenMowerOS/src/modules/openmower/filesystem/root/home/pi/xesc2tcp.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +PORT=1234 + +declare -A DEVICE_MAP=( + ["left"]="/dev/ttyAMA4" + ["right"]="/dev/ttyAMA2" + ["mower"]="/dev/ttyAMA3" +) + +if [[ -z $1 ]]; then + echo "Error: Argument required." + exit 1 +fi + +if [[ -z ${DEVICE_MAP[$1]} ]]; then + echo "Error: Invalid argument. Valid values are: left, right, mower." + exit 1 +fi + +DEVICE=${DEVICE_MAP[$1]} + +running=true +trap 'echo "Interrupt received! Stopping..."; running=false' SIGINT + +echo "Running socat for device: ${DEVICE} on port: ${PORT}..." + +while $running; do + sudo socat TCP-LISTEN:${PORT},reuseaddr,fork FILE:${DEVICE},b115200,cs8,raw,echo=0 || true +done