DriveWorks SDK Reference
5.6.215 Release
For Test and Development only

GPS.h
Go to the documentation of this file.
1
2//
3// Notice
4// ALL NVIDIA DESIGN SPECIFICATIONS AND CODE ("MATERIALS") ARE PROVIDED "AS IS" NVIDIA MAKES
5// NO REPRESENTATIONS, WARRANTIES, EXPRESSED, IMPLIED, STATUTORY, OR OTHERWISE WITH RESPECT TO
6// THE MATERIALS, AND EXPRESSLY DISCLAIMS ANY IMPLIED WARRANTIES OF NONINFRINGEMENT,
7// MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8//
9// NVIDIA CORPORATION & AFFILIATES assumes no responsibility for the consequences of use of such
10// information or for any infringement of patents or other rights of third parties that may
11// result from its use. No license is granted by implication or otherwise under any patent
12// or patent rights of NVIDIA CORPORATION & AFFILIATES. No third party distribution is allowed unless
13// expressly authorized by NVIDIA. Details are subject to change without notice.
14// This code supersedes and replaces all information previously supplied.
15// NVIDIA CORPORATION & AFFILIATES products are not authorized for use as critical
16// components in life support devices or systems without express written approval of
17// NVIDIA CORPORATION & AFFILIATES.
18//
19// SPDX-FileCopyrightText: Copyright (c) 2016-2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
20// SPDX-License-Identifier: LicenseRef-NvidiaProprietary
21//
22// NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
23// property and proprietary rights in and to this material, related
24// documentation and any modifications thereto. Any use, reproduction,
25// disclosure or distribution of this material and related documentation
26// without an express license agreement from NVIDIA CORPORATION or
27// its affiliates is strictly prohibited.
28//
30
47#ifndef DW_SENSORS_GPS_GPS_H_
48#define DW_SENSORS_GPS_GPS_H_
49
50#include <dw/core/Config.h>
52#include <dw/core/base/Types.h>
53
54#include <dw/sensors/Sensors.h>
55
56#ifdef __cplusplus
57extern "C" {
58#endif
59
61typedef enum dwGPSFlags {
62 DW_GPS_LAT = 1 << 0,
63 DW_GPS_LON = 1 << 1,
64 DW_GPS_ALT = 1 << 2,
65 DW_GPS_COURSE = 1 << 3,
66 DW_GPS_SPEED = 1 << 4,
67 DW_GPS_CLIMB = 1 << 5,
68 DW_GPS_HDOP = 1 << 6,
69 DW_GPS_VDOP = 1 << 7,
70 DW_GPS_HACC = 1 << 8,
71 DW_GPS_VACC = 1 << 9,
73
78typedef struct dwGPSFrame
79{
82
85
88
91
94
97
100
102 char utcTime[16];
103
105 char utcDate[16];
106
109
112
115
118
120 uint32_t flags;
121
122} dwGPSFrame;
123
142dwStatus dwSensorGPS_readFrame(dwGPSFrame* const frame, dwTime_t const timeoutUs, dwSensorHandle_t const sensor);
143
159dwStatus dwSensorGPS_processRawData(uint8_t const* const data, size_t const size, dwSensorHandle_t const sensor);
160
175
176#ifdef __cplusplus
177}
178#endif
180#endif // DW_SENSORS_GPS_GPS_H_
NVIDIA DriveWorks API: Sensors
NVIDIA DriveWorks API: Core Types
NVIDIA DriveWorks API: Core Exports
#define DW_API_PUBLIC
Definition: Exports.h:54
dwStatus
Status definition.
Definition: Status.h:170
int64_t dwTime_t
Specifies a timestamp unit, in microseconds.
Definition: Types.h:82
double float64_t
Definition: Types.h:71
float64_t vacc
Vertical accuracy [m].
Definition: GPS.h:117
char utcTime[16]
UTC time as provided in the GPS package [hhmmss.sss] (null terminated).
Definition: GPS.h:102
float64_t hacc
Horizontal accuracy [m].
Definition: GPS.h:114
dwTime_t timestamp_us
Timestamp of the message when first received [usec].
Definition: GPS.h:81
float64_t latitude
Latitude [degree].
Definition: GPS.h:84
char utcDate[16]
UTC date as provided in the GPS package [ddmmyy] (null terminated).
Definition: GPS.h:105
float64_t vdop
Vertical dilution of precision (VDOP).
Definition: GPS.h:111
float64_t course
Course relative to true north [degree].
Definition: GPS.h:93
float64_t altitude
Altitude over WGS84 ellipsoid [m].
Definition: GPS.h:90
float64_t longitude
Longitude [degree].
Definition: GPS.h:87
float64_t speed
Horizontal speed [m/s].
Definition: GPS.h:96
uint32_t flags
The flags to show which values are valid in this GPS frame.
Definition: GPS.h:120
float64_t hdop
Horizontal dilution of precision (HDOP).
Definition: GPS.h:108
float64_t climb
Vertical speed [m/s].
Definition: GPS.h:99
dwGPSFlags
Each flag shows if that value is valid in this GPS frame.
Definition: GPS.h:61
DW_API_PUBLIC dwStatus dwSensorGPS_readFrame(dwGPSFrame *const frame, dwTime_t const timeoutUs, dwSensorHandle_t const sensor)
Reads the next GPS packet with a given timeout.
DW_API_PUBLIC dwStatus dwSensorGPS_popFrame(dwGPSFrame *const frame, dwSensorHandle_t const sensor)
Returns any GPS frame previously processed through RAW data stream.
DW_API_PUBLIC dwStatus dwSensorGPS_processRawData(uint8_t const *const data, size_t const size, dwSensorHandle_t const sensor)
Decodes RAW data previously read.
@ DW_GPS_ALT
Value of dwGPSFrame.altitude is valid.
Definition: GPS.h:64
@ DW_GPS_LAT
Value of dwGPSFrame.latitude is valid.
Definition: GPS.h:62
@ DW_GPS_LON
Value of dwGPSFrame.longitude is valid.
Definition: GPS.h:63
@ DW_GPS_VDOP
Value of dwGPSFrame.vdop is valid.
Definition: GPS.h:69
@ DW_GPS_COURSE
Value of dwGPSFrame.course is valid.
Definition: GPS.h:65
@ DW_GPS_VACC
Value of dwGPSFrame.vacc is valid.
Definition: GPS.h:71
@ DW_GPS_HACC
Value of dwGPSFrame.hacc is valid.
Definition: GPS.h:70
@ DW_GPS_SPEED
Value of dwGPSFrame.speed is valid.
Definition: GPS.h:66
@ DW_GPS_HDOP
Value of dwGPSFrame.hdop is valid.
Definition: GPS.h:68
@ DW_GPS_CLIMB
Value of dwGPSFrame.climb is valid.
Definition: GPS.h:67
A GPS packet containing localization information.
Definition: GPS.h:79
struct dwSensorObject * dwSensorHandle_t
Handle representing a sensor.
Definition: Sensors.h:86