Unable to read camera frame

Please provide the following info (check/uncheck the boxes after clicking “+ Create Topic”):
Software Version
DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
Linux
QNX
other

Hardware Platform
NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.5.0.7774
other

Host Machine Version
native Ubuntu 18.04
other


Hello, I am trying to read frames from the cameras but I constantly get this error :

[2021-04-23 15:28:38] DW Error DW_CALL_NOT_ALLOWED executing DW function:
 dwSensorCamera_readFrameNew(&camera_frame_handle, 0, sensor_handle)

Here is the code I use :

class Camera {
public:
  dwContextHandle_t context_handle = DW_NULL_HANDLE;
  dwSALHandle_t sal_handle = DW_NULL_HANDLE;
  dwImageProperties image_properties;
  dwCameraProperties camera_properties;
};
  dwContextParameters sdkParams = {};
  dwInitialize(&context_handle, DW_VERSION, &sdkParams);

  // ---------------

  CHECK_DW_ERROR_ROS(dwSAL_initialize(&sal_handle, context_handle));

  // ---------------
  dwSensorHandle_t sensor_handle = DW_NULL_HANDLE;

  params_ = "camera-name=SF3324,interface=csi-a,link=1,output-format=processed";
  dwSensorParams sensor_params;
  sensor_params.parameters = params_.c_str();
  sensor_params.protocol = "camera.gmsl";

  CHECK_DW_ERROR_ROS(dwSAL_createSensor(&sensor_handle, sensor_params, sal_handle));

  // ---------------

  dwImageProperties imageProperties{};
  CHECK_DW_ERROR_ROS(dwSensorCamera_getImageProperties(&imageProperties, DW_CAMERA_OUTPUT_CUDA_RGBA_UINT8, sensor_handle));

  // ---------------

  CHECK_DW_ERROR_ROS(dwSensorCamera_getImageProperties(&image_properties, DW_CAMERA_OUTPUT_NATIVE_PROCESSED, sensor_handle));
  CHECK_DW_ERROR_ROS(dwSensorCamera_getSensorProperties(&camera_properties, sensor_handle));

  // ---------------

  dwCameraFrameHandle_t camera_frame_handle;
  dwStatus status = DW_NOT_READY;

  CHECK_DW_ERROR_ROS(dwSensorCamera_readFrameNew(&camera_frame_handle, 0, sensor_handle));

  // ---------------

  dwSAL_releaseSensor(sensor_handle);
  dwSAL_release(sal_handle);
  dwRelease(context_handle);

I reproduced the camera sample almost line by line and I don’t understand where this error comes from and what I am doing wrong.

Whjat do you think ?

Thanks a lot for your help !

Found the solution at my problem :

I was not starting the sensor with : dwSensor_start()

Glad to know issue resolve, thanks for the update.

1 Like