mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-24 01:31:44 +00:00
sagi this is for you
This commit is contained in:
@@ -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
|
||||
@@ -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"],
|
||||
|
||||
Reference in New Issue
Block a user