added start cameras method

This commit is contained in:
ori
2019-04-14 11:55:07 -07:00
parent 400de5eb48
commit 3fb0820b52
3 changed files with 17 additions and 1 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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] = {}