sagi this is for you

This commit is contained in:
ori
2019-05-10 07:01:39 -07:00
parent 7d11467fd3
commit 1340a2e260
2 changed files with 22 additions and 8 deletions

View File

@@ -1,22 +1,33 @@
import tornado.ioloop
import multiprocessing
from app.ChameleonVisionApp import ChameleonApplication
from app.classes.SettingsManager import SettingsManager
from tornado.options import options
from app.handlers.VisionHandler import VisionHandler
if __name__ == "__main__":
SettingsManager()
VisionHandler().run()
# SettingsManager().save_settings()
def run_server():
tornado.options.parse_command_line()
app = ChameleonApplication()
print(f"Serving on port {options.port}")
app.listen(options.port)
tornado.ioloop.IOLoop.current().start()
if __name__ == "__main__":
SettingsManager()
procs = VisionHandler().run()
# proc = multiprocessing.Process(target=run_server)
# procs.append(proc)
# proc.start()
for i in procs:
i.start()
# SettingsManager().save_settings()
#TODO: create process for each camera
# create proccess loop and camera publisher
# bridge network tables for each camera

View File

@@ -70,14 +70,17 @@ class VisionHandler:
return input_image
def run(self):
procs = []
camera_server = cscore.CameraServer.getInstance()
# NetworkTables.startClientTeam(team=SettingsManager.general_settings.get("team_number", 1577))
NetworkTables.initialize("localhost")
# NetworkTables.initialize()
for cam in SettingsManager().usb_cameras:
multiprocessing.Process(target=self.camera_process(SettingsManager().usb_cameras[cam],cam))
proc = multiprocessing.Process(target=self.camera_process, args=(SettingsManager().usb_cameras[cam],cam))
procs.append(proc)
# self.camera_process(SettingsManager().usb_cameras[cam],cam)
return procs
def camera_process(self, camera,cam_name):
@@ -102,7 +105,7 @@ class VisionHandler:
flags=networktables.NetworkTablesInstance.NotifyFlags.UPDATE)
table.addEntryListenerEx(mode_listener, key="Driver_Mode",
flags=networktables.NetworkTablesInstance.NotifyFlags.UPDATE)
change_camera_values()
# change_camera_values()
cs = CameraServer.getInstance()
cv_sink = cs.getVideo(camera=camera)
cv_publish = cs.putVideo(name=cam_name, width=SettingsManager().cams[cam_name]["video_mode"]["width"],