Mbed library to handle GPS data reception and parsing

Dependents:   GPS_U-blox_NEO-6M_Code

Features

  • All positionning parameters are contained into a global data structure.
  • Automatic nema string parsing and data structure update.
    • GSA,GGA,VTG and RMC
  • Convert latitude and longitude to decimal value.
  • Converts latittude,longitude and altitude to ECEF coordinates.

Planed developement

  • Test library for RTOS use.
  • Complete the nema parsing decoders (couple of parameters are not parsed yet and not present in the data structure).
  • Add conversion tool to get ENU coordinates.

utils/CircularBuffer.h

Committer:
chris215
Date:
2016-02-16
Revision:
5:8a73e34b3978
Parent:
0:0c1aa5906cef

File content as of revision 5:8a73e34b3978:

template< class T >
class CircularBuffer{
    public:
        CircularBuffer(int FIFOsize)
        {
            m_FIFO = new T[FIFOsize];
            m_size = FIFOsize;
            m_elementcount = 0;
            m_outindex = 0;
        };
        ~CircularBuffer()
        {
            delete[] m_FIFO;          
        };
        T Get()
        {
            m_elementcount--;
            return m_FIFO[(m_outindex++)%m_size];
        };
        void Put(T n)
        {
            m_elementcount++;
            m_FIFO[(m_elementcount+m_outindex)%m_size] = n;
        };
        long GetElementCount()
        {
            return m_elementcount;
        };
    private:
        long    m_size;
        long    m_elementcount;
        long    m_outindex;
        T*      m_FIFO;
    };