Telematics SDK - Interface Specification
v1.46.14
|
Data Structures | |
struct | v2x_GNSSstatus_t |
struct | v2x_gnss_fix_rates_supported_list_t |
struct | v2x_init_t |
struct | v2x_kinematics_capabilities_t_feature_flags_t |
struct | v2x_rates_t |
struct | v2x_kinematics_capabilities_t |
struct | v2x_location_fix_t |
Macros | |
#define | V2X_KINEMATICS_HANDLE_BAD (-1) |
Typedefs | |
typedef int | v2x_kinematics_handle_t |
typedef void(* | v2x_kinematics_init_callback_t) (v2x_status_enum_type status, void *context) |
typedef void(* | v2x_kinematics_rate_notification_listener_t) (v2x_status_enum_type status, v2x_rates_t *rate, void *ctx) |
typedef void(* | v2x_kinematics_set_rate_callback_t) (v2x_status_enum_type status, void *context) |
typedef void(* | v2x_kinematics_get_capability_callback_t) (v2x_kinematics_capabilities_t *cap, void *context) |
typedef void(* | v2x_kinematics_newfix_listener_t) (v2x_location_fix_t *new_fix, void *context) |
typedef void(* | v2x_kinematics_deregister_callback_t) (v2x_status_enum_type status, void *context) |
typedef void(* | v2x_kinematics_final_callback_t) (v2x_status_enum_type status, void *context) |
Enumerations | |
enum | v2x_fix_mode_t { V2X_GNSS_MODE_NOT_SEEN = 0, V2X_GNSS_MODE_NO_FIX = 1, V2X_GNSS_MODE_2D = 2, V2X_GNSS_MODE_3D = 3 } |
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.
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.
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).
struct v2x_gnss_fix_rates_supported_list_t |
Defines supported GNSS fix generation rates (such as 1 Hz, 5 Hz, 10 Hz).
struct v2x_init_t |
struct v2x_kinematics_capabilities_t_feature_flags_t |
Defines Kinematics features supported by the hardware.
struct v2x_rates_t |
struct v2x_kinematics_capabilities_t |
Returned via v2x_kinematics_get_capabilities() for the client to discover the lower level function that this system supports.
Data Fields | ||
---|---|---|
v2x_kinematics_capabilities_t_feature_flags_t | feature_flags |
Features supported by the API. |
uint32_t | max_fix_rate_supported_hz |
Highest rate platform that supports GNSS fix generation (in Hz). |
v2x_gnss_fix_rates_supported_list_t | rates_list |
Supported fix rates. |
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.
Data Fields | ||
---|---|---|
double | utc_fix_time |
UTC time in seconds. |
v2x_fix_mode_t | fix_mode |
Location engine used to produce this record. Supported values: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 | gnss_status |
Status of the GNSS data. |
bool | has_SemiMajorAxisAccuracy |
Specifies whether the value of the SemiMajorAxisAccuracy field is valid. Supported values:
|
double | SemiMajorAxisAccuracy |
Accuracy of the major axis, in meters. |
bool | has_SemiMinorAxisAccuracy |
Specifies whether the value of the SemiMinorAxisAccuracy field is valid. Supported values:
|
double | SemiMinorAxisAccuracy |
Accuracy of the minor axis, in meters. |
bool | has_SemiMajorAxisOrientation |
Specifies whether the value of the SemiMajorAxisOrientation field is valid. Supported values:
|
double | SemiMajorAxisOrientation |
Orientation of the major axis, in meters. |
bool | has_heading |
Specifies whether the value of the heading field is valid. Supported values:
|
double | heading |
Track degrees relative to true north. |
bool | has_velocity |
Specifies whether the value of the velocity field is valid. Supported values:
|
double | velocity |
Speed over ground in meters/second. |
bool | has_climb |
Specifies whether the value of the climb field is valid. Supported values:
|
double | climb |
Vertical speed in meters/second. |
bool | has_lateral_acceleration |
Specifies whether the value of the lateral_acceleration field is valid. Supported values:
|
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. Supported values:
|
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. Supported values:
|
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. Supported values:
|
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. Supported values:
|
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. Supported values:
|
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. Supported values:
|
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. Supported values:
|
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. Supported values:
|
float | heading_confidence |
95% heading confidence in degrees. |
bool | has_velocity_confidence |
Specifies whether the value of the velocity_confidence field is valid. Supported values:
|
float | velocity_confidence |
95% velocity confidence in meters/second. |
bool | has_elevation_confidence |
Specifies whether the value of the elevation_confidence field is valid. Supported values:
|
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. |
#define V2X_KINEMATICS_HANDLE_BAD (-1) |
Invalid handle returned by v2x_kinematics_init() upon an error.
typedef int v2x_kinematics_handle_t |
Kinematics data handle to the interface.
typedef void(* v2x_kinematics_init_callback_t) (v2x_status_enum_type status, void *context) |
User-defined callback function called upon completion of a v2x_kinematics_init() operation.
[in] | status | Status of the v2x_kinematics_init() call. |
[in] | context | Pointer to the application context from which v2x_kinematics_init() was called. |
typedef void(* v2x_kinematics_rate_notification_listener_t) (v2x_status_enum_type status, v2x_rates_t *rate, void *ctx) |
User-defined listener function called when a data rate is updated.
[in] | status | Status of the rate change request. |
[in] | rate | Pointer to the rate. |
[in] | ctx | Pointer to the application context from which this listener was registered. |
typedef void(* v2x_kinematics_set_rate_callback_t) (v2x_status_enum_type status, void *context) |
User-defined callback function called upon completion of a v2x_kinematics_set_rate() operation.
[in] | status | Status of the v2x_kinematics_set_rate() call. |
[in] | context | Pointer to the application context from which v2x_kinematics_set_rate() was called. |
typedef void(* v2x_kinematics_get_capability_callback_t) (v2x_kinematics_capabilities_t *cap, void *context) |
User-defined callback function called upon completion of a v2x_kinematics_get_capabilities() operation.
[in] | cap | Pointer to the capabilities supported by the API. |
[in] | context | Pointer to the application context from which v2x_kinematics_get_capabilities() was called. |
typedef void(* v2x_kinematics_newfix_listener_t) (v2x_location_fix_t *new_fix, void *context) |
User-defined listener function for kinematics data.
[in] | new_fix | Pointer to the data. |
[in] | context | Pointer to the application context from which this listener was registered. |
typedef void(* v2x_kinematics_deregister_callback_t) (v2x_status_enum_type status, void *context) |
User-defined callback function called upon completion of a v2x_kinematics_deregister_listener() operation.
[in] | status | Status of the v2x_kinematics_deregister_listener() call. |
[in] | context | Pointer to the application context from which v2x_kinematics_deregister_listener() was called. |
typedef void(* v2x_kinematics_final_callback_t) (v2x_status_enum_type status, void *context) |
User-defined callback function called upon completion of a v2x_kinematics_final() operation.
[in] | status | Status of the v2x_kinematics_final() call. |
[in] | context | Pointer to the application context from which v2x_kinematics_final() was called. |
enum v2x_fix_mode_t |
v2x_api_ver_t v2x_kinematics_api_version | ( | void | ) |
Gets the compiled API version interface (as an integer number).
v2x_kinematics_handle_t v2x_kinematics_init | ( | v2x_init_t * | param, |
v2x_kinematics_init_callback_t | cb, | ||
void * | context | ||
) |
Initializes the Kinematics library.
[in] | param | Pointer to the structure that contains parameters for the IP address of the server, logging level, and so on. |
[in] | cb | Callback function called when initialization is complete. |
[in] | context | Pointer to the application context for use with the callbacks, which can help the caller code. |
v2x_status_enum_type v2x_kinematics_start_rate_notification | ( | v2x_kinematics_handle_t | handle, |
v2x_kinematics_rate_notification_listener_t | cb, | ||
void * | context | ||
) |
Gets the current rate and offset from the Kinematics library.
[in] | handle | Handle number to use with subsequent calls. If there is an error in initialization, the value is -1. |
[in] | cb | Callback function used to report rate notification changes. |
[in] | context | Pointer to the application context for use with the callbacks, which can help the caller code. |
v2x_status_enum_type v2x_kinematics_set_rate | ( | v2x_kinematics_handle_t | handle, |
v2x_rates_t * | rate, | ||
v2x_kinematics_set_rate_callback_t | cb, | ||
void * | context | ||
) |
Sets the current rate and offset from the Kinematics library.
[in] | handle | Handle number to use with subsequent calls. If there is an error in initialization, the value is -1. |
[in] | rate | Pointer to the rate structure filled with the fix timing parameters. |
[in] | cb | Callback function called when rates and offsets are successfully set. This parameter can be NULL. |
[in] | context | Pointer to the application context for use with the callbacks, which can help the caller code. |
v2x_status_enum_type v2x_kinematics_register_listener | ( | v2x_kinematics_handle_t | handle, |
v2x_kinematics_newfix_listener_t | listener, | ||
void * | context | ||
) |
Registers for a Kinematics result listener callback at the requested rate.
[in] | handle | Handle number to use with subsequent calls. If there is an error in initialization, the value is -1. |
[in] | listener | Callback function to use for this listener. |
[in] | context | Pointer to the application context for use with the callbacks, which can help the caller code. |
v2x_status_enum_type v2x_kinematics_deregister_listener | ( | v2x_kinematics_handle_t | handle, |
v2x_kinematics_deregister_callback_t | cb, | ||
void * | context | ||
) |
Deregisters a previously registered GNSS fix that the listener established earlier via v2x_kinematics_register_listener().
[in] | handle | Handle number of the registered fix. |
[in] | cb | Callback function to use for this listener. This parameter can be NULL. |
[in] | context | Pointer to the application context for use with the callbacks, which can help the caller code. |
v2x_status_enum_type v2x_kinematics_final | ( | v2x_kinematics_handle_t | handle, |
v2x_kinematics_final_callback_t | cb, | ||
void * | context | ||
) |
Terminates the Kinematics library.
[in] | handle | Handle number of the library. |
[in] | cb | Callback function called when termination is complete. This parameter can be NULL. |
[in] | context | Pointer to the application context for use with the callbacks, which can help the caller code. |
void v2x_kinematics_enable_fixes | ( | v2x_kinematics_handle_t | handle | ) |
Enables the Kinematics fixes from GNSS.
[in] | handle | Unique identifier for the library. |
void v2x_kinematics_disable_fixes | ( | v2x_kinematics_handle_t | handle | ) |
Disables the Kinematics fixes from GNSS.
[in] | handle | Unique identifier for the library. |