interfaces/positioning/c/le_pos.h
Go to the documentation of this file.
00001 
00162 #ifndef LEGATO_POS_INCLUDE_GUARD
00163 #define LEGATO_POS_INCLUDE_GUARD
00164 
00165 #include "legato.h"
00166 
00167 
00168 
00169 //--------------------------------------------------------------------------------------------------
00170 // APIs.
00171 //--------------------------------------------------------------------------------------------------
00172 
00173 //--------------------------------------------------------------------------------------------------
00177 //--------------------------------------------------------------------------------------------------
00178 typedef struct le_pos_Sample* le_pos_SampleRef_t;
00179 
00180 //--------------------------------------------------------------------------------------------------
00184 //--------------------------------------------------------------------------------------------------
00185 typedef struct le_pos_MovementHandler* le_pos_MovementHandlerRef_t;
00186 
00187 //--------------------------------------------------------------------------------------------------
00194 //--------------------------------------------------------------------------------------------------
00195 typedef void(*le_pos_MovementHandlerFunc_t)
00196 (
00197     le_pos_SampleRef_t    positionSampleRef,
00198     void*                 contextPtr
00199 );
00200 
00201 
00202 //--------------------------------------------------------------------------------------------------
00210 //--------------------------------------------------------------------------------------------------
00211 le_pos_MovementHandlerRef_t le_pos_AddMovementHandler
00212 (
00213     uint32_t                     horizontalMagnitude, 
00214 
00215 
00216     uint32_t                     verticalMagnitude,   
00217 
00218 
00219     le_pos_MovementHandlerFunc_t handlerPtr,          
00220     void*                        contextPtr           
00221 );
00222 
00223 //--------------------------------------------------------------------------------------------------
00229 //--------------------------------------------------------------------------------------------------
00230 void le_pos_RemoveMovementHandler
00231 (
00232     le_pos_MovementHandlerRef_t    handlerRef 
00233 );
00234 
00235 //--------------------------------------------------------------------------------------------------
00249 //--------------------------------------------------------------------------------------------------
00250 le_result_t le_pos_sample_Get2DLocation
00251 (
00252     le_pos_SampleRef_t  positionSampleRef,    
00253     int32_t*            latitudePtr,          
00254     int32_t*            longitudePtr,         
00255     int32_t*            horizontalAccuracyPtr 
00256 );
00257 
00258 //--------------------------------------------------------------------------------------------------
00271 //--------------------------------------------------------------------------------------------------
00272 le_result_t le_pos_sample_GetAltitude
00273 (
00274     le_pos_SampleRef_t  positionSampleRef,   
00275     int32_t*            altitudePtr,         
00276     int32_t*            altitudeAccuracyPtr  
00277 );
00278 
00279 //--------------------------------------------------------------------------------------------------
00292 //--------------------------------------------------------------------------------------------------
00293 le_result_t le_pos_sample_GetHorizontalSpeed
00294 (
00295     le_pos_SampleRef_t  positionSampleRef, 
00296     uint32_t*           hSpeedPtr,         
00297     int32_t*            hSpeedAccuracyPtr  
00298 );
00299 
00300 //--------------------------------------------------------------------------------------------------
00313 //--------------------------------------------------------------------------------------------------
00314 le_result_t le_pos_sample_GetVerticalSpeed
00315 (
00316     le_pos_SampleRef_t  positionSampleRef, 
00317     int32_t*            vSpeedPtr,         
00318     int32_t*            vSpeedAccuracyPtr  
00319 );
00320 
00321 //--------------------------------------------------------------------------------------------------
00335 //--------------------------------------------------------------------------------------------------
00336 le_result_t le_pos_sample_GetHeading
00337 (
00338     le_pos_SampleRef_t positionSampleRef, 
00339     int32_t*           headingPtr,        
00340     int32_t*           headingAccuracyPtr 
00341 );
00342 
00343 //--------------------------------------------------------------------------------------------------
00357 //--------------------------------------------------------------------------------------------------
00358 le_result_t le_pos_sample_GetDirection
00359 (
00360     le_pos_SampleRef_t positionSampleRef,   
00361     int32_t*           directionPtr,        
00362     int32_t*           directionAccuracyPtr 
00363 );
00364 
00365 //--------------------------------------------------------------------------------------------------
00372 //--------------------------------------------------------------------------------------------------
00373 void le_pos_sample_Release
00374 (
00375     le_pos_SampleRef_t    positionSampleRef    
00376 );
00377 
00378 //--------------------------------------------------------------------------------------------------
00389 //--------------------------------------------------------------------------------------------------
00390 le_result_t le_pos_Get2DLocation
00391 (
00392     int32_t*       latitudePtr,    
00393     int32_t*       longitudePtr,   
00394     int32_t*       hAccuracyPtr    
00395 );
00396 
00397 //--------------------------------------------------------------------------------------------------
00409 //--------------------------------------------------------------------------------------------------
00410 le_result_t le_pos_Get3DLocation
00411 (
00412     int32_t*       latitudePtr,    
00413     int32_t*       longitudePtr,   
00414     int32_t*       hAccuracyPtr,   
00415     int32_t*       altitudePtr,    
00416     int32_t*       vAccuracyPtr    
00417 );
00418 
00419 //--------------------------------------------------------------------------------------------------
00430 //--------------------------------------------------------------------------------------------------
00431 le_result_t le_pos_GetMotion
00432 (
00433     uint32_t*   hSpeedPtr,          
00434     int32_t*    hSpeedAccuracyPtr,  
00435     int32_t*    vSpeedPtr,          
00436     int32_t*    vSpeedAccuracyPtr   
00437 );
00438 
00439 //--------------------------------------------------------------------------------------------------
00449 //--------------------------------------------------------------------------------------------------
00450 le_result_t le_pos_GetHeading
00451 (
00452     int32_t*  headingPtr,        
00453     int32_t*  headingAccuracyPtr 
00454 );
00455 
00456 //--------------------------------------------------------------------------------------------------
00467 //--------------------------------------------------------------------------------------------------
00468 le_result_t le_pos_GetDirection
00469 (
00470     int32_t* directionPtr,        
00471     int32_t* directionAccuracyPtr 
00472 );
00473 
00474 #endif // LEGATO_POS_INCLUDE_GUARD
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines