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