Convert led code to class based for multithreading

This commit is contained in:
Cole Deck 2024-03-23 15:33:51 -05:00
parent 9b1b92e21d
commit 069d2175d9
2 changed files with 603 additions and 611 deletions

File diff suppressed because it is too large Load Diff

12
run.py
View File

@ -17,7 +17,7 @@ import signal
import socket
from flask import Flask, render_template, request
import requests
import led_control
from led_control import LEDSystem
import server
import asyncio
import json
@ -36,7 +36,7 @@ killme = None
#pool = None
serverproc = None
camera = None
ledsys = None
to_server_queue = Queue()
from_server_queue = Queue()
@ -47,6 +47,8 @@ def arm_start_callback(res):
def led_start_callback(res):
global led_ready
led_ready = True
global ledsys
ledsys = res
def camera_start_callback(res):
global camera_ready
@ -233,11 +235,13 @@ def setup_server(pool):
global camera
pool.apply_async(ur5_control.init, (config["arm"]["ip"],), callback=arm_start_callback)
pool.apply_async(led_control.init, callback=led_start_callback)
global ledsys
ledsys = LEDSystem()
pool.apply_async(ledsys.init, callback=led_start_callback)
#pool.apply_async(sensor_control.init, callback=sensor_start_callback)
serverproc = Process(target=start_server_socket)
serverproc.start()
if led_ready is False:
fprint("waiting for " + "LED controller initialization" + " to complete...", sendqueue=to_server_queue)
while led_ready is False: