wu_xinjun
2022-06-24 74c96c72625aff6613d69c7168e1a7d76da22870
src/engine/devices.py
@@ -24,7 +24,8 @@
            logs_queue:queue.Queue,
            images_queue:queue.Queue,
            init_routing_key:str,
            init_binding_key:str
            init_binding_key:str,
            init_taskuuid:str = "init"
            ):
        self.IMAGE_WIDTH = IMAGE_WIDTH
@@ -36,6 +37,8 @@
        self.routing_key = init_routing_key
        self.init_routing_key = init_routing_key
        self.binding_key = init_binding_key
        self.init_taskuuid = init_taskuuid
        self.taskuuid = init_taskuuid
        self._check_cameras()
@@ -68,12 +71,14 @@
        send_logs_tool(logs=logs,
                        logs_queue=self.logs_queue,
                        source=self.device_id,
                        routing_key=self.routing_key+".logs.test0")
                        routing_key=self.routing_key+".logs.test0",
                        taskuuid=self.taskuuid)
        send_images_tool(images=images,
                        images_queue=self.images_queue,
                        source=self.device_id,
                        routing_key=self.routing_key+".images.test0")
                        routing_key=self.routing_key+".images.test0",
                        taskuuid=self.taskuuid)
    def _capture_image(self,mode:str = "capture"):
@@ -118,7 +123,7 @@
            if TEST:
                self.working_ports.append(dev_port)
                if is_reading:
                    self.camera_work[dev_port] == True
                    self.camera_work[dev_port] = True
            
            log_list.append(log)
@@ -127,14 +132,18 @@
        return log_list, image_list
    def capture(self,routing_key:str):
    def capture(self,routing_key:str, taskuuid:str):
        self.routing_key = routing_key
        self.taskuuid = taskuuid
        (logs,images) = self._capture_image()
        self._generate_msg = (logs,images)
        # generate the msg and put it to queues
        self._generate_msg(logs,images)
        self.routing_key = self.init_routing_key
        self.taskuuid = self.init_taskuuid
@@ -144,16 +153,23 @@
            MicrowaveHost: str, 
            MicrowavePort: int, 
            init_packet_threshold: Union[int, None], 
            init_timeusage_threshold: Union[int, None],
            init_timeusage_threshold: Union[int, float, None],
            device_id:str,
            logs_queue:queue.Queue,
            plys_queue:queue.Queue,
            routing_key:str,
            init_routing_key:str,
            init_binding_key:str,
            init_taskuuid:str = "init"
            ):
        super().__init__(MicrowaveHost, MicrowavePort)
        self.device_id = device_id
        self.plys_queue = plys_queue
        self.routing_key = routing_key
        self.routing_key = init_routing_key
        self.init_routing_key = init_routing_key
        self.binding_key = init_binding_key
        self.init_taskuuid = init_taskuuid
        self.taskuuid = init_taskuuid
        # testing the device when instance the class
        self._get_pointcloud(init_packet_threshold,init_timeusage_threshold)
@@ -168,16 +184,34 @@
        send_pointcloud_tool(pointclouds=self.pointcloud_queue,
                            plys_queue=self.plys_queue,
                            source=self.device_id,
                            routing_key=self.routing_key+".plys.test0")
                            routing_key=self.routing_key+".plys.test0",
                            taskuuid=self.taskuuid)
    def scan(self,routing_key:str,taskuuid:str):
        # self.routing_key = routing_key
        # self.taskuuid = self.init_taskuuid
        # self._generate_msg()
        raise NotImplementedError
####################################### DUST CLEANER #########################################
class dustCleanerController(DustCleaner):
    def __init__(self, com, bps, timeout, logs_queue, device_id,routing_key):
    def __init__(self, com, bps, timeout, logs_queue, device_id,
                init_routing_key:str,
                init_binding_key:str,
                init_taskuuid:str = "init"):
        super().__init__(com, bps, timeout)
        self.logs_queue = logs_queue
        self.device_id = device_id
        self.routing_key = routing_key
        self.routing_key = init_routing_key
        self.init_routing_key = init_routing_key
        self.binding_key = init_binding_key
        self.init_taskuuid = init_taskuuid
        self.taskuuid = init_taskuuid
        self._check_cleaner()
@@ -198,3 +232,8 @@
                        logs_queue=self.logs_queue,
                        source = self.device_id,
                        routing_key=self.routing_key+".logs.test0")
    def clean(self,routing_key:str,taskuuid:str):
        raise NotImplementedError