wip
This commit is contained in:
parent
f1ae005267
commit
8ecb7dcad8
@ -1,2 +1,26 @@
|
||||
[hardware_config]
|
||||
archive_synchronizer: present
|
||||
galaxy_camera: absent
|
||||
label_printer: present
|
||||
multicomp: present
|
||||
neo_pixels: present
|
||||
remote_api: present
|
||||
screwdriver: present
|
||||
tecna_t3: present
|
||||
uvc_camera: present
|
||||
vision_saver: present
|
||||
vision: present
|
||||
|
||||
[tecna_t3]
|
||||
model: t3l
|
||||
port: /dev/ttyUSB0
|
||||
|
||||
[multicomp]
|
||||
port: /dev/ttyACM0
|
||||
|
||||
[neo_pixels]
|
||||
port: /dev/ttyACM1
|
||||
|
||||
[archive_synchronizer]
|
||||
poll_time: 6
|
||||
hold_time: 1
|
||||
|
||||
@ -58,8 +58,8 @@ class UVCCamera(Component):
|
||||
"b": float(self.config[self.name].get("balance_blue", 1)),
|
||||
}
|
||||
self.lock.lock()
|
||||
self.camera.set(cv2.CAP_PROP_FRAME_WIDTH, self.resolution["w"])
|
||||
self.camera.set(cv2.CAP_PROP_FRAME_HEIGHT, self.resolution["h"])
|
||||
self.camera.set(cv2.CAP_PROP_FRAME_WIDTH, int(self.resolution["w"] / 4))
|
||||
self.camera.set(cv2.CAP_PROP_FRAME_HEIGHT, int(self.resolution["h"] / 4))
|
||||
self.camera.set(cv2.CAP_PROP_AUTOFOCUS, 1)
|
||||
if self.exposure_time is not None:
|
||||
self.camera.set(cv2.CAP_PROP_AUTO_EXPOSURE, 0)
|
||||
|
||||
@ -298,13 +298,16 @@ class Test(Widget):
|
||||
if all([d not in self.components for d in dependency]):
|
||||
unsupported_steps.add(step.type)
|
||||
else:
|
||||
unready = {}
|
||||
unready = set()
|
||||
for d in dependency:
|
||||
if d in self.components:
|
||||
if not self.components[d].ready:
|
||||
self.components[d].reconfigure()
|
||||
if not self.components[d].ready:
|
||||
unready.add(d)
|
||||
if unready == dependency:
|
||||
else:
|
||||
unready.add(d)
|
||||
if unready == set(dependency):
|
||||
missing_components.add(" or ".join(dependency))
|
||||
else:
|
||||
if dependency not in self.components:
|
||||
|
||||
@ -32,6 +32,10 @@ class Test_Vision(Test_Test):
|
||||
if self.run_once is True and self.done is True and self.done_ok is True:
|
||||
return
|
||||
# setup camera-vision loop
|
||||
if "uvc_camera" in self.components:
|
||||
self.components["uvc_camera"].set_period(period=None) # only get frame on request
|
||||
self.components["uvc_camera"].add_sources({"test_vision": self.request_frame})
|
||||
elif "galaxy_camera" in self.components:
|
||||
self.components["galaxy_camera"].set_period(period=None) # only get frame on request
|
||||
self.components["galaxy_camera"].add_sources({"test_vision": self.request_frame})
|
||||
self.request_frame_connection = self.components["vision"].out.connect(self.request_frame) # request new frame as soon as vision finishes
|
||||
@ -51,10 +55,16 @@ class Test_Vision(Test_Test):
|
||||
|
||||
def stop(self):
|
||||
# disable camera-vision loop
|
||||
if "uvc_camera" in self.components:
|
||||
self.components["uvc_camera"].pause()
|
||||
elif "galaxy_camera" in self.components:
|
||||
self.components["galaxy_camera"].pause()
|
||||
self.components["vision"].pause()
|
||||
self.disconnect(self.get_connection)
|
||||
self.disconnect(self.request_frame_connection)
|
||||
if "uvc_camera" in self.components:
|
||||
self.components["uvc_camera"].remove_sources(["test_vision", ])
|
||||
elif "galaxy_camera" in self.components:
|
||||
self.components["galaxy_camera"].remove_sources(["test_vision", ])
|
||||
super().stop()
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user