-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathChrono.h
68 lines (57 loc) · 1.31 KB
/
Chrono.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
* Chrono.h
*
* Created on: 16/ago/2014
* Author: Tongo
*/
#ifndef CHRONO_H_
#define CHRONO_H_
#include <ILI9341_due.h>
#include <SdFat.h>
#include <TouchScreen.h>
#include <ArduinoJson.h>
#include "LapTimer.h"
#include "ChronoGui.h"
#include "Adafruit_GPS.h"
#include "Track.h"
#include "GpsPoint.h"
#include "TouchScreenManager.h"
class Chrono {
public:
Chrono(ILI9341_due* lcdTft, Adafruit_GPS* gpsSensor, HardwareSerial *gpsSerial);
virtual ~Chrono();
void loopChrono(void);
void setLogSdCard(SdFat* sd);
void setTouchScreen(TouchScreen* touchScreen);
// TEST
boolean simulateNewLap;
private:
void logPositionToSdCard(GpsPoint* intersectionPoint);
void logLapToSdCard();
void logNmeaToSdCard(char* nmea);
void handleUserOperation(int operation);
void loadTrack(bool nextTrack);
void changeTimerState (bool state);
void changeLapDelayState();
void updateLapDelay();
LapTimer lapTimer;
bool isTimerRunning;
bool lapTimerDelayBest;
ChronoGui chronoGui;
Adafruit_GPS* gps;
Track* track;
// GPS
boolean gpsFixState;
long gpsFixStateLedTimestamp;
int8_t gpsStelliteNumber;
GpsPoint lastPoint;
GpsPoint newPoint;
SdFat* sd;
bool useSdCard;
char* logFileDirName;
SdFile* logFile;
SdFile* logNmeaFile;
// TouchScreen
TouchScreenManager* touchScreenManager;
};
#endif /* CHRONO_H_ */