chore(firmware): mark TODOs for the dev-only 60s polling cap

Three cross-referenced markers — config.h, operation.h, and FW-10 in the
test file — calling out that the FETCH_INTERVAL_MS cap is intentionally
holding the polling rate at 1 minute for dev iteration. Once the firmware
is stable and we want the device to honor the app's per-frame
rotationIntervalMinutes / wakeHour settings, the cap in operation.h
becomes a sanity-clamp (e.g., 30 s ≤ sleep ≤ 25 h) and the no-header
fallback splits into its own constant.

Behavior unchanged — comments only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-07 12:37:59 -04:00
parent a6ed67a3f4
commit 8915a3d1f4
3 changed files with 28 additions and 2 deletions
+6 -1
View File
@@ -271,7 +271,12 @@ void test_fw09_server_interval_honored() {
TEST_ASSERT_EQUAL_UINT64(30000ULL * 1000ULL, g_sleep_us);
}
// FW-10: server interval > FETCH_INTERVAL_MS → capped at ceiling
// FW-10: server interval > FETCH_INTERVAL_MS → capped at ceiling.
// TODO(post-dev): when the cap in operation.h is removed (so the device
// honors the app's rotationIntervalMinutes / wakeHour settings), this
// test should flip to assert sleepMs == 999999999 (or whatever the
// server-side max is, e.g. 25 h clamp). See operation.h:~140 and the
// matching TODO in config.h on FETCH_INTERVAL_MS.
void test_fw10_server_interval_capped() {
g_http_response_headers["X-Interval-Ms"] = "999999999";
g_http_response_headers["X-Image-Id"] = "1";