A multifunctional and modular Firmware for Multitech's mDot based on ARM mBed provides a widerange of functionality for several Sensors such as MAX44009, BME280, MPU9250, SI1143 and uBlox. It allows you to quickly build a Sensornode that measures specific data with its sensors and sends it via LoRaWAN.

Dependencies:   mDot_LoRa_Sensornode_Flowmeter_impl mbed-rtos mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers uBlox.h Source File

uBlox.h

Go to the documentation of this file.
00001 /**
00002  * @file uBlox.h
00003  *
00004  * @author Adrian
00005  * @date 16.05.2016
00006  *
00007  */
00008 
00009 #include <RawSerial.h>
00010 #include <rtos.h>
00011 #include "Decoder.h "
00012 #include "uBloxConfig.h "
00013 
00014 #ifndef APP_UBLOX_H_
00015 #define APP_UBLOX_H_
00016 
00017 /**
00018  * @class uBlox
00019  * @brief Provides Functionality to control the uBlox
00020  */
00021 class uBlox {
00022 public:
00023     uBlox(mbed::RawSerial*);
00024     virtual ~uBlox();
00025 
00026     /**
00027      * @brief Initializes the uBlox according to the desired uBLOX_MODE
00028      * @param desiredMode the desired Mode depending on which the uBlox has to be
00029      * configured
00030      */
00031     void init(uBLOX_MODE);
00032 
00033     /**
00034      * @brief Gets the GPS Time of Week in ms
00035      */
00036     unsigned long getTimeOfWeekMs();
00037 
00038     /**
00039      * @brief Gets the decoded Latitude of the GPS Coordinate
00040      * @return
00041      */
00042     float getLatitude();
00043 
00044     /**
00045      * @brief Gets the decoded Longitude of the GPS Coordinate
00046      * @return
00047      */
00048     float getLongitude();
00049 
00050     /**
00051      * @brief Gets the decoded height above ellipsoid of the GPS Coordinate
00052      * @return
00053      */
00054     signed long getHeightAboveEllipsoid();
00055 
00056     /**
00057      * @brief Gets the decoded height above mean sea level of the GPS Coordinate
00058      * @return
00059      */
00060     signed long getHeightAboveMeanSeaLevel();
00061 
00062     /**
00063      * @brief Gets the decoded horizontal accuracy of the GPS Coordinate measurement
00064      * @return
00065      */
00066     unsigned long getHorizontalAccuracyEstimate();
00067 
00068     /**
00069      * @brief Gets the decoded vertical accuracy of the GPS Coordinate measurment
00070      * @return
00071      */
00072     unsigned long getVerticalAccuracyEstimate();
00073 
00074 private:
00075     Decoder* decoder;
00076     mbed::RawSerial* serial;
00077 
00078     uBloxConfig* config;
00079 
00080     /**
00081      * @brief Sends a Configuration String via the uart interface of the uBlox
00082      * @param configurationString
00083      */
00084     void sendConfigurationString(std::vector<uint8_t> configurationString);
00085 
00086 };
00087 
00088 #endif /* APP_UBLOX_H_ */