diff --git a/public/boardViewer.html b/public/boardViewer.html index 2699078..41c279a 100644 --- a/public/boardViewer.html +++ b/public/boardViewer.html @@ -1132,7 +1132,15 @@ async function initAll() { } if (IS_HOMING) { - document.getElementById('status').textContent = '→ Homing-Run starten …'; + // Robot-Modell mit Defaultposition sofort laden (kein Board-Run nötig) + fetch('/api/robot').then(r => r.ok ? r.json() : null).then(robot => { + if (!robot) return; + _currentRobot = robot; + buildSkeletonFK(robot, robot.defaultPosition ?? {}); + document.getElementById('status').textContent = '→ Homing-Run starten …'; + }).catch(() => { + document.getElementById('status').textContent = '→ Homing-Run starten …'; + }); } else { initAll(); } diff --git a/server/server.js b/server/server.js index 547c7b3..9c2b2d2 100755 --- a/server/server.js +++ b/server/server.js @@ -916,6 +916,19 @@ app.post('/api/robot/remove-marker', async (req, res) => { } }); +/** + * GET /api/robot + * Gibt robot.json zurück (ohne Board-Run-Daten). + */ +app.get('/api/robot', async (req, res) => { + try { + const robot = JSON.parse(await fsPromises.readFile(ROBOT_JSON, 'utf8')); + return res.json(robot); + } catch (err) { + return res.status(500).json({ error: String(err) }); + } +}); + /** * GET /api/robot/board-sets * Gibt die einzigartigen "set"-Werte aller Marker in links.Board zurück.