|
11 | 11 | from rclpy.executors import MultiThreadedExecutor |
12 | 12 | from rclpy.node import Node |
13 | 13 | from rclpy.qos import QoSPresetProfiles |
| 14 | +from rov_msgs.srv._camera_manage import CameraManage |
14 | 15 | from sensor_msgs.msg import Image |
15 | 16 | from std_msgs.msg import Bool, Float32 |
16 | 17 |
|
@@ -45,13 +46,42 @@ def __init__(self) -> None: |
45 | 46 | Bool, 'measurement_pipeline', self.control_pipeline, QoSPresetProfiles.DEFAULT.value |
46 | 47 | ) |
47 | 48 |
|
| 49 | + self.cam_manage_service = self.create_service( |
| 50 | + CameraManage, 'manage_luxonis', self.cam_manage_callback |
| 51 | + ) |
| 52 | + |
48 | 53 | self.get_logger().info('measurement launched') |
49 | 54 |
|
50 | 55 | self.rgbd_queue: dai.MessageQueue|None = None |
51 | 56 | self.pipeline: dai.Pipeline|None = None |
52 | 57 | self.left_cam_queue: dai.MessageQueue|None = None |
53 | 58 | self.bridge = CvBridge() |
54 | 59 |
|
| 60 | + |
| 61 | + def cam_manage_callback( |
| 62 | + self, request: CameraManage.Request, response: CameraManage.Response |
| 63 | + ) -> CameraManage.Response: |
| 64 | + """ |
| 65 | + Enable/disable streams based on cam manage service call. |
| 66 | +
|
| 67 | + Parameters |
| 68 | + ---------- |
| 69 | + request : CameraManage.Request |
| 70 | + CameraManage service request |
| 71 | + response : CameraManage.Response |
| 72 | + CameraManage service response template |
| 73 | +
|
| 74 | + Returns |
| 75 | + ------- |
| 76 | + CameraManage.Response |
| 77 | + the service response |
| 78 | + """ |
| 79 | + response.success = True |
| 80 | + |
| 81 | + self.get_logger().info(f'Please turn on camera using measurement tab') |
| 82 | + |
| 83 | + return response |
| 84 | + |
55 | 85 | def create_pipeline(self) -> None: |
56 | 86 | # Create pipeline |
57 | 87 |
|
|
0 commit comments