#pragma once

#include <string>
#include <ctime>

#define IOPORT UARTBase
#define GPS_MAX_MESSAGE_SIZE (uint32_t)256
//#define GPS_QUEUE_DEPTH (uint8_t)32

class GPS1
{
public:
	GPS1()
	{
	}
	
	void init();
	int8_t getPositionPUBX00(void);
	void getTimePUBX04();
	const std::string getRXBufferString(void);
	tm get_tofCPF(void);
	void synchRTCtoGPS(bool logResults);
	bool isXferDone();
	void logEngFileHeader();

private:
	const std::string gpsID {"GPS1"};
	
	bool xferInProgress = false;
};