Updated without Vector
This commit is contained in:
@@ -116,12 +116,13 @@ function onResponse(msg) {
|
||||
try {
|
||||
const data = msg.data ? JSON.parse(msg.data) : null;
|
||||
switch (msg.tag) {
|
||||
case 'DISCOVER': if (data) processDiscovery(data.Signals || []); break;
|
||||
case 'TREE': if (data) processTree(data); break;
|
||||
case 'INFO': showInfo(msg.tag, msg.data); break;
|
||||
case 'CONFIG': showInfo('CONFIG', msg.data); break;
|
||||
case 'STEP_STATUS': processStepStatus(data); break;
|
||||
case 'VALUE': processValue(data); break;
|
||||
case 'DISCOVER': if (data) processDiscovery(data.Signals || []); break;
|
||||
case 'TREE': if (data) processTree(data); break;
|
||||
case 'INFO': showInfo(msg.tag, msg.data); break;
|
||||
case 'CONFIG': showInfo('CONFIG', msg.data); break;
|
||||
case 'SERVICE_INFO': showInfo('Service Info', msg.data); break;
|
||||
case 'STEP_STATUS': processStepStatus(data); break;
|
||||
case 'VALUE': processValue(data); break;
|
||||
}
|
||||
} catch(e) {
|
||||
// non-JSON responses (TRACE, FORCE, etc.) — silently ignore
|
||||
@@ -144,7 +145,12 @@ function onLog(msg) {
|
||||
}
|
||||
|
||||
function onServiceConfig(msg) {
|
||||
appendLog('sys','INFO',`ServiceConfig: UDP=${msg.udp_port} LOG=${msg.log_port}`);
|
||||
const auto = document.getElementById('auto-ports')?.checked ?? true;
|
||||
if (auto) {
|
||||
if (msg.udp_port) document.getElementById('udp-port').value = msg.udp_port;
|
||||
if (msg.log_port) document.getElementById('log-port').value = msg.log_port;
|
||||
}
|
||||
appendLog('sys','INFO',`ServiceConfig: UDP=${msg.udp_port} LOG=${msg.log_port}${auto ? '' : ' (ignored — manual ports)'}`);
|
||||
}
|
||||
|
||||
function onUdpStats(msg) {
|
||||
@@ -684,13 +690,33 @@ function showInfo(title, data) {
|
||||
// Connect / Disconnect
|
||||
// ════════════════════════════════════════════════════════════════════
|
||||
|
||||
function requireConnected() {
|
||||
if (!marteConnected) {
|
||||
appendLog('sys', 'WARNING', 'Not connected to MARTe2');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function discoverCmd() { if (requireConnected()) { sendCmd('DISCOVER'); closeAllMenus(); } }
|
||||
function treeCmd() { if (requireConnected()) { sendCmd('TREE'); closeAllMenus(); } }
|
||||
function serviceInfoCmd() { if (requireConnected()) { sendCmd('SERVICE_INFO'); closeAllMenus(); } }
|
||||
|
||||
function toggleAutoPorts(auto) {
|
||||
const row = document.getElementById('port-manual-row');
|
||||
if (row) row.style.display = auto ? 'none' : 'flex';
|
||||
}
|
||||
|
||||
function toggleConnect() {
|
||||
if (marteConnected) {
|
||||
sendWS({type:'disconnect'});
|
||||
} else {
|
||||
const host = document.getElementById('host').value.trim() || '127.0.0.1';
|
||||
const port = parseInt(document.getElementById('port').value) || 8080;
|
||||
sendWS({type:'connect', data:{host, port, udp_port:port+1, log_port:port+2}});
|
||||
const host = document.getElementById('host').value.trim() || '127.0.0.1';
|
||||
const port = parseInt(document.getElementById('port').value) || 8080;
|
||||
const auto = document.getElementById('auto-ports').checked;
|
||||
const udpPort = auto ? port + 1 : (parseInt(document.getElementById('udp-port').value) || port + 1);
|
||||
const logPort = auto ? port + 2 : (parseInt(document.getElementById('log-port').value) || port + 2);
|
||||
sendWS({type:'connect', data:{host, port, udp_port:udpPort, log_port:logPort}});
|
||||
}
|
||||
closeAllMenus();
|
||||
}
|
||||
|
||||
@@ -176,15 +176,27 @@ select{background:#313244;border:1px solid #45475a;color:#cdd6f4;padding:2px 4px
|
||||
</button>
|
||||
<div class="dropdown" id="conn-dropdown">
|
||||
<div class="menu-row">
|
||||
<input type="text" id="host" value="127.0.0.1" placeholder="host">
|
||||
<input type="number" id="port" value="8080" placeholder="port">
|
||||
<input type="text" id="host" value="127.0.0.1" placeholder="host" style="flex:2">
|
||||
<input type="number" id="port" value="8080" placeholder="ctrl" style="width:60px">
|
||||
<button id="btn-connect" onclick="toggleConnect()">Connect</button>
|
||||
</div>
|
||||
<div class="menu-row" id="port-manual-row" style="display:none">
|
||||
<label style="color:#a6adc8;font-size:11px;flex-shrink:0">UDP:</label>
|
||||
<input type="number" id="udp-port" value="8081" placeholder="udp" style="width:72px">
|
||||
<label style="color:#a6adc8;font-size:11px;flex-shrink:0">Log:</label>
|
||||
<input type="number" id="log-port" value="8082" placeholder="log" style="width:72px">
|
||||
</div>
|
||||
<div class="menu-row">
|
||||
<label class="form-check" style="margin:0;font-size:11px">
|
||||
<input type="checkbox" id="auto-ports" checked onchange="toggleAutoPorts(this.checked)">
|
||||
<span style="color:#a6adc8">Auto ports (SERVICE_INFO)</span>
|
||||
</label>
|
||||
</div>
|
||||
<hr class="menu-sep">
|
||||
<div class="menu-btn-row">
|
||||
<button onclick="sendCmd('DISCOVER');closeAllMenus()">Discover</button>
|
||||
<button onclick="sendCmd('TREE');closeAllMenus()">Tree</button>
|
||||
<button onclick="sendCmd('SERVICE_INFO');closeAllMenus()">Info</button>
|
||||
<button onclick="discoverCmd()">Discover</button>
|
||||
<button onclick="treeCmd()">Tree</button>
|
||||
<button onclick="serviceInfoCmd()">Info</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user