mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-29 02:21:41 +00:00
added start cameras method
This commit is contained in:
@@ -3,11 +3,19 @@ import tornado.ioloop
|
||||
from app.ChameleonVisionApp import ChameleonApplication
|
||||
from app.classes.SettingsManager import SettingsManager
|
||||
from tornado.options import options
|
||||
from classes.CamerasHandler import CamerasHandler
|
||||
|
||||
if __name__ == "__main__":
|
||||
mng = SettingsManager()
|
||||
a = CamerasHandler.get_cameras()
|
||||
b = CamerasHandler.start_cameras(a)
|
||||
|
||||
tornado.options.parse_command_line()
|
||||
app = ChameleonApplication()
|
||||
print(f"Serving on port {options.port}")
|
||||
app.listen(options.port)
|
||||
tornado.ioloop.IOLoop.current().start()
|
||||
|
||||
#TODO: create process for each camera
|
||||
# create proccess loop and camera publisher
|
||||
# bridge network tables for each camera
|
||||
@@ -17,3 +17,11 @@ class CamerasHandler:
|
||||
cap.release()
|
||||
index += 1
|
||||
return [usb_devices[i] for i in arr]
|
||||
|
||||
@staticmethod
|
||||
def start_cameras(usb_devices):
|
||||
cameras = []
|
||||
for device in usb_devices:
|
||||
camera = cscore.UsbCamera(name='', dev=device.dev)
|
||||
cameras.append(camera)
|
||||
return cameras
|
||||
|
||||
@@ -31,7 +31,7 @@ class SettingsManager(metaclass=Singleton):
|
||||
|
||||
def _init_cameras(self):
|
||||
cameras = CamerasHandler.get_cameras()
|
||||
|
||||
|
||||
for cam in cameras:
|
||||
if os.path.exists(os.path.join(self.cams_path, cam.name)):
|
||||
self.cams[cam.name] = {}
|
||||
|
||||
Reference in New Issue
Block a user