Fix vision pipeline: search-first IPM, IMU non-blocking, LCD inverse IPM, servo direction, model WIP

This commit is contained in:
2026-05-25 13:57:47 +08:00
parent 610f0a7549
commit 235ec4c41e
15 changed files with 260 additions and 87 deletions

30
model/test_model.cpp Normal file
View File

@@ -0,0 +1,30 @@
#include "model/model.hpp"
#include <cstdio>
#include <cstring>
#include <cstdlib>
int main()
{
if (!model_init("./model/nanodet.bin")) {
printf("model_init failed\n");
return 1;
}
// 造一张假 160×120×3 测试图
uint8_t* img = new uint8_t[160*120*3];
std::memset(img, 128, 160*120*3);
DetectBox boxes[16];
for (int i = 0; i < 5; ++i) {
int n = model_detect(img, 160, 120, boxes, 16, 0.3f);
printf("run %d: %d detections\n", i, n);
for (int j = 0; j < n; ++j)
printf(" cls=%d conf=%.3f xy=(%.0f,%.0f)\n",
boxes[j].cls, boxes[j].conf, boxes[j].cx, boxes[j].cy);
}
delete[] img;
model_deinit();
printf("OK\n");
return 0;
}