12#ifndef _COURSE_MANAGER_H
13#define _COURSE_MANAGER_H
49 int loop(
double lat,
double lng,
float altMeters,
float speedKnots);
78 template<
typename... Args>
79 void debug_print(Args&&... args) {
80 if(_serial) { _serial->print(std::forward<Args>(args)...); }
82 template<
typename... Args>
83 void debug_println(Args&&... args) {
84 if(_serial) { _serial->println(std::forward<Args>(args)...); }
88 void _handleCandidatesReady(
float currentOdometer);
89 void _activateLapAnything();
92 double _crossingThreshold;
100 int _activeCourseIndex;
101 bool _detectionComplete;
102 bool _lapAnythingActive;
103 int _detectionRejectionCount;
105 const char* _trackLongName;
106 const char* _trackShortName;
#define MAX_COURSES
Definition DovesLapTimer.h:45
void loop()
Definition basic_oled_example.ino:116
Definition CourseDetector.h:30
Definition CourseManager.h:44
void setSpeedThresholdMph(float mph)
Definition CourseManager.cpp:252
const char * getShortName() const
Definition CourseManager.cpp:244
void setDetectionProximityMeters(float meters)
Definition CourseManager.cpp:261
int getActiveCourseIndex() const
Definition CourseManager.cpp:208
void updateCurrentTime(unsigned long ms)
Definition CourseManager.cpp:87
WaypointLapTimer * getLapAnythingTimer()
Definition CourseManager.cpp:232
void reset()
Definition CourseManager.cpp:182
const char * getActiveCourseName() const
Definition CourseManager.cpp:212
DovesLapTimer * getActiveTimer()
Definition CourseManager.cpp:226
CourseDetector * getDetector()
Definition CourseManager.cpp:248
void setWaypointProximityMeters(float meters)
Definition CourseManager.cpp:257
void pruneInactiveCourses()
Definition CourseManager.cpp:172
bool isDetectionComplete() const
Definition CourseManager.cpp:204
const char * getTrackName() const
Definition CourseManager.cpp:240
int getDetectionRejectionCount() const
Definition CourseManager.cpp:222
int getCourseCount() const
Definition CourseManager.cpp:218
bool isLapAnythingActive() const
Definition CourseManager.cpp:236
Definition DovesLapTimer.h:86
Definition WaypointLapTimer.h:37
Definition CourseManager.h:20
double startALat
Definition CourseManager.h:23
double startBLat
Definition CourseManager.h:23
double sector3BLat
Definition CourseManager.h:25
bool hasSector3
Definition CourseManager.h:27
double sector3ALat
Definition CourseManager.h:25
double startBLng
Definition CourseManager.h:23
const char * name
Definition CourseManager.h:21
double sector3ALng
Definition CourseManager.h:25
double sector3BLng
Definition CourseManager.h:25
double sector2ALat
Definition CourseManager.h:24
double sector2ALng
Definition CourseManager.h:24
double sector2BLng
Definition CourseManager.h:24
bool hasSector2
Definition CourseManager.h:26
double startALng
Definition CourseManager.h:23
double sector2BLat
Definition CourseManager.h:24
float lengthFt
Definition CourseManager.h:22
Definition CourseManager.h:37
const char * name
Definition CourseManager.h:39
float lengthFt
Definition CourseManager.h:40
bool active
Definition CourseManager.h:41
DovesLapTimer timer
Definition CourseManager.h:38
Definition CourseManager.h:30
int courseCount
Definition CourseManager.h:34
const char * shortName
Definition CourseManager.h:32
const char * longName
Definition CourseManager.h:31
CourseConfig courses[MAX_COURSES]
Definition CourseManager.h:33