feat: Added Gemini 435Le color stream MJPG format metadata information

This commit is contained in:
obyalian
2025-10-13 14:19:26 +08:00
parent 3c71e14a84
commit 5d26b3407b
3 changed files with 8 additions and 1 deletions
@@ -134,5 +134,6 @@ const int32_t CUSTOM_ADVANTECH_GEMINI_336_PID = 0x0816; // Custom Advantech Ge
const int32_t CUSTOM_ADVANTECH_GEMINI_336L_PID = 0x0817; // Custom Advantech Gemini 336L const int32_t CUSTOM_ADVANTECH_GEMINI_336L_PID = 0x0817; // Custom Advantech Gemini 336L
const int32_t DABAI_MAX_PID = 0x069a; // dabai max const int32_t DABAI_MAX_PID = 0x069a; // dabai max
const int32_t GEMINI_338_PID = 0x0818; // Gemini 338 const int32_t GEMINI_338_PID = 0x0818; // Gemini 338
const uint16_t GEMINI_435Le_PID = 0x815; // Gemini 435Le
} // namespace orbbec_camera } // namespace orbbec_camera
@@ -455,6 +455,8 @@ class OBCameraNode {
static bool isGemini335PID(uint32_t pid); static bool isGemini335PID(uint32_t pid);
static bool isGemini435LePID(uint32_t pid);
void setupDepthPostProcessFilter(); void setupDepthPostProcessFilter();
void setupColorPostProcessFilter(); void setupColorPostProcessFilter();
void setupRightIrPostProcessFilter(); void setupRightIrPostProcessFilter();
+5 -1
View File
@@ -2245,7 +2245,9 @@ void OBCameraNode::setupPublishers() {
camera_info_publishers_[stream_index] = node_->create_publisher<CameraInfo>( camera_info_publishers_[stream_index] = node_->create_publisher<CameraInfo>(
topic, rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(camera_info_qos_profile), topic, rclcpp::QoS(rclcpp::QoSInitialization::from_rmw(camera_info_qos_profile),
camera_info_qos_profile)); camera_info_qos_profile));
if (isGemini335PID(pid)) { if (isGemini335PID(pid) ||
(isGemini435LePID(pid) && stream_index == COLOR &&
(format_[stream_index] == OB_FORMAT_MJPG || format_[stream_index] == OB_FORMAT_UNKNOWN))) {
metadata_publishers_[stream_index] = metadata_publishers_[stream_index] =
node_->create_publisher<orbbec_camera_msgs::msg::Metadata>( node_->create_publisher<orbbec_camera_msgs::msg::Metadata>(
name + "/metadata", name + "/metadata",
@@ -3736,6 +3738,8 @@ bool OBCameraNode::isGemini335PID(uint32_t pid) {
pid == CUSTOM_ADVANTECH_GEMINI_336L_PID || pid == GEMINI_338_PID; pid == CUSTOM_ADVANTECH_GEMINI_336L_PID || pid == GEMINI_338_PID;
} }
bool OBCameraNode::isGemini435LePID(uint32_t pid) { return pid == GEMINI_435Le_PID; }
orbbec_camera_msgs::msg::IMUInfo OBCameraNode::createIMUInfo( orbbec_camera_msgs::msg::IMUInfo OBCameraNode::createIMUInfo(
const stream_index_pair &stream_index) { const stream_index_pair &stream_index) {
orbbec_camera_msgs::msg::IMUInfo imu_info; orbbec_camera_msgs::msg::IMUInfo imu_info;