Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc. http://www.blynk.cc/

Dependents:   Blynk_RBL_BLE_Nano Blynk_MicroBit Blynk_Serial Blynk_RBL_BLE_Nano

Committer:
Volodymyr Shymanskyy
Date:
Thu Jan 05 14:55:36 2017 +0200
Revision:
9:7369ec77a3ea
Update version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Volodymyr Shymanskyy 9:7369ec77a3ea 1 /**
Volodymyr Shymanskyy 9:7369ec77a3ea 2 * @file WidgetGPS.h
Volodymyr Shymanskyy 9:7369ec77a3ea 3 * @author Volodymyr Shymanskyy
Volodymyr Shymanskyy 9:7369ec77a3ea 4 * @license This project is released under the MIT License (MIT)
Volodymyr Shymanskyy 9:7369ec77a3ea 5 * @copyright Copyright (c) 2015 Volodymyr Shymanskyy
Volodymyr Shymanskyy 9:7369ec77a3ea 6 * @date Oct 2016
Volodymyr Shymanskyy 9:7369ec77a3ea 7 * @brief
Volodymyr Shymanskyy 9:7369ec77a3ea 8 *
Volodymyr Shymanskyy 9:7369ec77a3ea 9 */
Volodymyr Shymanskyy 9:7369ec77a3ea 10
Volodymyr Shymanskyy 9:7369ec77a3ea 11 #ifndef WidgetGPS_h
Volodymyr Shymanskyy 9:7369ec77a3ea 12 #define WidgetGPS_h
Volodymyr Shymanskyy 9:7369ec77a3ea 13
Volodymyr Shymanskyy 9:7369ec77a3ea 14 #ifndef BLYNK_NO_FLOAT
Volodymyr Shymanskyy 9:7369ec77a3ea 15
Volodymyr Shymanskyy 9:7369ec77a3ea 16 #include <Blynk/BlynkWidgetBase.h>
Volodymyr Shymanskyy 9:7369ec77a3ea 17
Volodymyr Shymanskyy 9:7369ec77a3ea 18 class GpsParam
Volodymyr Shymanskyy 9:7369ec77a3ea 19 {
Volodymyr Shymanskyy 9:7369ec77a3ea 20 public:
Volodymyr Shymanskyy 9:7369ec77a3ea 21
Volodymyr Shymanskyy 9:7369ec77a3ea 22 GpsParam(const BlynkParam& param)
Volodymyr Shymanskyy 9:7369ec77a3ea 23 : mLat (0)
Volodymyr Shymanskyy 9:7369ec77a3ea 24 , mLon (0)
Volodymyr Shymanskyy 9:7369ec77a3ea 25 , mAlt (0)
Volodymyr Shymanskyy 9:7369ec77a3ea 26 , mSpeed (0)
Volodymyr Shymanskyy 9:7369ec77a3ea 27 {
Volodymyr Shymanskyy 9:7369ec77a3ea 28 BlynkParam::iterator it = param.begin();
Volodymyr Shymanskyy 9:7369ec77a3ea 29 if (it >= param.end())
Volodymyr Shymanskyy 9:7369ec77a3ea 30 return;
Volodymyr Shymanskyy 9:7369ec77a3ea 31
Volodymyr Shymanskyy 9:7369ec77a3ea 32 mLat = it.asDouble();
Volodymyr Shymanskyy 9:7369ec77a3ea 33
Volodymyr Shymanskyy 9:7369ec77a3ea 34 if (++it >= param.end())
Volodymyr Shymanskyy 9:7369ec77a3ea 35 return;
Volodymyr Shymanskyy 9:7369ec77a3ea 36
Volodymyr Shymanskyy 9:7369ec77a3ea 37 mLon = it.asDouble();
Volodymyr Shymanskyy 9:7369ec77a3ea 38
Volodymyr Shymanskyy 9:7369ec77a3ea 39 if (++it >= param.end())
Volodymyr Shymanskyy 9:7369ec77a3ea 40 return;
Volodymyr Shymanskyy 9:7369ec77a3ea 41
Volodymyr Shymanskyy 9:7369ec77a3ea 42 mAlt = it.asDouble();
Volodymyr Shymanskyy 9:7369ec77a3ea 43
Volodymyr Shymanskyy 9:7369ec77a3ea 44 if (++it >= param.end())
Volodymyr Shymanskyy 9:7369ec77a3ea 45 return;
Volodymyr Shymanskyy 9:7369ec77a3ea 46
Volodymyr Shymanskyy 9:7369ec77a3ea 47 mSpeed = it.asDouble();
Volodymyr Shymanskyy 9:7369ec77a3ea 48 }
Volodymyr Shymanskyy 9:7369ec77a3ea 49
Volodymyr Shymanskyy 9:7369ec77a3ea 50
Volodymyr Shymanskyy 9:7369ec77a3ea 51 double getLat() const { return mLat; }
Volodymyr Shymanskyy 9:7369ec77a3ea 52 double getLon() const { return mLon; }
Volodymyr Shymanskyy 9:7369ec77a3ea 53 double getAltitude() const { return mAlt; }
Volodymyr Shymanskyy 9:7369ec77a3ea 54 double getSpeed() const { return mSpeed; }
Volodymyr Shymanskyy 9:7369ec77a3ea 55
Volodymyr Shymanskyy 9:7369ec77a3ea 56 private:
Volodymyr Shymanskyy 9:7369ec77a3ea 57 double mLat;
Volodymyr Shymanskyy 9:7369ec77a3ea 58 double mLon;
Volodymyr Shymanskyy 9:7369ec77a3ea 59 double mAlt;
Volodymyr Shymanskyy 9:7369ec77a3ea 60 double mSpeed;
Volodymyr Shymanskyy 9:7369ec77a3ea 61 };
Volodymyr Shymanskyy 9:7369ec77a3ea 62
Volodymyr Shymanskyy 9:7369ec77a3ea 63 #endif
Volodymyr Shymanskyy 9:7369ec77a3ea 64
Volodymyr Shymanskyy 9:7369ec77a3ea 65 #endif