An extension of original API for working with GPS devices.
Dependents: A_TeseoLocationNEW A_TeseoLocation TeseoLocation
GPS_Provider Library
A controller-neutral API for working with GPS devices.
Overview
This library is an extension of the original API published on os.mbed.com
Besides the basic geo-location functionality, this extended API includes the following features:
- Geofencing
- Odometer
- Datalogging
Getting started
This GPS API is meant to be used for building projects on os.mbed.com
A good starting point is this page:
Diff: GPSProvider/GPSGeofence.h
- Revision:
- 3:ccd86d6bd3bc
- Parent:
- 0:0a9c622571d7
--- a/GPSProvider/GPSGeofence.h Mon Nov 12 12:56:51 2018 +0000 +++ b/GPSProvider/GPSGeofence.h Thu Feb 14 11:07:42 2019 +0000 @@ -38,6 +38,11 @@ #ifndef __GPS_GEOFENCE_H__ #define __GPS_GEOFENCE_H__ +/** + * For more information about Geofence, please refer to + * Teseo LIV-3F UM available at st.com + */ + class GPSGeofence { public: @@ -71,7 +76,10 @@ _notificationResponsiveness(0), _transitionTypes(0) { } - + + /** + * Set the Geofence area. + */ void setGeofenceCircle(const GeofenceCircle_t &geofenceCircle) { _geofenceCircle.id = geofenceCircle.id; _geofenceCircle.enabled = geofenceCircle.enabled; @@ -81,23 +89,43 @@ _geofenceCircle.radius = geofenceCircle.radius; _geofenceCircle.status = 0; } - + + /** + * Update the status of a Geofence area. + * Status can be one of the following: + * - Inside + * - Outside + * - Boundary + * - Unknown + */ void updateGeofenceCircleStatus(int status) { _geofenceCircle.status = status; } - + + /** + * Get the Geofence area. + */ const GeofenceCircle_t & getGeofenceCircle(void) { return _geofenceCircle; } - + + /** + * Set the expiration duration of geofence. + */ virtual void setExpirationDuration (long durationMillis) { _expirationDuration = durationMillis; } - + + /** + * Set the best-effort notification responsiveness of the geofence. + */ virtual void setNotificationResponsiveness (int notificationResponsivenessMs) { _notificationResponsiveness = notificationResponsivenessMs; } - + + /** + * Set the transition types of interest. + */ virtual void setTransitionTypes(int transitionTypes) { _transitionTypes = transitionTypes; }