NetBurner 3.5.7
PDF Version
GPSTime.h
1#pragma once
2#include <stddef.h>
3
4class GPSTime
5{
6 public:
7 // time
8 int hours;
9 int minutes;
10 int seconds;
11 int milliseconds;
12
13 // date
14 int day;
15 int month;
16 int year;
17
18 GPSTime();
19
20 // Set from NMEA-style time string: hhmmss[.sss]
21 void setFromNMEATime(const char *timeStr);
22 // Set from NMEA-style date string: ddmmyy
23 void setFromNMEADate(const char *dateStr);
24
25 // Get formatted time strings
26 void getTimeString(char *buffer, size_t bufferSize) const; // "HH:mm:ss"
27 void getTimeStringWithMillis(char *buffer, size_t bufferSize) const; // "HH:mm:ss.sss"
28 void getTimeISOStringWithMillis(char *buffer, size_t bufferSize) const; // "YYYY-MM-DDTHH:mm:ss.sss"
29
30 // Utility
31 bool isValid() const;
32 void reset();
33 int getEpochTime() const
34 {
35 return (year - 1970) * 365 * 24 * 3600 + (month - 1) * 30 * 24 * 3600 + (day - 1) * 24 * 3600 + hours * 3600 + minutes * 60 +
36 seconds;
37 }
38};