Detect Astra Pro vs non-Pro through code


I was wondering if it’s possible to detect if the connected sensor is a Pro or non-Pro model through code.
For example to internally switch between a code path for fetching color data from the SDK for non-Pro or another library for Pro.

Couldn’t find anything in the header/documentation files but maybe I’ve missed something.



Not yet but that’s a good suggestion.

As a workaround for now, if you create a stream_reader with depth and a second stream_reader with color, and you get more than N depth frames but no color frames, it may be Astra Pro. (Where N might be 15 < N < 60.)


Yep I was thinking along those lines for detecting it for now indeed.
Guess it would be good to be able to identify the different sensors versions (also the close range S version for example) in a future version of the SDK at some point.


I have a follow up to this: I figured I could detect the difference by inspecting the available_modes() on a ColorStream and comparing against the supported specs of each device, but I found out the pro and non-pro both produce the exact same list of modes. The non-pro even reports that it does 1280x960 at 30 fps, whereas the website says this resolution runs at 10 fps. I assume the specs reported by the device are incorrect?