# C Kinematics APIs

**Detailed Description**

This section contains C Kinematics APIs related to Cellular-V2X operation. For any new CV2x development, it is recommended to use the C++ telux::loc::ILocationManager APIs.

- *group* Telematics\_cv2x\_c\_kinematics

    - Abstraction of the system GNSS + DR solution for returning precision fixes with low latency via callbacks. This solution is used each time a fix is available, and it supports multiple callbacks to a short list of clients.

Common types are used for the motion and location reporting system of the platform. These types include the structures that are used to both configure the Kinematics subsystem and to report periodic fixes. The fixes are combinations of inertial/motion data and GNSS solutions determined (possibly directly) from satellite processing or dead-reckoning in degraded SV reception.

Defines

- V2X\_KINEMATICS\_HANDLE\_BAD

    - Invalid handle returned by [v2x\_kinematics\_init()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00066_1gaa40d96bcdd708e9fd609a491f5b6356e.html#a00066_1gaa40d96bcdd708e9fd609a491f5b6356e) upon an error.

Typedefs

- typedef int v2x\_kinematics\_handle\_t

    - Kinematics data handle to the interface.

- typedef void (\*v2x\_kinematics\_init\_callback\_t)([v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) status, void \*context)

    - User-defined callback function called upon completion of a [v2x\_kinematics\_init()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00066_1gaa40d96bcdd708e9fd609a491f5b6356e.html#a00066_1gaa40d96bcdd708e9fd609a491f5b6356e) operation.

- **Associated data types**
    - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d)

- Param status:

    - **[in]** Status of the v2x\_kinematics\_init() call.

- Param context:

    - **[in]** Pointer to the application context from which v2x\_kinematics\_init() was called.

- typedef void (\*v2x\_kinematics\_rate\_notification\_listener\_t)([v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) status, [v2x\_rates\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#_CPPv411v2x_rates_t) \*rate, void \*ctx)

    - User-defined listener function called when a data rate is updated.

- **Associated data types**
    - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d) [v2x\_rates\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00331.html#a00331)

- Param status:

    - **[in]** Status of the rate change request.

- Param rate:

    - **[in]** Pointer to the rate.

- Param ctx:

    - **[in]** Pointer to the application context from which this listener was registered.

- typedef void (\*v2x\_kinematics\_set\_rate\_callback\_t)([v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) status, void \*context)

    - User-defined callback function called upon completion of a [v2x\_kinematics\_set\_rate()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00066_1gaa6b3a50cc56c6c285967ce9ef8cffb40.html#a00066_1gaa6b3a50cc56c6c285967ce9ef8cffb40) operation.

- **Associated data types**
    - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d)

- Param status:

    - **[in]** Status of the v2x\_kinematics\_set\_rate() call.

- Param context:

    - **[in]** Pointer to the application context from which v2x\_kinematics\_set\_rate() was called.

- typedef void (\*v2x\_kinematics\_newfix\_listener\_t)([v2x\_location\_fix\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#_CPPv418v2x_location_fix_t) \*new\_fix, void \*context)

    - User-defined listener function for kinematics data.

- **Associated data types**
    - [v2x\_location\_fix\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00332.html#a00332)

- Param new\_fix:

    - **[in]** Pointer to the data.

- Param context:

    - **[in]** Pointer to the application context from which this listener was registered.

- typedef void (\*v2x\_kinematics\_deregister\_callback\_t)([v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) status, void \*context)

    - User-defined callback function called upon completion of a [v2x\_kinematics\_deregister\_listener()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00066_1ga2e49f63d4dbaa9042f40b7a6e5dffed4.html#a00066_1ga2e49f63d4dbaa9042f40b7a6e5dffed4) operation.

- **Associated data types**
    - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d)

- Param status:

    - **[in]** Status of the v2x\_kinematics\_deregister\_listener() call.

- Param context:

    - **[in]** Pointer to the application context from which v2x\_kinematics\_deregister\_listener() was called.

- typedef void (\*v2x\_kinematics\_final\_callback\_t)([v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) status, void \*context)

    - User-defined callback function called upon completion of a [v2x\_kinematics\_final()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00066_1ga306ba9b2d85ed6d5208dc44e0790b414.html#a00066_1ga306ba9b2d85ed6d5208dc44e0790b414) operation.

- **Associated data types**
    - [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d)

- Param status:

    - **[in]** Status of the v2x\_kinematics\_final() call.

- Param context:

    - **[in]** Pointer to the application context from which v2x\_kinematics\_final() was called.

Enums

- enum v2x\_fix\_mode\_t

    - Valid GNSS fix modes.

*Values:*

- enumerator V2X\_GNSS\_MODE\_NOT\_SEEN

    - SV is unavailable or not in view.

- enumerator V2X\_GNSS\_MODE\_NO\_FIX

    - No SV fix.

- enumerator V2X\_GNSS\_MODE\_2D

    - 2D fix with latitude and longitude information.

- enumerator V2X\_GNSS\_MODE\_3D

    - 3D fix with latitude, longitude, and altitude information.

Functions

- [v2x\_api\_ver\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv413v2x_api_ver_t) v2x\_kinematics\_api\_version(void)

    - Gets the compiled API version interface (as an integer number).

- Returns:

    - [v2x\_api\_ver\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00329.html#a00329) — Filled with the version number, build date, and detailed build information.

- [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) v2x\_kinematics\_init([v2x\_init\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#_CPPv410v2x_init_t) \*param, [v2x\_kinematics\_init\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga9b117bba9bcea65905e7519be38537ac.html#_CPPv430v2x_kinematics_init_callback_t) cb, void \*context)

    - Initializes the Kinematics library.

- **Associated data types**
    - [v2x\_init\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00333.html#a00333) [v2x\_kinematics\_init\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga9b117bba9bcea65905e7519be38537ac)

- 
    - [V2X\_KINEMATICS\_HANDLE\_BAD](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga4ba322e891f2754c437376bca882131f) — Upon an error.

- Parameters:

    - - **param** – **[in]** Pointer to the structure that contains parameters for the IP address of the server, logging level, and so on.
- **cb** – **[in]** Callback function called when initialization is complete.
- **context** – **[in]** Pointer to the application context for use with the callbacks, which can help the caller code.

- Returns:

    - Handle number to use with subsequent calls.

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_kinematics\_start\_rate\_notification([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle, [v2x\_kinematics\_rate\_notification\_listener\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1gafac95f9022218c53c2648b28efa12f4a.html#_CPPv443v2x_kinematics_rate_notification_listener_t) cb, void \*context)

    - Gets the current rate and offset from the Kinematics library.

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e) [v2x\_kinematics\_rate\_notification\_listener\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1gafac95f9022218c53c2648b28efa12f4a)

- Parameters:

    - - **handle** – **[in]** Handle number to use with subsequent calls. If there is an error in initialization, the value is -1.
- **cb** – **[in]** Callback function used to report rate notification changes.
- **context** – **[in]** Pointer to the application context for use with the callbacks, which can help the caller code.

- Returns:

    - Indication of success or failure from [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d).

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_kinematics\_set\_rate([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle, [v2x\_rates\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#_CPPv411v2x_rates_t) \*rate, [v2x\_kinematics\_set\_rate\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga9e40ada910991391c37ac54dc7578bf9.html#_CPPv434v2x_kinematics_set_rate_callback_t) cb, void \*context)

    - Sets the current rate and offset from the Kinematics library.

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e) [v2x\_rates\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/struct_a00331.html#a00331) [v2x\_kinematics\_set\_rate\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga9e40ada910991391c37ac54dc7578bf9)

- Parameters:

    - - **handle** – **[in]** Handle number to use with subsequent calls. If there is an error in initialization, the value is -1.
- **rate** – **[in]** Pointer to the rate structure filled with the fix timing parameters.
- **cb** – **[in]** Callback function called when rates and offsets are successfully set. This parameter can be NULL.
- **context** – **[in]** Pointer to the application context for use with the callbacks, which can help the caller code.

- Returns:

    - Indication of success or failure from [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d).

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_kinematics\_register\_listener([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle, [v2x\_kinematics\_newfix\_listener\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga76131cc53fc389456a3d765798fb5a7e.html#_CPPv432v2x_kinematics_newfix_listener_t) listener, void \*context)

    - Registers for a Kinematics result listener callback at the requested rate.

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e) [v2x\_kinematics\_newfix\_listener\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga76131cc53fc389456a3d765798fb5a7e)

- **Detailed description**
    - This function requests GNSS fix/motion callbacks at a specified rate (Hz) with a specified offset.

- 
    - Only certain rates are supported (such as 1 Hz, 2 Hz, 5 Hz, 10 Hz), which are obtained from v2x\_kinematics\_get\_capabilities().

- 
    - Currently, a request cannot be made for a rate slower than 1 Hz.

- Parameters:

    - - **handle** – **[in]** Handle number to use with subsequent calls. If there is an error in initialization, the value is -1.
- **listener** – **[in]** Callback function to use for this listener.
- **context** – **[in]** Pointer to the application context for use with the callbacks, which can help the caller code.

- Returns:

    - Indication of success or failure from [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d).

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_kinematics\_deregister\_listener([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle, [v2x\_kinematics\_deregister\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1gabd7953077889bc92f3331dbce1cbf992.html#_CPPv436v2x_kinematics_deregister_callback_t) cb, void \*context)

    - Deregisters a previously registered GNSS fix that the listener established earlier via [v2x\_kinematics\_register\_listener()](https://docs.qualcomm.com/doc/80-PF458-8/topic/function_a00066_1ga2aec2059ca6cbe59dbd260101ce0f52a.html#a00066_1ga2aec2059ca6cbe59dbd260101ce0f52a).

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e) [v2x\_kinematics\_deregister\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1gabd7953077889bc92f3331dbce1cbf992)

- Parameters:

    - - **handle** – **[in]** Handle number of the registered fix.
- **cb** – **[in]** Callback function to use for this listener. This parameter can be NULL.
- **context** – **[in]** Pointer to the application context for use with the callbacks, which can help the caller code.

- Returns:

    - Indication of success or failure from [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d).

- [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/c_apis_common.html#_CPPv420v2x_status_enum_type) v2x\_kinematics\_final([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle, [v2x\_kinematics\_final\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga696e99da7f6982affde67573f74a4b0e.html#_CPPv431v2x_kinematics_final_callback_t) cb, void \*context)

    - Terminates the Kinematics library.

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e) [v2x\_kinematics\_final\_callback\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga696e99da7f6982affde67573f74a4b0e)

- Parameters:

    - - **handle** – **[in]** Handle number of the library.
- **cb** – **[in]** Callback function called when termination is complete. This parameter can be NULL.
- **context** – **[in]** Pointer to the application context for use with the callbacks, which can help the caller code.

- Returns:

    - Indication of success or failure from [v2x\_status\_enum\_type](https://docs.qualcomm.com/doc/80-PF458-8/topic/enum_a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d.html#a00064_1ga49d62bdeb1801fa5715ad5fe72f9427d).

- void v2x\_kinematics\_enable\_fixes([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle)

    - Enables the Kinematics fixes from GNSS.

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e)

- Parameters:

    - **handle** – **[in]** Unique identifier for the library.

- Returns:

    - None.

- void v2x\_kinematics\_disable\_fixes([v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/typedef_a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e.html#_CPPv423v2x_kinematics_handle_t) handle)

    - Disables the Kinematics fixes from GNSS.

- **Associated data types**
    - [v2x\_kinematics\_handle\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#a00066_1ga3d39bfe05e34b696bbb1b8695f5ea82e)

- Parameters:

    - **handle** – **[in]** Unique identifier for the library.

- Returns:

    - None.

- struct v2x\_GNSSstatus\_t

    - Contains status information for the GNSS satellite.

This structure is used for each reported fix to indicate the quality of the available constellation (or whether the constellation is not available).

Public Members

- bool unavailable

    - Specifies whether a constellation is not equipped or is unavailable.

- 0 - GNSS is available
- 1 - GNSS is unavailable

- bool aPDOPofUnder5

    - Specifies whether dilution of precision is greater than 5.

- 0 - Not greater than 5
- 1 - Greater than 5

- bool inViewOfUnder5

    - Specifies whether fewer than five satellites are in view.

- 0 - Five or more satellites are in view
- 1 - Fewer than five satellites are in view

- bool localCorrectionsPresent

    - Specifies whether DGPS type corrections are used.

- 0 - Not used
- 1 - Used

- bool networkCorrectionsPresent

    - Specifies whether RTK type corrections are used.

- 0 - Not used
- 1 - Used

- struct v2x\_init\_t

    - Defines client initialization.

Public Members

- uint32\_t log\_level\_mask

    - Log levels as defined in syslog.h.

- char server\_ip\_addr[32]

    - IP address of the server.

- struct v2x\_rates\_t

    - Defines the rate type.

Public Members

- uint32\_t rate\_report\_hz

    - Requested or reported current number of fixes per second.

- uint32\_t offset\_nanoseconds

    - Currently unsupported.

- struct v2x\_location\_fix\_t

    - Contains a standardized set of parameters that are used for ITS applications.

The contents of this structure do not include every possible GNSS element (for example, raw range data is not included). These fields are via low latency for safety applications, both to use locally and to load into a J2945/1 or ETSI G5 EN302.637-2 CAM. For example, the fields are used for CAM-type and BSM-type safety beacons.

This structure is populated for each location or dead-reckoning fix, and it is supplied on the fix available callback.

Predefined J2735s can be used to communicate raw SV observations and RTK correction data. Currently, however, they are not supplied from this structure.

Public Members

- double utc\_fix\_time

    - UTC time in seconds.

- [v2x\_fix\_mode\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#_CPPv414v2x_fix_mode_t) fix\_mode

    - Location engine used to produce this record.

No fix, 2D, 3D, RTCM

- double latitude

    - Latitude in degrees.

- double longitude

    - Longitude in degrees.

- double altitude

    - Altitude in meters above the geoid (mean sea level).

- uint32\_t qty\_SV\_in\_view

    - Number of usable space vehicles (SV) that should be in view.

- uint32\_t qty\_SV\_used

    - Actual number of SVs used in this fix calculation.

- [v2x\_GNSSstatus\_t](https://docs.qualcomm.com/doc/80-PF458-8/topic/kinematics.html#_CPPv416v2x_GNSSstatus_t) gnss\_status

    - Status of the GNSS data.

- bool has\_SemiMajorAxisAccuracy

    - Specifies whether the value of the SemiMajorAxisAccuracy field is valid.

- 0 - Not valid
- 1 - Valid

- double SemiMajorAxisAccuracy

    - Accuracy of the major axis, in meters.

- bool has\_SemiMinorAxisAccuracy

    - Specifies whether the value of the SemiMinorAxisAccuracy field is valid.

- 0 - Not valid
- 1 - Valid

- double SemiMinorAxisAccuracy

    - Accuracy of the minor axis, in meters.

- bool has\_SemiMajorAxisOrientation

    - Specifies whether the value of the SemiMajorAxisOrientation field is valid.

- 0 - Not valid
- 1 - Valid

- double SemiMajorAxisOrientation

    - Orientation of the major axis, in meters.

- bool has\_heading

    - Specifies whether the value of the heading field is valid.

- 0 - Not valid
- 1 - Valid

- double heading

    - Track degrees relative to true north.

- bool has\_velocity

    - Specifies whether the value of the velocity field is valid.

- 0 - Not valid
- 1 - Valid

- double velocity

    - Speed over ground in meters/second.

- bool has\_climb

    - Specifies whether the value of the climb field is valid.

- 0 - Not valid
- 1 - Valid

- double climb

    - Vertical speed in meters/second.

- bool has\_lateral\_acceleration

    - Specifies whether the value of the lateral\_acceleration field is valid.

- 0 - Not valid
- 1 - Valid

- double lateral\_acceleration

    - Acceleration in a latitudinal direction, in meters/second^2.

- bool has\_longitudinal\_acceleration

    - Specifies whether the value of the longitudinal acceleration field is valid.

- 0 - Not valid
- 1 - Valid

- double longitudinal\_acceleration

    - Acceleration in a longitudinal direction, in meters/second^2.

- bool has\_vehicle\_vertical\_acceleration

    - Specifies whether the value of the vehicle\_vertical\_acceleration field is valid.

- 0 - Not valid
- 1 - Valid

- double vehicle\_vertical\_acceleration

    - Vertical acceleration of the vehicle in G force.

- bool has\_yaw\_rate\_degrees\_per\_second

    - Specifies whether the value of the yaw\_rate\_degrees\_per\_second field is valid.

- 0 - Not valid
- 1 - Valid

- double yaw\_rate\_degrees\_per\_second

    - Yaw rate in degrees/second, per SAE J2735.

- bool has\_yaw\_rate\_95pct\_confidence

    - Specifies whether the value of the yaw\_rate\_95pct\_confidence field is valid.

- 0 - Not valid
- 1 - Valid

- double yaw\_rate\_95pct\_confidence

    - 95% confidence (2 sigma) on the yaw rate in degrees/second.

- bool has\_lane\_position\_number

    - Specifies whether the value of the lane\_position\_number field is valid.

- 0 - Not valid
- 1 - Valid

- double lane\_position\_number

    - Current lane number, where 0 is either the outer-most edge of the hard shoulder or off-road.

- bool has\_lane\_position\_95pct\_confidence

    - Specifies whether the value of the lane\_position\_95pct\_confidence field is valid.

- 0 - Not valid
- 1 - Valid

- double lane\_position\_95pct\_confidence

    - 95% confidence range on the lane position.

- bool has\_time\_confidence

    - Specifies whether the value of the time\_confidence field is valid.

- 0 - Not valid
- 1 - Valid

- float time\_confidence

    - 95% (2 sigma) confidence in number of seconds.

- bool has\_heading\_confidence

    - Specifies whether the value of the heading\_confidence field is valid.

- 0 - Not valid
- 1 - Valid

- float heading\_confidence

    - 95% heading confidence in degrees.

- bool has\_velocity\_confidence

    - Specifies whether the value of the velocity\_confidence field is valid.

- 0 - Not valid
- 1 - Valid

- float velocity\_confidence

    - 95% velocity confidence in meters/second.

- bool has\_elevation\_confidence

    - Specifies whether the value of the elevation\_confidence field is valid.

- 0 - Not valid
- 1 - Valid

- float elevation\_confidence

    - 95% uncertainty range (2 sigma) confidence in meters.

- uint32\_t leap\_seconds

    - Indicates that both UTC and GPS are required because IEEE 1609.2 security requires operations to be performed in raw GPS time.

Last Published: May 20, 2026

[Previous Topic
C Common APIs](https://docs.qualcomm.com/bundle/publicresource/80-PF458-8/topics/c_apis_common.md) [Next Topic
C Radio APIs](https://docs.qualcomm.com/bundle/publicresource/80-PF458-8/topics/radio.md)