Replaying recorded data with data.socket sensor

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.4.1.7402
other

Host Machine Version
native Ubuntu 18.04
other

Hi,

we recorded data from a data.socket sensor, using recorder-tui tool. Now we want to replay the data, but it seems that there is no such thing as a data.virtual sensor in order to do so.

Is there any way to replay data.socket data with current Driveworks release? Or any workaround for this?

Thanks,
Christian

Hi @cschro ,

Please check if Replayer Tool (documented in /usr/local/driveworks-2.2/doc/nvsdk_html/dwx_replayer_tool.html on your host system) is what you are looking for. Thanks.

Thanks for the quick response.

We want to read data and process it manually. As far as I understand, replayer tool is for visualization purposes only. So this does not serve our needs. Is there any other way?

Please check if any replay sample application listed in below tables works for you.

/usr/local/driveworks-2.2/doc/nvsdk_html/dwx_samples_section.html#dwx_camera_sensor_samples_group
/usr/local/driveworks-2.2/doc/nvsdk_html/dwx_samples_section.html#dwx_other_sensor_samples_group

No, there is no sample to replay data from a data.socket sensor.

I tried initializing a data.virtual sensor with parameter file=path/to/recorded/data.bin but I get error DW_SAL_NO_DRIVER_FOUND. I also do not see any documentation regarding data-sensors in Driveworks 3.5 documentation. Hence my question: is there any workaround? We would very much like to be able to record data.socket sensors and replay the data afterwords (as with all other sensors available in Driveworks).

I can see “data.virtual” on DRIVE OS 5.2.0 and DriveWorks 3.5 but not on DRIVE Software 10.0. FYI.

$ /usr/local/driveworks-3.5/bin/sample_sensors_info

Platform: OS_DRIVE_V5L:
Sensor [0] : can.socket ? device=can0[,fifo-size=1024]
Sensor [1] : can.virtual ? file=/path/to/file.can[,create_seek,default_timeout_us,time-offset=0]
Sensor [2] : can.custom ? decoder-path=filepath.so[,<custom_args…>]
Sensor [3] : can.loopback ? [fifo-size=1024]
Sensor [4] : can.aurix ? ip=10.0.0.1,inIDMap=1:0x106,outIDMap=0x105:17[,aport=50000,bport=60395][,fifo-size=1024]
Sensor [5] : camera.gmsl ? camera-type={ar0231-rccb-bae-sf3324, ar0231-rccb-bae-sf3325, ar0144-cccc-none-gazet1},output-format={yuv+raw+data}[,slave={0,1}][,fifo-size={3…20}][,custom-board=0]camera-group={a,b,c,d},camera-count={1,2,3,4},[,camera-mask={0001|0010|0011|…|1111}][,warn-per-frame={0,1}]
Sensor [6] : camera.client ? host=<ip_addr>,port=<tcp_port_num>,siblingIndex=,mode={fifo,mailbox},output-format={yuv+raw+data},camera-group={a,b,c},fifo-size={3…16}
Sensor [7] : camera.virtual ? video/file=filepath.{h264,raw,lraw}[,timestamp=file.txt][,create_seek][,time-offset=0][,isp-mode={yuv420_uint8,yuv420_uint16,yuv444-uint16}]
Sensor [8] : camera.usb ? device=0[,mode={0,a,b}]
Sensor [9] : camera.nvidia-ip ? host=[ip_addr], port=[TCP port number]
Sensor [10] : data.socket ? ip=X.X.X.X,port=XXXX,socket-protocol={udp,tcp}[,remote-port=XXXX][,format={bin,log}]
Sensor [11] : data.virtual ? file=filepath.bin[,time-offset=0]

Do you mean data.virtual? As far as I know can.virtual is supported in DRIVE Software 10.0.

Although we do not plan to upgrade to Driveworks 3.5. until late summer, this at least tells me that virtual data sensors will be supported. Thanks.

For now, is there any workaround? Can I somehow manually read and process the data we recorded?

I highlighted the wrong line. just corrected it. Thanks.

This is the doc page of the sample application in DW3.5.
https://docs.nvidia.com/drive/driveworks-3.5/dwx_data_sensor_sample.html

Can you read out the data file on your own?