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:

TeseoLocation

Revision:
0:0a9c622571d7
Child:
3:ccd86d6bd3bc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GPSProvider/GPSDatalog.h	Fri Nov 09 17:09:12 2018 +0000
@@ -0,0 +1,94 @@
+/**
+ ******************************************************************************
+ * @file    GPSDatalog.h
+ * @author  AST/CL
+ * @version V1.1.0
+ * @date    Jun, 2017
+ * @brief   .
+ ******************************************************************************
+ * @attention
+ *
+ * <h2><center>&copy; COPYRIGHT(c) 2017 STMicroelectronics</center></h2>
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *   1. Redistributions of source code must retain the above copyright notice,
+ *      this list of conditions and the following disclaimer.
+ *   2. Redistributions in binary form must reproduce the above copyright notice,
+ *      this list of conditions and the following disclaimer in the documentation
+ *      and/or other materials provided with the distribution.
+ *   3. Neither the name of STMicroelectronics nor the names of its contributors
+ *      may be used to endorse or promote products derived from this software
+ *      without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+#ifndef __GPS_DATALOG_H__
+#define __GPS_DATALOG_H__
+
+class GPSDatalog {
+public:
+    
+    /** 
+     * Construct a GPSDatalog instance. 
+     */ 
+    GPSDatalog(bool          enableBufferFullAlarm,
+               bool          enableCircularBuffer,
+               unsigned      minRate,
+               unsigned      minSpeed,
+               unsigned      minPosition,
+               int           logMask) :
+        _enableBufferFullAlarm(enableBufferFullAlarm),
+        _enableCircularBuffer(enableCircularBuffer),
+        _minRate(minRate),
+        _minSpeed(minSpeed),
+        _minPosition(minPosition),
+        _logMask(logMask) {
+    }
+
+    bool getEnableBufferFullAlarm(void) const {
+      return _enableBufferFullAlarm;
+    }
+    bool getEnableCircularBuffer(void) const {
+      return _enableCircularBuffer;
+    }
+    unsigned getMinRate(void) const {
+      return _minRate;
+    }
+    unsigned getMinSpeed(void) const {
+      return _minSpeed;
+    }
+    unsigned getMinPosition(void) const {
+      return _minPosition;
+    }
+    int getLogMask(void) const {
+      return _logMask;
+    }
+    
+protected:
+  bool          _enableBufferFullAlarm;
+  bool          _enableCircularBuffer;
+  unsigned      _minRate;
+  unsigned      _minSpeed;
+  unsigned      _minPosition;
+  int           _logMask;
+
+private:
+    /* disallow copy constructor and assignment operators */
+    GPSDatalog(const GPSDatalog&);
+    GPSDatalog & operator= (const GPSDatalog&);
+};
+
+#endif /* __GPS_DATALOG_H__ */