test inputs

This commit is contained in:
quoije
2024-03-02 13:40:52 -05:00
parent e9f204d6bd
commit 651c798d3a
18 changed files with 57 additions and 150 deletions
+24 -67
View File
@@ -5,9 +5,8 @@ from threading import Thread
status = None
speed = 0
rpm = 0
coonnection = None
rpm = None
class OBD:
def __init__(self):
self.status = status
@@ -16,9 +15,14 @@ class OBD:
obd_status = ["Disconnected", "Connected", "Connection...", "wtf"]
obd_speed_lock = threading.Lock()
obd_rpm_lock = threading.Lock()
obd_dtc_lock = threading.Lock()
obd_state_lock = threading.Lock()
obd_speed_rpm = threading.Lock()
try:
print(obd_status[2])
connection = obd.OBD() # put linux /dev/rfi... something in () for the rpi bluetooth adpater
except Exception as e:
print("An error occurred:", str(e))
def get_speedtime():
global speed
@@ -27,37 +31,21 @@ def get_speedtime():
time_now = str(date.strftime("%H:%M:%S"))
return [str(time_now), speed]
def obd_connection():
global connection
try:
print(obd_status[2])
connection = obd.OBD() # put linux /dev/rfi... something in () for the rpi bluetooth adpater
except Exception as e:
print("An error occurred:", str(e))
@socketio.on('obd')
def obd_connection():
if connection.is_connected():
print(obd_status[1])
socketio.emit('obd_status', obd_status[1])
print("OBD connection established.")
obd_events(1)
else:
print("OBD connection failed.")
print(obd_status[0])
obd_events(0)
@socketio.on('obd')
def obd_events(status):
if status == 1:
thread_state = Thread(target=obd_state(1))
thread_state.daemon = True
thread_state.start()
# change status to 2 when done testing
elif status == 0:
thread_state = Thread(target=obd_state(2))
thread_state.daemon = True
thread_state.start()
socketio.emit('obd_status', obd_status[0])
socketio.emit('obd_speed', "-")
socketio.emit('obm_error', "-")
socketio.emit('obd_rpm', "-")
# debug speed for testing
thread_speed = Thread(target=obd_speed)
@@ -68,21 +56,7 @@ def obd_events(status):
thread_rpm = Thread(target=obd_rpm)
thread_rpm.daemon = True
thread_rpm.start()
else:
thread_speed = Thread(target=obd_state(0))
thread_speed.daemon = True
thread_speed.start()
def obd_state(status):
loop = True
while loop == True:
print(obd_status[status])
socketio.emit('obd_status', obd_status[status])
print("[+] websocket packet sent...")
time.sleep(2)
def obd_speed():
obd_speed_lock.acquire()
cmd = obd.commands.SPEED # select an OBD command (sensor)
@@ -90,13 +64,11 @@ def obd_speed():
loop = True
try:
while loop == True:
print(obd_status[3])
socketio.emit('obd_status', obd_status[3])
global speed
speed = speed + 1
time.sleep(1)
if response.is_null():
print("TEST SPEED for DEBUG #"+ str(get_speedtime()))
print("No data received. #"+ str(get_speedtime()))
socketio.emit('obd_speed', get_speedtime())
else:
print("Original value:", response.value)
@@ -106,38 +78,23 @@ def obd_speed():
obd_speed_lock.release()
def obd_rpm():
obd_rpm_lock.acquire()
obd_speed_lock.acquire()
cmd = obd.commands.RPM # select an OBD command (sensor)
response = connection.query(cmd) # send the command and parse the response
loop = True
try:
while loop == True:
global rpm
rpm = rpm + 1
speed = speed + 1
time.sleep(1)
if response.is_null():
print("No data received. #"+"RPM :"+str(rpm))
socketio.emit('obd_rpm', rpm)
print("No data received. #"+ str(get_speedtime()))
socketio.emit('obd_speed', get_speedtime())
else:
print("RPM:", response.value)
socketio.emit('obd_rpm', response.value.to("kph"))
socketio.emit('obd_speed', response.value.to("kph"))
finally:
obd_rpm_lock.release()
def obd_dtc():
obd_dtc_lock.acquire()
cmd = obd.commands.GET_DTC # select an OBD command (sensor)
response = connection.query(cmd) # send the command and parse the response
try:
if response.is_null():
error_txt = "No data received."
print(error_txt)
socketio.emit('obd_dtc', error_txt)
else:
print(response.value)
socketio.emit('obd_dtc', response.value)
finally:
obd_dtc_lock.release()
def kill_obd(obd_type):
if obd_type == "speed":