Skip to content

Commit f20abae

Browse files
add manage_luxonis service so that it is no longer mad
1 parent bbffa92 commit f20abae

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

src/surface/luxonis_cam/luxonis_cam/measurement_cam.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from rclpy.executors import MultiThreadedExecutor
1212
from rclpy.node import Node
1313
from rclpy.qos import QoSPresetProfiles
14+
from rov_msgs.srv._camera_manage import CameraManage
1415
from sensor_msgs.msg import Image
1516
from std_msgs.msg import Bool, Float32
1617

@@ -45,13 +46,42 @@ def __init__(self) -> None:
4546
Bool, 'measurement_pipeline', self.control_pipeline, QoSPresetProfiles.DEFAULT.value
4647
)
4748

49+
self.cam_manage_service = self.create_service(
50+
CameraManage, 'manage_luxonis', self.cam_manage_callback
51+
)
52+
4853
self.get_logger().info('measurement launched')
4954

5055
self.rgbd_queue: dai.MessageQueue|None = None
5156
self.pipeline: dai.Pipeline|None = None
5257
self.left_cam_queue: dai.MessageQueue|None = None
5358
self.bridge = CvBridge()
5459

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+
5585
def create_pipeline(self) -> None:
5686
# Create pipeline
5787

0 commit comments

Comments
 (0)