Wellcome to ARS548 SDK
Loading...
Searching...
No Matches
Wellcome to ARS548 SDK

Introduction

ARS548 SDK includes everything you need in order to develop software applications interacting with Continental ARS 548 RDI. The SDK contains full documentation and three kind of sample programs, written in C, C++.

Attention
We believe that the information contained herein was accurate in all respects at the time of printing. ADAS Engineering cannot, however, assume any responsibility for errors or omissions in this text. Also note that the information in this document is subject to change without notice and should not be construed as a commitment by ADAS Engineering.

Usage

The typical usage flow of SDK functions is as follows:


Receiving Raw Radar Data

The messages sent by the ARS548 radar are:

Message ID Message Structure Description
MSG_ID_DETECTION_LIST Ars548DetectionList List of radar detections
MSG_ID_OBJECT_LIST Ars548ObjectList List of radar identified objects
MSG_ID_SENSOR_STATUS Ars548SensorStatus Radar sensor status data
MSG_ID_FILTER_STATUS Ars548FilterStatus Radar filter status data

See the documentation of each message body or the radar technical documentation for more details.

Raw Radar Data Callback

When a radar data packet is received, SDK passes the message body to the callback function registered by the user.

Example callback function code:

void CALLBACK OnRadarMessage(int nMsgId, const Ars548Msg *pMsg)
{
std::cout << "OnRadarMessage() - nMsgId = " << nMsgId << std::endl;
// Currently radar sends the following 4 message types
Ars548DetectionList *pDetectionList = NULL;
Ars548ObjectList *pObjectList = NULL;
Ars548SensorStatus *pSensorStatus = NULL;
Ars548FilterStatus *pFilterStatus = NULL;
// Based on nMsgId, cast the pMsg pointer to the right type and access the message body.
switch (nMsgId)
{
pDetectionList = (Ars548DetectionList *)pMsg;
// ... related handling code
break;
pObjectList = (Ars548ObjectList *)pMsg;
// ... related handling code
break;
pSensorStatus = (Ars548SensorStatus *)pMsg;
// ... related handling code
break;
pFilterStatus = (Ars548FilterStatus *)pMsg;
// ... related handling code
break;
default:
break;
}
}
#define MSG_ID_SENSOR_STATUS
Definition Ars548Dll.h:87
#define MSG_ID_DETECTION_LIST
Definition Ars548Dll.h:85
#define MSG_ID_OBJECT_LIST
Definition Ars548Dll.h:86
#define MSG_ID_FILTER_STATUS
Definition Ars548Dll.h:88
Definition Ars548Dll.h:251
Definition Ars548Dll.h:217
Definition Ars548Dll.h:125
Definition Ars548Dll.h:354
Definition Ars548Dll.h:168

Receiving Parsed Target Data from SDK

The TargetList data provided by the SDK is parsed from Ars548DetectionList and Ars548ObjectList, and contains information like target horizontal/vertical distance and speed relative to the radar, for easier further processing by users.

Example callback function code:

void CALLBACK OnTargetListCallback(const TargetList *pTargetList)
{
// Determine if Detections or Objects based on TargetType
if (pTargetList->TargetType == TARGET_TYPE_DETECTION)
{
std::cout << "Ars548Dll::OnTargetListCallback() - Num Of Detections: " << pTargetList->NumOfTargets << std::endl;
}
else // TARGET_TYPE_OBJECT
{
std::cout << "Ars548Dll::OnTargetListCallback() - Num Of Objects: " << pTargetList->NumOfTargets << std::endl;
}
}
BYTE TargetType
TARGET_TYPE_DETECTION | TARGET_TYPE_OBJECT
Definition Ars548Dll.h:443
UINT32 NumOfTargets
Number of targets, this indicates how many of the targets in the preceding Targets array are valid.
Definition Ars548Dll.h:445
#define TARGET_TYPE_DETECTION
Definition Ars548Dll.h:426
Definition Ars548Dll.h:442