diff options
| author | dmlunar <root@lunar.sh> | 2025-01-22 16:47:21 +0200 |
|---|---|---|
| committer | dmlunar <root@lunar.sh> | 2025-10-15 23:42:50 +0200 |
| commit | 729f2a2c3ebfb2612d873caf453a1d7ca02180d9 (patch) | |
| tree | 7bab2fcc0c7f50eab3013348697bc06ddd71d551 /scripts/device.py | |
| download | varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.tar.gz varpa-729f2a2c3ebfb2612d873caf453a1d7ca02180d9.zip | |
varpa: initial public commit
Diffstat (limited to 'scripts/device.py')
| -rw-r--r-- | scripts/device.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/scripts/device.py b/scripts/device.py new file mode 100644 index 0000000..fc17786 --- /dev/null +++ b/scripts/device.py @@ -0,0 +1,87 @@ +# Author: Dylan Muller +# Copyright (c) 2025 +# All rights reserved. +# +# - Commercial/IP use prohibited. +# - Attribution required. +# See License.txt + +from setup import * +import time + +def serial_send(serial, data): + try: + if (serial and serial.is_open): + serial.write(data.encode('utf-8')) + except: + return 0 + +def serial_receive_line(serial): + try: + if (serial and serial.is_open): + serial_data = serial.readline().decode('utf-8').rstrip() + else: + return "" + except: + return "" + return serial_data + +def serial_receive_lines(serial, n): + lines = [] + for i in range(n): + line = serial_receive_line(serial) + if (line == ""): + return line + if (SETUP_CMD_BUSY_RESPONSE in line): + return SETUP_CMD_BUSY_RESPONSE + lines.append(line) + return lines + +def sys_reset(serial): + serial_send(serial, SETUP_CMD_RESET) + time.sleep(SETUP_CMD_TIMEOUT) + response = serial_receive_line(serial) + return response + +def sys_gate_probe(serial): + serial_send(serial, SETUP_CMD_PROBE) + time.sleep(SETUP_CMD_TIMEOUT) + response = serial_receive_lines(serial, SETUP_CMD_PROBE_N) + return response + +def sys_drain_set(serial, count): + payload = SETUP_CMD_DRAIN_SET + ' ' + str(count) + SETUP_NEWLINE + serial_send(serial, payload) + time.sleep(SETUP_CMD_TIMEOUT) + +def sys_si4468_tx(serial): + serial_send(serial, SETUP_CMD_TX) + time.sleep(SETUP_CMD_TIMEOUT) + response = serial_receive_line(serial) + return response + +def sys_si4468_rx(serial): + serial_send(serial, SETUP_CMD_RX) + time.sleep(SETUP_CMD_TIMEOUT) + response = serial_receive_line(serial) + return response + +def sys_read_power(serial): + serial_send(serial, SETUP_CMD_POWER_GET) + time.sleep(SETUP_CMD_TIMEOUT) + power_count = serial_receive_line(serial) + power_count = power_count.split(" ")[1] + power_count = int(power_count) + return power_count + +def sys_reply(serial): + serial_send(serial, SETUP_CMD_REPLY) + time.sleep(SETUP_CMD_TIMEOUT) + response = serial_receive_line(serial) + return response + +def sys_report(serial): + serial_send(serial, SETUP_CMD_REPORT) + time.sleep(SETUP_CMD_TIMEOUT) + response = serial_receive_lines(serial, SETUP_CMD_REPORT_N) + return response |
