Initial Vec2 impl ready for algo

This commit is contained in:
2026-03-31 00:24:48 +02:00
parent 5e19e7daa8
commit 46c652181c
8 changed files with 90 additions and 22 deletions

View File

@@ -149,7 +149,7 @@ int Cmd::dumpTrackSlot(unsigned short id) {
configGlobalRead(config);
bool occupied = config.track_slot_occupied_[id - 1];
TrackData track_data;
GlobalTrackData track_data;
int result = trackGlobalRead(id, track_data);
if (result != 0) {
#ifdef ERROR
@@ -164,12 +164,12 @@ int Cmd::dumpTrackSlot(unsigned short id) {
if (logger_ != nullptr) {
logger_->info("Track dump for slot " + String(id));
logger_->info(String("\tOccupied flag: ") + String(occupied));
logger_->info(String("\tID: ") + String(track_data.id_));
logger_->info(String("\tName: ") + String(track_data.name_));
logger_->info(String("\tPoint A lat: ") + String(track_data.point_a_.lat_, 6));
logger_->info(String("\tPoint A lng: ") + String(track_data.point_a_.lng_, 6));
logger_->info(String("\tPoint B lat: ") + String(track_data.point_b_.lat_, 6));
logger_->info(String("\tPoint B lng: ") + String(track_data.point_b_.lng_, 6));
logger_->info(String("\tID: ") + String(track_data.root_.id_));
logger_->info(String("\tName: ") + String(track_data.root_.name_));
logger_->info(String("\tPoint A lat: ") + String(track_data.root_.point_a_.lat_, 6));
logger_->info(String("\tPoint A lng: ") + String(track_data.root_.point_a_.lng_, 6));
logger_->info(String("\tPoint B lat: ") + String(track_data.root_.point_b_.lat_, 6));
logger_->info(String("\tPoint B lng: ") + String(track_data.root_.point_b_.lng_, 6));
}
#endif

View File

@@ -68,7 +68,10 @@ int Config::deleteTrack(unsigned short idx) {
if (is_track_loaded_ && loaded_track_.id_ == idx) {
is_track_loaded_ = false;
loaded_track_ = {};
trackGlobalWrite(loaded_track_);
GlobalTrackData track;
track.loaded = false;
track.root_ = loaded_track_;
trackGlobalWrite(track);
}
int write_result = this->writeConfig();
@@ -88,7 +91,10 @@ int Config::resetConfig() {
loaded_track_ = {};
task_memory_stale_ = true;
no_tracks_notice_shown_ = false;
trackGlobalWrite(loaded_track_);
GlobalTrackData track;
track.loaded = false;
track.root_ = loaded_track_;
trackGlobalWrite(track);
#ifdef INFO
if (logger_ != nullptr) {
@@ -373,7 +379,10 @@ int Config::loadTrack(unsigned int idx) {
}
loaded_track_ = track_data;
trackGlobalWrite(loaded_track_);
GlobalTrackData track;
track.loaded = true;
track.root_ = track_data;
trackGlobalWrite(track);
is_track_loaded_ = true;
router::send(module::All, task::AllTrackLoaded);
return 0;

View File

@@ -50,6 +50,13 @@ int Gps::loop(unsigned long timeout_ms) {
}
}
if (lap_active_) {
if (start_line_trigger_ == trigger_status::Idle) {
float current_lat = gps_->location.lat();
float current_lng = gps_->location.lat();
}
}
Task active;
int res = queue_.pop(active);
if (res == 0) {

View File

@@ -195,11 +195,11 @@ int Lcd::renderMsgTrackDetectOk() {
display_->setCursor(3, 1);
this->print("TRACK DETECTED");
TrackData track_data;
GlobalTrackData track_data;
trackGlobalRead(track_data);
display_->setCursor((20 - strlen(track_data.name_)) / 2, 2);
this->print(track_data.name_);
display_->setCursor((20 - strlen(track_data.root_.name_)) / 2, 2);
this->print(track_data.root_.name_);
return 0;
}