diff --git a/shepherd/plugins/aphidtrap.py b/shepherd/plugins/aphidtrap.py index 9c50771..9fedac8 100644 --- a/shepherd/plugins/aphidtrap.py +++ b/shepherd/plugins/aphidtrap.py @@ -25,8 +25,14 @@ class AphidtrapModule(shepherd.plugin.Plugin): print("Aphidtrap config:") print(self.config) - self.interface.attach_hook("picam", "pre_cam", self.led_on) - self.interface.attach_hook("picam", "post_cam", self.led_off) + if "picam" in self.plugins: + self.interface.attach_hook("picam", "pre_cam", self.led_on) + self.interface.attach_hook("picam", "post_cam", self.led_off) + elif "usbcam" in self.plugins: + self.interface.attach_hook("usbcam", "pre_cam", self.led_on) + self.interface.attach_hook("usbcam", "post_cam", self.led_off) + else: + raise ValueError("Need to either have picam or usbcam plugin loaded") self.interface.register_function(self.test) diff --git a/shepherd/plugins/mothtrap.py b/shepherd/plugins/mothtrap.py index 2e45e9a..ff405bc 100644 --- a/shepherd/plugins/mothtrap.py +++ b/shepherd/plugins/mothtrap.py @@ -37,9 +37,16 @@ class MothtrapPlugin(shepherd.plugin.Plugin): #print(F"Supplied min: {servo_min}, max: {servo_max}") - self.interface.attach_hook("usbcam", "pre_cam", self.led_on) - self.interface.attach_hook("usbcam", "post_cam", self.led_off) - self.interface.attach_hook("usbcam", "post_cam", self.run_servo) + if "picam" in self.plugins: + self.interface.attach_hook("picam", "pre_cam", self.led_on) + self.interface.attach_hook("picam", "post_cam", self.led_off) + self.interface.attach_hook("picam", "post_cam", self.run_servo) + elif "usbcam" in self.plugins: + self.interface.attach_hook("usbcam", "pre_cam", self.led_on) + self.interface.attach_hook("usbcam", "post_cam", self.led_off) + self.interface.attach_hook("usbcam", "post_cam", self.run_servo) + else: + raise ValueError("Need to either have picam or usbcam plugin loaded") self.interface.register_function(self.test)