gonzopi

git clone https://git.tarina.org/gonzopi
Log | Files | Refs | README | LICENSE

commit e0670ba502eabcefaa4dd8655a048082757d53e0
parent f82ee7ebc0329c8aa185c3247fd28f9fbd8b7e6a
Author: rbckman <rob@tarina.org>
Date:   Fri,  7 Feb 2025 03:23:16 +0000

not eat all cpu

Diffstat:
Mextras/slidereader.py | 4+++-
Mgonzopi.py | 2+-
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:':