feat(cv): add CVTuning struct and NVS persistence scaffolding

Adds CVTuning to CVState, populates defaults from existing file-scope
constants in cv_init, and introduces config_load_tuning/config_save_tuning
backed by the doorcounter NVS namespace. No runtime behavior change yet;
CV code still reads the existing constants (Task 2 will migrate reads).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-16 15:45:53 -07:00
parent 9d5b588231
commit e28a4c1863
5 changed files with 92 additions and 0 deletions

View File

@@ -15,6 +15,12 @@ void cv_init(CVState& state) {
state.tracks.clear();
state.entries = 0;
state.exits = 0;
state.tuning.diff_thresh = CV_DIFF_THRESH;
state.tuning.min_blob_px = CV_MIN_BLOB_PX;
state.tuning.max_move = CV_MAX_MOVE;
state.tuning.max_missed = CV_MAX_MISSED;
state.tuning.line_offset = 50;
state.tuning.cfg_version = 0;
}
void cv_reset_counts(CVState& state) {