Revert "Add message in case of Arduino disconnect at any time"

This reverts commit ff20725b0f.

Help i broke it
This commit is contained in:
askiiart 2022-11-02 19:38:11 -05:00 committed by askiiart
parent ff20725b0f
commit d8572bb331

View file

@ -1,11 +1,8 @@
import os
import GPUtil
import time import time
from pySerialTransfer import pySerialTransfer as txfer
from subprocess import getoutput from subprocess import getoutput
try:
import GPUtil
from pySerialTransfer import pySerialTransfer as txfer
from serial import SerialException
except ImportError:
print('Make sure you have installed the required libraries: GPUtil, pySerialTransfer')
try: try:
# --- # ---
@ -14,81 +11,71 @@ try:
# The port of the Uno will be "/dev/ttyXXX#", like "/dev/ttyACM0" or "/dev/ttyUSB0". I think macOS is the same. # The port of the Uno will be "/dev/ttyXXX#", like "/dev/ttyACM0" or "/dev/ttyUSB0". I think macOS is the same.
# Then, just remove "/dev/", and the number, from the port, and type it into the variable `port` # Then, just remove "/dev/", and the number, from the port, and type it into the variable `port`
# --- # ---
def get_port(): port = 'ttyACM'
port = 'ttyACM' while True:
while True: ports = getoutput(f'ls /dev | grep {port}').split('\n')
ports = getoutput(f'ls /dev | grep {port}').split('\n') if ports != ['']:
if ports != ['']: ports.sort()
ports.sort() port = ports[len(ports) - 1]
port = ports[len(ports) - 1] break
break print('Waiting for Arduino...')
print('Waiting for Arduino...') time.sleep(3)
time.sleep(3)
link = txfer.SerialTransfer(port, 115200, timeout=.1)
return port
link = txfer.SerialTransfer(get_port(), 115200, timeout=.1)
link.open() link.open()
time.sleep(2)
while True: while True:
time.sleep(1)
try: gpus = GPUtil.getGPUs()
time.sleep(1) temp = max(gpu.temperature for gpu in gpus)
gpus = GPUtil.getGPUs()
temp = max(gpu.temperature for gpu in gpus)
speed = int(((temp - 40) / 40) * 100) speed = int(((temp - 40) / 40) * 100)
min_speed = 34 min_speed = 0
max_speed = 100 max_speed = 100
if speed < 0: if speed < 0:
speed = min_speed speed = min_speed
elif speed > 100: elif speed > 100:
speed = max_speed speed = max_speed
print(f'Temp: {temp}') print(f'Temp: {temp}')
print(f'Speed: {speed}') print(f'Speed: {speed}')
################################################################################################################ ################################################################################################################
# Send data to the Arduino # Send data to the Arduino
################################################################################################################ ################################################################################################################
# send_size will be increased when data is added to payload # send_size will be increased when data is added to payload
send_size = 0 send_size = 0
# Adds data to payload # Adds data to payload
int_size = link.tx_obj(speed, send_size) - send_size int_size = link.tx_obj(speed, send_size) - send_size
send_size += int_size send_size += int_size
# Sends data to Arduino # Sends data to Arduino
link.send(send_size) link.send(send_size)
# Waits for response from Arduino, and reports errors while receiving packets # Waits for response from Arduino, and reports errors while receiving packets
while not link.available(): while not link.available():
if link.status < 0: if link.status < 0:
if link.status == txfer.CRC_ERROR: if link.status == txfer.CRC_ERROR:
print('Error: CRC_ERROR') print('Error: CRC_ERROR')
elif link.status == txfer.PAYLOAD_ERROR: elif link.status == txfer.PAYLOAD_ERROR:
print('Error: PAYLOAD_ERROR') print('Error: PAYLOAD_ERROR')
elif link.status == txfer.STOP_BYTE_ERROR: elif link.status == txfer.STOP_BYTE_ERROR:
print('Error: STOP_BYTE_ERROR') print('Error: STOP_BYTE_ERROR')
else: else:
print('Error: {}'.format(link.status)) print('Error: {}'.format(link.status))
# Parse response from Arduino
rec_int = link.rx_obj(obj_type=int, obj_byte_size=int_size, start_pos=(send_size - int_size))
# Evaluate for comm. errors # Parse response from Arduino
if speed != rec_int: rec_int = link.rx_obj(obj_type=int, obj_byte_size=int_size, start_pos=(send_size - int_size))
print(f'Error: sent {speed}, received {rec_int}')
except OSError or SerialException:
try:
link.close()
except:
pass
link = txfer.SerialTransfer(get_port(), 115200, timeout=.1)
link.open()
# Evaluate for comm. errors
if speed != rec_int:
print(f'Error: sent {speed}, received {rec_int}')
except KeyboardInterrupt: except KeyboardInterrupt:
try: try: