m2mb API docs  30.00.007
m2mb API sets documentation
m2mb_gnss.h
Go to the documentation of this file.
1 /*===============================================================================================*/
2 /* >>> Copyright (C) Telit Communications S.p.A. Italy All Rights Reserved. <<< */
24 #ifndef M2M_M2MB_GNSS_API_H
25 #define M2M_M2MB_GNSS_API_H
26 
27 
28 /* Global declarations ==========================================================================*/
29 
30 
31 /* Global typedefs ==============================================================================*/
32 typedef struct M2MB_GNSS_HANDLE_TAG *M2MB_GNSS_HANDLE;
33 
34 // Indications
35 typedef enum
36 {
37  M2MB_GNSS_INDICATION_POSITION_REPORT,
38  M2MB_GNSS_INDICATION_NMEA_REPORT
39 } M2MB_GNSS_IND_E;
40 
41 // Services
42 typedef enum
43 {
44  M2MB_GNSS_SERVICE_POSITION_REPORT,
45  M2MB_GNSS_SERVICE_NMEA_REPORT
46 } M2MB_GNSS_SERVICE_E;
47 
48 // Struct for M2MB_GNSS_SERVICE_POSITION_REPORT service
49 typedef struct
50 {
51  UINT8 codingType; //Coding of Velocity Type (see 3GPP GAD spec.).
52 
53  FLOAT64 speed_horizontal;
54  FLOAT64 bearing;
56 
57 typedef struct
58 {
59  FLOAT64 speed_horizontal;
60  FLOAT64 speed_vertical;
61 
62  FLOAT64 speed; //The result.
64 
65 typedef struct
66 {
67  BOOLEAN latitude_valid;
68  FLOAT64 latitude;
69 
70  BOOLEAN longitude_valid;
71  FLOAT64 longitude;
72 
73  BOOLEAN altitude_valid;
74  FLOAT64 altitude;
75 
76  BOOLEAN uncertainty_valid;
77  FLOAT64 uncertainty;
78 
79  BOOLEAN velocity_valid;
81 
82  BOOLEAN timestamp_valid;
83  UINT64 timestamp;
84 
85  BOOLEAN speed_valid;
86  M2MB_GNSS_POS_REP_SPEED_T speed; //NOT PRESENT! => I need to calculate it from speed_horizontal and speed_vertical.
88 
89 // Callback
90 typedef void ( *m2mb_gnss_callback )( M2MB_GNSS_HANDLE handle, M2MB_GNSS_IND_E event, UINT16 resp_size, void *resp, void *userdata );
91 
92 
93 /* Global functions =============================================================================*/
94 /*-----------------------------------------------------------------------------------------------*/
148 /*-----------------------------------------------------------------------------------------------*/
149 M2MB_RESULT_E m2mb_gnss_init( M2MB_GNSS_HANDLE *pHandle, m2mb_gnss_callback callback, void *userdata );
150 
151 
152 /*-----------------------------------------------------------------------------------------------*/
172 /*-----------------------------------------------------------------------------------------------*/
173 M2MB_RESULT_E m2mb_gnss_deinit( M2MB_GNSS_HANDLE handle );
174 
175 
176 /*-----------------------------------------------------------------------------------------------*/
198 /*-----------------------------------------------------------------------------------------------*/
199 M2MB_RESULT_E m2mb_gnss_enable( M2MB_GNSS_HANDLE handle, M2MB_GNSS_SERVICE_E service );
200 
201 
202 /*-----------------------------------------------------------------------------------------------*/
224 /*-----------------------------------------------------------------------------------------------*/
225 M2MB_RESULT_E m2mb_gnss_disable( M2MB_GNSS_HANDLE handle, M2MB_GNSS_SERVICE_E service );
226 
227 
228 /*-----------------------------------------------------------------------------------------------*/
248 /*-----------------------------------------------------------------------------------------------*/
249 M2MB_RESULT_E m2mb_gnss_start( M2MB_GNSS_HANDLE handle );
250 
251 
252 /*-----------------------------------------------------------------------------------------------*/
272 /*-----------------------------------------------------------------------------------------------*/
273 M2MB_RESULT_E m2mb_gnss_stop( M2MB_GNSS_HANDLE handle );
274 
275 
276 #endif /* M2M_M2MB_GNSS_API_H */
277 
m2mb_gnss_init
M2MB_RESULT_E m2mb_gnss_init(M2MB_GNSS_HANDLE *pHandle, m2mb_gnss_callback callback, void *userdata)
Initializes gnss functionalities.
M2MB_GNSS_POS_REP_VELOCITY_T
Definition: m2mb_gnss.h:49
M2MB_GNSS_POSITION_REPORT_INFO_T
Definition: m2mb_gnss.h:65
m2mb_gnss_disable
M2MB_RESULT_E m2mb_gnss_disable(M2MB_GNSS_HANDLE handle, M2MB_GNSS_SERVICE_E service)
Disables a gnss service.
m2mb_gnss_enable
M2MB_RESULT_E m2mb_gnss_enable(M2MB_GNSS_HANDLE handle, M2MB_GNSS_SERVICE_E service)
Enables a gnss service.
m2mb_gnss_deinit
M2MB_RESULT_E m2mb_gnss_deinit(M2MB_GNSS_HANDLE handle)
Deinitializes gnss functionalities.
m2mb_gnss_stop
M2MB_RESULT_E m2mb_gnss_stop(M2MB_GNSS_HANDLE handle)
Stops a service.
M2MB_GNSS_POS_REP_SPEED_T
Definition: m2mb_gnss.h:57
m2mb_gnss_start
M2MB_RESULT_E m2mb_gnss_start(M2MB_GNSS_HANDLE handle)
Starts a service.