Skip to content

Add support for D436 #13855

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 19 commits into from
May 21, 2025
Merged

Add support for D436 #13855

merged 19 commits into from
May 21, 2025

Conversation

Nir-Az
Copy link
Collaborator

@Nir-Az Nir-Az commented Mar 16, 2025

Tracked on [RSDEV-3024]

@Nir-Az Nir-Az requested a review from OhadMeir March 16, 2025 14:46
+ /* Intel D436 depth camera */
+ { .match_flags = USB_DEVICE_ID_MATCH_DEVICE
+ | USB_DEVICE_ID_MATCH_INT_INFO,
+ .idVendor = 0x8086,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does tabs/spaces number matter here?

@@ -361,7 +361,41 @@ namespace librealsense
p.depth_gain.gain = 16.f;
}

void default_430(preset& p)
void default_430_color_only(preset& p)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Names are misleading. Do you want to set RGB sensor separately from Depth sensor? Call is default_xxx_rgb and default_xxx_depth.
Notice p.color_control and p.cc are actually depth sensor settings, see https://github.com/IntelRealSense/librealsense/blob/development/src/ds/advanced_mode/advanced_mode.cpp#L787

Comment on lines +164 to 165
{RS436_PID, "5.16.3.3" }, // TODO - update final required FW version
{RS416_PID, "5.8.15.0" },
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the "TODO" still relevant?

@@ -1356,6 +1233,15 @@ namespace librealsense
return matcher_factory::create(RS2_MATCHER_DEFAULT, streams);
}

std::shared_ptr<matcher> rs436_device::create_matcher(const frame_holder& frame) const
{
std::vector<stream_interface*> streams = { _depth_stream.get() , _left_ir_stream.get() , _right_ir_stream.get(), _color_stream.get() };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need all this code duplication?
Can rs436/435i/430i_device etc call a common "create_mm_streams" function?

@@ -267,7 +267,8 @@ namespace rs2

auto dev_name = get_device_name(dev);

if( ( dev.is<update_device>() || is_upgradeable( fw, recommended_fw_ver) ) )
// TODO - D436. Don't suggest to update FW as it doesn't support D436. Revert after next release with bundle supporting FW
if( ( dev.is<update_device>() || is_upgradeable( fw, recommended_fw_ver) ) && pid != "1156") //0x1156 is pid for D436
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better to use camera name, not PID.

Copy link
Contributor

@OhadMeir OhadMeir left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed, PR does not introduce bugs. Comments will be fixed in a future PR, a task will be opened for follow up.

@Nir-Az Nir-Az mentioned this pull request Apr 30, 2025
@Nir-Az Nir-Az merged commit 6604868 into development May 21, 2025
46 of 47 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants