Skip to content

Instantly share code, notes, and snippets.

@dscp46
Created September 29, 2025 06:59
Show Gist options
  • Select an option

  • Save dscp46/fe59f618495b6cd9242fcc4583094451 to your computer and use it in GitHub Desktop.

Select an option

Save dscp46/fe59f618495b6cd9242fcc4583094451 to your computer and use it in GitHub Desktop.
#!/usr/bin/env bash
devpath=/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_IC-7100_03005210_A-if00-port0
orig_settings=$(stty -F "${devpath}" -g)
if [ $# -ne 1 ]; then
echo "Usage: $0 up|down" >&2
exit 1
fi
case "$1" in
up)
stty -F "${devpath}" 19200 raw -echo -icanon
xxd -r -p <<< "FEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFEFE88E01801FD" | cat > "${devpath}"
sleep 4
# Synchronize time from computer
date "+FEFE88E01A050120%Y%m%dFD" | xxd -r -p > "${devpath}"
sleep 1
date "+FEFE88E01A050121%H%MFD" | xxd -r -p > "${devpath}"
sleep 1
;;
down)
stty -F "${devpath}" 19200 raw -echo -icanon
xxd -r -p <<< "FFFE88E01800FD" | cat > "${devpath}"
;;
*)
echo "Unrecognised option \"$1\"." >&2
esac
stty -F "${devpath}" "${orig_settings}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment