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