Compare commits
1 Commits
dev-lzm
...
developmen
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b40b2c736f |
@@ -7,23 +7,33 @@
|
||||
function _logger(source, ctx) { return ctx?.logger || source?.logger || null; }
|
||||
function _send(ctx, ports) { if (typeof ctx?.send === 'function') ctx.send(ports); }
|
||||
|
||||
// Resolve the command origin (control authority: parent | GUI | fysical).
|
||||
// The shared commandRegistry stamps msg.origin (default 'parent'); legacy flows
|
||||
// carried it as payload.source. Prefer the legacy field when present so existing
|
||||
// flows keep working, otherwise use the registry-stamped msg.origin.
|
||||
function _origin(msg) {
|
||||
const p = msg && msg.payload;
|
||||
if (p && typeof p === 'object' && typeof p.source === 'string' && p.source) return p.source;
|
||||
return (typeof msg?.origin === 'string' && msg.origin) ? msg.origin : 'parent';
|
||||
}
|
||||
|
||||
exports.setMode = (source, msg) => {
|
||||
source.setMode(msg.payload);
|
||||
};
|
||||
|
||||
exports.startup = async (source, msg) => {
|
||||
const p = msg.payload || {};
|
||||
await source.handleInput(p.source ?? 'parent', 'execSequence', 'startup');
|
||||
await source.handleInput(_origin(msg), 'execSequence', 'startup');
|
||||
};
|
||||
|
||||
exports.shutdown = async (source, msg) => {
|
||||
const p = msg.payload || {};
|
||||
await source.handleInput(p.source ?? 'parent', 'execSequence', 'shutdown');
|
||||
await source.handleInput(_origin(msg), 'execSequence', 'shutdown');
|
||||
};
|
||||
|
||||
exports.estop = async (source, msg) => {
|
||||
const p = msg.payload || {};
|
||||
await source.handleInput(p.source ?? 'parent', p.action ?? 'emergencystop');
|
||||
await source.handleInput(_origin(msg), p.action ?? 'emergencystop');
|
||||
};
|
||||
|
||||
// Legacy umbrella: payload.action selects the canonical verb.
|
||||
@@ -41,7 +51,7 @@ exports.execSequenceAlias = async (source, msg, ctx) => {
|
||||
exports.setPosition = async (source, msg) => {
|
||||
const p = msg.payload || {};
|
||||
const action = p.action ?? 'execMovement';
|
||||
await source.handleInput(p.source ?? 'parent', action, Number(p.setpoint));
|
||||
await source.handleInput(_origin(msg), action, Number(p.setpoint));
|
||||
};
|
||||
|
||||
exports.dataFlow = (source, msg) => {
|
||||
|
||||
Reference in New Issue
Block a user