IMU eingebaut

This commit is contained in:
Eskimue
2026-05-28 14:52:28 +02:00
parent 7a9e0ae62e
commit 580029730a
3 changed files with 210 additions and 3 deletions
+68
View File
@@ -96,6 +96,49 @@
<strong id="service_exomy" class="sr-val service_state state_unknown">-</strong>
</div>
</div>
<div class="panel">
<div class="p-hdr">
<div class="p-dot"></div>
<span class="p-lbl">IMU BNO085</span>
<span class="p-tag">I2C 0x4A</span>
</div>
<div class="sr">
<span class="sr-led led-blue"></span>
<span class="sr-key">Status</span>
<strong id="imu_state" class="sr-val service_state state_unknown">-</strong>
</div>
<div class="sr">
<span class="sr-led led-off"></span>
<span class="sr-key">Adresse</span>
<strong id="imu_address" class="sr-val">-</strong>
</div>
<div class="sr">
<span class="sr-led led-off"></span>
<span class="sr-key">Accel</span>
<strong id="imu_acceleration" class="sr-val">-</strong>
</div>
<div class="sr">
<span class="sr-led led-off"></span>
<span class="sr-key">Gyro</span>
<strong id="imu_gyro" class="sr-val">-</strong>
</div>
<div class="sr">
<span class="sr-led led-off"></span>
<span class="sr-key">Mag</span>
<strong id="imu_magnetic" class="sr-val">-</strong>
</div>
<div class="sr">
<span class="sr-led led-off"></span>
<span class="sr-key">Quaternion</span>
<strong id="imu_quaternion" class="sr-val">-</strong>
</div>
<div class="sr">
<span class="sr-led led-off"></span>
<span class="sr-key">Hinweis</span>
<strong id="imu_error" class="sr-val">-</strong>
</div>
</div>
</div>
<div class="admin-col">
@@ -934,6 +977,13 @@
setServiceState('camera_service_state', '-');
setServiceState('service_admin_api', '-');
setServiceState('service_exomy', '-');
setStateText('imu_state', 'unknown', '-');
setText('imu_address', '--');
setText('imu_acceleration', '--');
setText('imu_gyro', '--');
setText('imu_magnetic', '--');
setText('imu_quaternion', '--');
setText('imu_error', '--');
var bar = document.getElementById('bar-temp-adm');
if (bar) bar.style.width = '0%';
}
@@ -1147,6 +1197,16 @@
node.classList.add('state_unknown');
}
function setStateText(id, state, text) {
var node = document.getElementById(id);
if (!node) return;
node.textContent = text || '-';
node.classList.remove('state_active', 'state_inactive', 'state_unknown');
if (state === 'active' || state === 'running') { node.classList.add('state_active'); return; }
if (state === 'inactive' || state === 'failed' || state === 'exited') { node.classList.add('state_inactive'); return; }
node.classList.add('state_unknown');
}
function formatNumber(value, digits) {
return Number(value || 0).toLocaleString('de-DE', {
minimumFractionDigits: digits,
@@ -2428,6 +2488,7 @@
function renderStatus(data) {
var system = data.system || {};
var services = data.services || {};
var imu = data.imu || {};
setAdminStatus(data.status || 'Bereit');
setText('info_ips', system.ips);
setText('info_wifi', system.wifi);
@@ -2463,6 +2524,13 @@
setServiceState('camera_service_state', services.camera);
setServiceState('service_admin_api', services.admin_api);
setServiceState('service_exomy', services.exomy);
setStateText('imu_state', imu.state || 'unknown', imu.status || '-');
setText('imu_address', imu.address);
setText('imu_acceleration', imu.acceleration);
setText('imu_gyro', imu.gyro);
setText('imu_magnetic', imu.magnetic);
setText('imu_quaternion', imu.quaternion);
setText('imu_error', imu.error || '-');
}
async function fetchStatus() {