diff --git a/config/teleop.yaml b/config/teleop.yaml index 27158d2ee..5b59dad0e 100644 --- a/config/teleop.yaml +++ b/config/teleop.yaml @@ -124,4 +124,24 @@ teleop: ik_multipliers: x: 0.1 y: 0.1 - z: 0.1 \ No newline at end of file + z: 0.1 + + cameras: + - name: "ZED" + port: 0 + - name: "Long Range Camera" + port: 1 + - name: "Mast Gimbal Camera" + port: 2 + - name: "Suspension Camera" + port: 3 + - name: "ISH Camera 1" + port: 4 + - name: "ISH Camera 2" + port: 5 + - name: "ISH Camera 3" + port: 6 + - name: "SA Camera 1" + port: 7 + - name: "SA Camera 2" + port: 8 diff --git a/src/teleoperation/backend/consumers.py b/src/teleoperation/backend/consumers.py index eb9ab9941..a46d1cfb1 100644 --- a/src/teleoperation/backend/consumers.py +++ b/src/teleoperation/backend/consumers.py @@ -81,6 +81,7 @@ def connect(self): self.brushed_motors = rospy.get_param("brushed_motors/controllers") self.xbox_mappings = rospy.get_param("teleop/xbox_mappings") self.sa_config = rospy.get_param("teleop/sa_controls") + self.camera_info = rospy.get_param("teleop/cameras") # Publishers self.twist_pub = rospy.Publisher("/cmd_vel", Twist, queue_size=1) @@ -193,6 +194,8 @@ def receive(self, text_data): self.mast_gimbal(message) elif message["type"] == "max_streams": self.send_res_streams() + elif message["type"] == "camera_info": + self.send_camera_info() elif message["type"] == "sendCameras": self.change_cameras(message) elif message["type"] == "takePanorama": @@ -683,6 +686,11 @@ def send_res_streams(self): self.send(text_data=json.dumps({"type": "max_resolution", "res": res})) self.send(text_data=json.dumps({"type": "max_streams", "streams": streams})) + def send_camera_info(self): + names = [x["name"] for x in self.camera_info] + ports = [x["port"] for x in self.camera_info] + self.send(text_data=json.dumps({"type": "camera_info", "names": names, "ports": ports})) + def capture_panorama(self) -> None: try: response = self.capture_panorama_srv() diff --git a/src/teleoperation/db.sqlite3 b/src/teleoperation/db.sqlite3 index b8faa9063..afc827954 100644 Binary files a/src/teleoperation/db.sqlite3 and b/src/teleoperation/db.sqlite3 differ diff --git a/src/teleoperation/frontend/src/components/CameraDisplay.vue b/src/teleoperation/frontend/src/components/CameraDisplay.vue index 532d7b1d5..9f1feab27 100644 --- a/src/teleoperation/frontend/src/components/CameraDisplay.vue +++ b/src/teleoperation/frontend/src/components/CameraDisplay.vue @@ -3,7 +3,7 @@