commit e0670ba502eabcefaa4dd8655a048082757d53e0
parent f82ee7ebc0329c8aa185c3247fd28f9fbd8b7e6a
Author: rbckman <rob@tarina.org>
Date: Fri, 7 Feb 2025 03:23:16 +0000
not eat all cpu
Diffstat:
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/extras/slidereader.py b/extras/slidereader.py
@@ -1,6 +1,7 @@
import serial
import serial.tools.list_ports
import time
+import select
def list_serial_ports():
# Get a list of all serial ports
@@ -28,7 +29,8 @@ def listen_serial_port(serial_port):
# Read data from the serial port
try:
while True:
- if ser.in_waiting > 0: # Check if there is data waiting to be read
+ ready, _, _ = select.select([ser], [], [], 1) # 1 second timeout
+ if ready:
received_data = ser.readline().decode('utf-8').strip() # Read a line and decode
print(f"Received: {received_data}")
except KeyboardInterrupt:
diff --git a/gonzopi.py b/gonzopi.py
@@ -2858,7 +2858,7 @@ def slide_menu(slidecommander):
elif pressed == 'middle' and menu[selected] == 'PAN:':
send_serial_port(slidecommander,'p'+str(pan))
elif pressed == 'middle' and menu[selected] == 'START':
- os.system('pkill slidereader.py')
+ os.system('pkill -9 slidereader.py')
time.sleep(1)
slidereader = Popen(['python3', gonzopifolder+'/extras/slidereader.py'])
elif pressed == 'middle' and menu[selected] == 'TILT:':