UI verbessern
This commit is contained in:
@@ -667,17 +667,31 @@ app.get('/api/board/runs', async (req, res) => {
|
||||
});
|
||||
|
||||
/**
|
||||
* GET /api/board/latest?run=<timestamp>
|
||||
* GET /api/board/latest?run=<timestamp>&from=homing
|
||||
* Gibt Daten eines Board-Runs zurück: robot.json + Detection-Ergebnisse + Kamera-Posen.
|
||||
* Ohne ?run → neuester Run. Mit ?run=<timestamp> → genau dieser Run.
|
||||
* ?from=homing → liest aus data/homing/ statt data/board/ (für boardViewer im Homing-Mode).
|
||||
* Wird vom Board-Viewer (boardViewer.html) abgefragt.
|
||||
*/
|
||||
app.get('/api/board/latest', async (req, res) => {
|
||||
try {
|
||||
const runName = req.query.run || await findLatestBoardRun();
|
||||
const fromHoming = req.query.from === 'homing';
|
||||
const dataDir = fromHoming ? homingDataDir : boardDataDir;
|
||||
|
||||
let runName = req.query.run;
|
||||
if (!runName) {
|
||||
if (fromHoming) {
|
||||
try {
|
||||
const entries = await fsPromises.readdir(dataDir, { withFileTypes: true });
|
||||
runName = entries.filter(e => e.isDirectory()).map(e => e.name).sort().reverse()[0] ?? null;
|
||||
} catch { runName = null; }
|
||||
} else {
|
||||
runName = await findLatestBoardRun();
|
||||
}
|
||||
}
|
||||
if (!runName) return res.json({ runDir: null, robot: null, detections: [], cameraPoses: [] });
|
||||
|
||||
const runDir = path.join(boardDataDir, runName);
|
||||
const runDir = path.join(dataDir, runName);
|
||||
|
||||
let robot = null;
|
||||
try { robot = JSON.parse(await fsPromises.readFile(ROBOT_JSON, 'utf8')); } catch {}
|
||||
|
||||
Reference in New Issue
Block a user