first commit
This commit is contained in:
commit
e6a42e28e9
4355 changed files with 4626605 additions and 0 deletions
94
libraries/TinyGSM/src/TinyGsmGPS.tpp
Normal file
94
libraries/TinyGSM/src/TinyGsmGPS.tpp
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
/**
|
||||
* @file TinyGsmGPS.tpp
|
||||
* @author Volodymyr Shymanskyy
|
||||
* @license LGPL-3.0
|
||||
* @copyright Copyright (c) 2016 Volodymyr Shymanskyy
|
||||
* @date Nov 2016
|
||||
*/
|
||||
|
||||
#ifndef SRC_TINYGSMGPS_H_
|
||||
#define SRC_TINYGSMGPS_H_
|
||||
|
||||
#include "TinyGsmCommon.h"
|
||||
|
||||
#define TINY_GSM_MODEM_HAS_GPS
|
||||
|
||||
template <class modemType>
|
||||
class TinyGsmGPS {
|
||||
/* =========================================== */
|
||||
/* =========================================== */
|
||||
/*
|
||||
* Define the interface
|
||||
*/
|
||||
public:
|
||||
/*
|
||||
* GPS/GNSS/GLONASS location functions
|
||||
*/
|
||||
bool enableGPS() {
|
||||
return thisModem().enableGPSImpl();
|
||||
}
|
||||
bool disableGPS() {
|
||||
return thisModem().disableGPSImpl();
|
||||
}
|
||||
String getGPSraw() {
|
||||
return thisModem().getGPSrawImpl();
|
||||
}
|
||||
bool getGPS(float* lat, float* lon, float* speed = 0, float* alt = 0,
|
||||
int* vsat = 0, int* usat = 0, float* accuracy = 0, int* year = 0,
|
||||
int* month = 0, int* day = 0, int* hour = 0, int* minute = 0,
|
||||
int* second = 0) {
|
||||
return thisModem().getGPSImpl(lat, lon, speed, alt, vsat, usat, accuracy,
|
||||
year, month, day, hour, minute, second);
|
||||
}
|
||||
bool getGPSTime(int* year, int* month, int* day, int* hour, int* minute,
|
||||
int* second) {
|
||||
float lat = 0;
|
||||
float lon = 0;
|
||||
return thisModem().getGPSImpl(&lat, &lon, 0, 0, 0, 0, 0, year, month, day,
|
||||
hour, minute, second);
|
||||
}
|
||||
|
||||
String setGNSSMode(uint8_t mode, bool dpo) {
|
||||
return thisModem().setGNSSModeImpl(mode, dpo);
|
||||
}
|
||||
|
||||
uint8_t getGNSSMode() {
|
||||
return thisModem().getGNSSModeImpl();
|
||||
}
|
||||
|
||||
/*
|
||||
* CRTP Helper
|
||||
*/
|
||||
protected:
|
||||
inline const modemType& thisModem() const {
|
||||
return static_cast<const modemType&>(*this);
|
||||
}
|
||||
inline modemType& thisModem() {
|
||||
return static_cast<modemType&>(*this);
|
||||
}
|
||||
~TinyGsmGPS() {}
|
||||
|
||||
/* =========================================== */
|
||||
/* =========================================== */
|
||||
/*
|
||||
* Define the default function implementations
|
||||
*/
|
||||
|
||||
/*
|
||||
* GPS/GNSS/GLONASS location functions
|
||||
*/
|
||||
|
||||
bool enableGPSImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||
bool disableGPSImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||
String getGPSrawImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||
bool getGPSImpl(float* lat, float* lon, float* speed = 0, float* alt = 0,
|
||||
int* vsat = 0, int* usat = 0, float* accuracy = 0,
|
||||
int* year = 0, int* month = 0, int* day = 0, int* hour = 0,
|
||||
int* minute = 0,
|
||||
int* second = 0) TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||
String setGNSSModeImpl(uint8_t mode, bool dpo) TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||
uint8_t getGNSSModeImpl() TINY_GSM_ATTR_NOT_IMPLEMENTED;
|
||||
};
|
||||
|
||||
|
||||
#endif // SRC_TINYGSMGPS_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue