Heartbeat

This commit is contained in:
chk
2026-06-12 17:03:38 +02:00
parent 4db6c472b7
commit 6fc6605080
11 changed files with 342 additions and 32 deletions

View File

@@ -69,6 +69,12 @@ describe('RobotConfig.load — Vollständige robot.json', () => {
expect(cfg.controllers.hand.ip).toBe('fluidNcHand.local');
});
test('heartbeatInterval Default wenn nicht in robot.json', () => {
expect(cfg.controllers.base.heartbeatInterval).toBe(DEFAULTS.controllers.base.heartbeatInterval);
expect(cfg.controllers.elbow.heartbeatInterval).toBe(DEFAULTS.controllers.elbow.heartbeatInterval);
expect(cfg.controllers.hand.heartbeatInterval).toBe(DEFAULTS.controllers.hand.heartbeatInterval);
});
test('axesByController gibt korrektes Array zurück', () => {
expect(cfg.axesByController('base')).toEqual(['x', 'y', 'z']);
expect(cfg.axesByController('elbow')).toEqual(['a', null, null]);
@@ -148,3 +154,26 @@ describe('RobotConfig.load — speedMode correct', () => {
expect(cfg.motion.useSpeedCalc).toBe(true);
});
});
describe('RobotConfig.load — heartbeatInterval', () => {
test('heartbeatInterval aus robot.json überschreibt Default', () => {
const json = {
...FULL_ROBOT_JSON,
controllers: {
...FULL_ROBOT_JSON.controllers,
base: { ...FULL_ROBOT_JSON.controllers.base, heartbeatInterval: 5000 },
elbow: { ...FULL_ROBOT_JSON.controllers.elbow, heartbeatInterval: 30000 },
}
};
const cfg = load(makeFs(JSON.stringify(json)), {}, log);
expect(cfg.controllers.base.heartbeatInterval).toBe(5000);
expect(cfg.controllers.elbow.heartbeatInterval).toBe(30000);
// hand nicht gesetzt → Default
expect(cfg.controllers.hand.heartbeatInterval).toBe(DEFAULTS.controllers.hand.heartbeatInterval);
});
test('fehlende heartbeatInterval → Default (10 000 ms)', () => {
const cfg = load(makeFailFs(), {}, log);
expect(cfg.controllers.base.heartbeatInterval).toBe(10000);
});
});