orbbec / OrbbecSDK

Orbbec SDK C/C++ base core lib
https://www.orbbec3d.com/
MIT License
68 stars 9 forks source link

retCode: 204 using Raspberry pi 4 / Raspberry pi 5 with Orbbec Bold #78

Closed SteveBuscemi88 closed 3 months ago

SteveBuscemi88 commented 3 months ago

Hi all, I'm working with raspberry pi4 (and I have tried pi5 also) and Orbbec Bold with firmware 1.0.9.

I have compiled the examples and when running OBDepthViewer, I get this error:

OrbbecSDK/build/bin$ sudo ./OBDepthViewer
[04/09 12:33:09.508913][info][3033][Context.cpp:69] Context created with config: default config!
[04/09 12:33:09.508984][info][3033][Context.cpp:74] Context work_dir=/home/workspace/OrbbecSDK/build/bin
[04/09 12:33:09.509019][info][3033][Context.cpp:77]     - SDK version: 1.9.5
[04/09 12:33:09.509053][info][3033][Context.cpp:78]     - SDK stage version: main
[04/09 12:33:09.509090][info][3033][Context.cpp:82] get config EnumerateNetDevice:false
[04/09 12:33:09.509137][info][3033][LinuxPal.cpp:38] createObPal: create LinuxPal!
[04/09 12:33:09.612828][info][3033][LinuxPal.cpp:112] Create PollingDeviceWatcher!
[04/09 12:33:09.612928][info][3033][DeviceManager.cpp:15] Current found device(s): (1)
[04/09 12:33:09.612958][info][3033][DeviceManager.cpp:24]   - Name: Femto Bolt, PID: 0x066b, SN/ID: CL8FC3100G7, Connection: USB2.1
[04/09 12:33:09.613004][info][3033][Pipeline.cpp:15] Try to create pipeline with default device.
[04/09 12:33:09.613139][info][3033][FemtoBoltUvcDevice.cpp:23] FemtoBoltUvcDevice init ...
[04/09 12:33:09.613326][info][3033][FemtoBoltUvcDevice.cpp:120] Create command start!
[04/09 12:33:09.620318][info][3033][MSDEConverterDevice.cpp:721] Succeed to load depth engine plugin
[04/09 12:33:09.828364][info][3033][FemtoBoltUvcDevice.cpp:271] Create command done!
[04/09 12:33:09.828490][info][3033][FemtoBoltUvcDevice.cpp:431] init sensor map start!
[04/09 12:33:09.828604][info][3033][FemtoBoltUvcDevice.cpp:458] init sensor map done!
[04/09 12:33:09.830518][info][3033][AbstractDevice.cpp:124]     - Firmware version: 1.0.9
[04/09 12:33:09.831153][info][3033][FemtoBoltUvcDevice.cpp:275] Init depth process param start!
[04/09 12:33:09.848141][info][3033][MSDEConverterDevice.cpp:772] got nvram data succeed.
[04/09 12:33:09.848228][info][3033][ObUvcDevice.cpp:112] endpoint:130
[04/09 12:33:09.848430][info][3033][ObUvcDevice.cpp:118] libusb_clear_halt done, endpoint:130
[04/09 12:33:10.286330][info][3033][FemtoBoltUvcDevice.cpp:402] setNvramDataStreamStopFunc succeed
[04/09 12:33:10.286699][info][3033][FemtoBoltUvcDevice.cpp:427] Init depth process param done!
[04/09 12:33:10.288938][info][3033][FemtoBoltUvcDevice.cpp:38] FemtoBoltUvcDevice init done!
[04/09 12:33:10.289097][info][3033][DeviceManager.cpp:157] Device created successfully! Name: Femto Bolt, PID: 0x066b, SN/ID: CL8FC3100G7
[04/09 12:33:10.289370][info][3033][Pipeline.cpp:44] Pipeline created with device: {name: Femto Bolt, sn: CL8FC3100G7}, @0xAAAAEA4BFDB0
[04/09 12:33:10.291392][info][3033][FemtoBoltUvcDevice.cpp:554] Depth sensor has been created!
[04/09 12:33:10.292541][warning][3033][ObException.cpp:5] Invalid input, No matched video stream profile found!
[04/09 12:33:10.294943][info][3033][Pipeline.cpp:239] Try to start streams!
[04/09 12:33:10.295475][info][3033][VideoSensor.cpp:663] start OB_SENSOR_DEPTH stream with profile: {type: OB_STREAM_DEPTH, format: OB_FORMAT_Y16, width: 640, height: 576, fps: 30}
[04/09 12:33:10.295570][info][3033][MSDEConverterDevice.cpp:544] Start real profile,width:7680 height:434
[04/09 12:33:10.302066][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:10.302136][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:10.705110][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:10.705306][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:10.705440][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:10.948235][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:10.948422][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:10.948455][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:11.186351][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:11.186591][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:11.186628][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:11.424973][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:11.425158][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:11.425197][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:11.663011][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:11.663202][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:11.663235][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:11.901418][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:11.901630][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:11.901674][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:12.139282][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:12.139513][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:12.139546][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:12.379444][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:12.379627][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:12.379660][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:12.617141][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:12.617391][info][3050][MSDEConverterDevice.cpp:75] Depth engine got nvram data size:494408
[04/09 12:33:12.617426][info][3050][MSDEConverterDevice.cpp:102] use dynlib load depthengine lib......
[04/09 12:33:12.858020][error][3050][MSDEConverterDevice.cpp:109] Depth engine create and initialize failed,retCode:204
[04/09 12:33:12.858616][info][3033][Pipeline.cpp:252] Start streams done!
[04/09 12:33:12.858655][info][3033][Pipeline.cpp:235] Pipeline start done!
terminate called after throwing an instance of 'cv::Exception'
  what():  OpenCV(4.5.4) ./modules/highgui/src/window_gtk.cpp:635: error: (-2:Unspecified error) Can't initialize GTK backend in function 'cvInitSystem'
Aborted

My suspicion is that the Orbbec Bold requires a graphics card to function. Does it only work on processors with integrated graphics interface or external video card? Can someone confirm this, I didn't find any information online. Are there other reasons why it does not work on Raspberry Pi?

NOTE: If I use the Orbbec Femto Mega, everything works correctly.

Thanks!

ChuckM90 commented 2 months ago

https://www.orbbec.com/documentation/femto-bolt-3d-camera-sdk-system-requirements/ you can find the system requirements about Femto Bolt P.S.: Bolt not Bold :)

SteveBuscemi88 commented 2 months ago

Thanks!! And yes, Bolt, not Bold:)