DriveWorks SDK Reference
3.5.78 Release
For Test and Development only

Custom Radars (Decoder Only)
Note
SW Release Applicability: This tutorial is applicable to modules in both NVIDIA DriveWorks and NVIDIA DRIVE Software releases.

Radar Communication Requirements

For the Radar to communicate with NVIDIA DRIVE™ AGX, it must be one of the following types:

  • Ethernet-based Radar that supports either TCP or UDP.

Custom Radar Decoder Requirements

The module must expose the decoder properties (dwRadarDecoderProperties) defined in the decoder API.

Custom Radar Decoder Implementation

The sensor implementation uses the custom decoder interface to provide the following functions during operation.

Please refer to Radar Plugin for a detailed list of functions.

You need to write a program that implements this interface. All of the functions listed must be declared and defined in the plugin.

Validate Your Plugin by Creating a Custom Radar Sensor

When the currently supported radars are chosen (i.e., opting for the Delphi ESR 2.5 or Continental ARS430 radar types), there is no requirement to provide a custom decoder to parse information from the received radar packets. Under such circumstances, the radar sensor can be initialized by providing a string of key value pairs in the following format as an input argument to dwSAL_createSensor(…).

    radar.socket,ip=X.X.X.X,port=XXXX,device={DELPHI_ESR2_5, CONTINENTAL_ARS430}

When currently unsupported radars are chosen, the customer must provide a custom decoder as a dynamic linked library via the following string of key value pairs as an input argument to dwSAL_createSensor(…).

    radar.socket,ip=X.X.X.X,port=XXXX,device={CUSTOM},decoder=<path_to_the_decode.so>,protocol={udp, tcp}

Data Acquisition with a Custom Radar

The plugin interfaces currently support the following protocols:

  • radar.socket.
  • radar.virtual (for files recorded with this decoder).

In order to use the recorder or recorder-qt applications to record from a custom radar, the recorder-config.json file has to be updated as follows:

  • Radar socket
    "radar" : {
    "write-file-pattern": "radar_*",
    "sensors" : [
    {
    "protocol": "radar.socket"
    "params": "ip=X.X.X.X,
    port=XXXX,device=CUSTOM,
    decoder=<path_to_the_decode.so>,
    protocol={udp, tcp}"
    }
    ]
    },
  • Radar virtual
    "radar" : {
    "write-file-pattern": "radar_*",
    "sensors" : [
    {
    "protocol": "radar.virtual"
    "params": "device=CUSTOM,
    decoder=<path_to_the_decode.so>,
    protocol={udp, tcp}"
    }
    ]
    },
    Note
    For more information on data recording, see Recording Sensor Data.