bench mode: live camera via thermald, blinking telemetry indicator

- Unblocked thermald and camerad — thermald manages CPU cores and reads
  fake pandaStates for ignition, bench no longer publishes deviceState
- camerad starts with live camera feed on bench
- Force nvg->update() every frame for HUD repaint without camera dependency
- Blue blinking telemetry circle uses getBool pattern
- camerad debug logging for startup diagnostics

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-13 03:10:06 +00:00
parent 3edc1972c8
commit b70543a003
4 changed files with 22 additions and 22 deletions

View File

@@ -7,17 +7,27 @@
#include "system/hardware/hw.h"
int main(int argc, char *argv[]) {
fprintf(stderr, "camerad: starting\n");
if (Hardware::PC()) {
printf("exiting, camerad is not meant to run on PC\n");
fprintf(stderr, "camerad: exiting, not meant to run on PC\n");
return 0;
}
int ret;
fprintf(stderr, "camerad: setting realtime priority 53\n");
ret = util::set_realtime_priority(53);
fprintf(stderr, "camerad: set_realtime_priority ret=%d\n", ret);
assert(ret == 0);
ret = util::set_core_affinity({6});
assert(ret == 0 || Params().getBool("IsOffroad")); // failure ok while offroad due to offlining cores
fprintf(stderr, "camerad: setting core affinity to cpu6\n");
ret = util::set_core_affinity({6});
bool isOffroad = Params().getBool("IsOffroad");
fprintf(stderr, "camerad: set_core_affinity ret=%d, IsOffroad=%d\n", ret, isOffroad);
assert(ret == 0 || isOffroad); // failure ok while offroad due to offlining cores
fprintf(stderr, "camerad: starting camerad_thread\n");
camerad_thread();
fprintf(stderr, "camerad: camerad_thread returned\n");
return 0;
}