View my account

Question on D405

Comments

10 comments

  • MartyG

    Hi Redyoung   A key difference between D405 and D435 / D455 is that the D405 model does not have a separate RGB sensor, as RGB is instead provided by the depth sensor.  So a program may fail on D405 if the code has a check to see whether an RGB sensor can be detected.  That is an error that would not usually be triggered by the cfg / configuration part of the script though.

     

    Could you post the 'configuration' lines from your script in a comment, please?  Thanks!

    0
    Comment actions Permalink
  • Redyoung

    Dim pipeline As New Pipeline
    Dim cif As New Config

    cif.Enablestream(Intel.Realsense.Stream.Depth, 640, 480, format.Z16, 60)
    cif.Enablestream(Intel.Realsense.Stream.Infrared, 640, 480, format.Y8, 60)
    cif.Enablestream(Intel.Realsense.Stream.Color, 640, 480, format.Bgr8, 60)
    cif.EnableDivce (serialNumber)
    pipeline.Start(cif)

    Above are lines that make D435/D455 running but does not work with D405. I tried without colorstreaming and the result was the same.
    Thanks in advance for your help here!

    0
    Comment actions Permalink
  • MartyG

    Does the code below work?

     

    var pipeline = new Pipeline();

    var cfg = new Config();

    cif.EnableStream(Stream.Depth, 640, 480, Format.Z16, 60);

    cif.EnableStream(Stream.Infrared, 640, 480, Format.Y8, 60);

    cif.EnableStream(Stream.Color, 640, 480, Format.RGB8, 60);

    cif.EnableDevice(serialNumber);

    pipeline.Start(cif);

     

    0
    Comment actions Permalink
  • Redyoung

    Thank you for the code..
    This is basically same as what I posted I think. And this works for D435/455 but not for D405 as I mentioned earlier.

    0
    Comment actions Permalink
  • MartyG

    Let's test whether it really is a stream configuration issue by removing cif from the brackets of the pipeline start line.  The program should then ignore the cif lines and launch the D405 with its default stream configuration profile.

     

    pipeline.Start();
    0
    Comment actions Permalink
  • Redyoung

    Thanks MartyG for suggestion. I already did and did not work. Interestingly, if I use similar code in Phyton, it works fine...

    0
    Comment actions Permalink
  • MartyG

    Assuming then that the problem is not with the cif configuration lines, I recall a D405 case from October 2022 where a RealSense user of C# had a crash error with D405 that did not occur with D435.

    https://github.com/IntelRealSense/librealsense/issues/10967#issuecomment-1269995345

     

    Are you using the x86 or x64 version of the RealSense DLLs with the C# wrapper?   In RealSense SDK 2.50.0 there was a D405-specific crash problem when using D405 with the x86 DLLs (x64 worked fine) that was fixed in SDK 2.51.1.

    https://github.com/IntelRealSense/librealsense/issues/10336

    0
    Comment actions Permalink
  • Redyoung

    I am using SDK 2.49/2.5 I believe. I will try SDK 2.51.1 and report back to you.
    Thanks!

    0
    Comment actions Permalink
  • Redyoung

    Hmm... I am getting this error now.. And I used SDK 2.51.1.XXX.. Did I miss anything?

    0
    Comment actions Permalink
  • MartyG

    This error can occur if the target platform has been set to 'Any CPU' instead of x86 or x64.

    https://github.com/IntelRealSense/librealsense/issues/2125

    0
    Comment actions Permalink

Please sign in to leave a comment.