diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/bin/firmware-config.py b/overlays/firmware-extended/10-firmware-config/root/usr/local/bin/firmware-config.py index ca92ddec..a122dbce 100755 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/bin/firmware-config.py +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/bin/firmware-config.py @@ -305,6 +305,8 @@ def handle_get_settings(self): settings_list.append({ "id": setting_id, "label": config["label"], + "description": config.get("description"), + "help_url": config.get("help_url"), "current": current_value, "options": options_data }) @@ -389,6 +391,8 @@ def handle_get_actions(self): actions_list.append({ "id": action_id, "label": cfg.get("label", action_id), + "description": cfg.get("description"), + "help_url": cfg.get("help_url"), "confirm": cfg.get("confirm", False), "background": cfg.get("background", False), "download_file": cfg.get("download_file") diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/05_settings.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/05_settings.yaml new file mode 100644 index 00000000..440bf3c3 --- /dev/null +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/05_settings.yaml @@ -0,0 +1,11 @@ +settings: + web: + label: Web + camera: + label: Camera + remote_access: + label: Remote Access + tweaks: + label: Tweaks + monitoring_debugging: + label: Monitoring & Debugging diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/06_actions.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/06_actions.yaml new file mode 100644 index 00000000..37ac6b1e --- /dev/null +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/06_actions.yaml @@ -0,0 +1,9 @@ +actions: + troubleshooting: + label: Troubleshooting + recovery: + label: Recovery + services: + label: Services + system: + label: System diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/12_settings_firmware_config.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/12_settings_firmware_config.yaml index 16959482..54d6b854 100644 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/12_settings_firmware_config.yaml +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/12_settings_firmware_config.yaml @@ -1,9 +1,9 @@ settings: web: - label: Web items: firmware-config: label: Firmware Config + description: Enable or disable this web configuration interface. get_cmd: - /usr/local/bin/extended-config.py - get diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/15_settings_security.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/15_settings_security.yaml index d9abcda9..b2837f20 100644 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/15_settings_security.yaml +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/15_settings_security.yaml @@ -1,9 +1,9 @@ settings: remote_access: - label: Remote Access items: authorization: label: Web Authentication (Experimental) + description: Password-protect access to Fluidd and Firmware Config via Moonraker authentication. get_cmd: - bash - -c diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/20_actions_troubleshooting.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/20_actions_troubleshooting.yaml index 337f8977..a829ab22 100644 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/20_actions_troubleshooting.yaml +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/20_actions_troubleshooting.yaml @@ -1,9 +1,9 @@ actions: troubleshooting: - label: Troubleshooting items: show-status: label: Show MCUs Version + description: Display firmware version of all connected MCUs. cmd: - /home/lava/bin/systemUpgrade.sh - show-status @@ -12,7 +12,8 @@ actions: collect-logs: label: Collect System Logs - confirm: "Collecting system logs might take a few minutes. Do not close the window until done. Continue?" + description: Bundle and download a system log archive for troubleshooting. + confirm: "Collecting system logs might take a few minutes. These logs contain sensitive information like the serial number and Wi-Fi SSID, and should not be shared publicly. Continue?" cmd: - /home/lava/bin/sysinfoCollection.sh - "no" @@ -21,10 +22,10 @@ actions: download_file: /userdata/logs.tar.gz recovery: - label: Recovery items: reset-extended-to-defaults: label: Reset Extended to Defaults + description: Clear all extended settings and reboot to a clean state. confirm: "Reset all extended settings to defaults and reboot?" background: true cmd: @@ -38,6 +39,7 @@ actions: reset-to-backup-firmware: label: Reset Extended to Backup Firmware + description: Clear all extended settings, switch to the backup firmware slot, and reboot. confirm: "Reset all extended settings to defaults, switch to backup firmware and reboot?" background: true cmd: @@ -51,6 +53,7 @@ actions: switch-to-backup-firmware: label: Switch to Backup Firmware + description: Boot from the backup firmware slot on next reboot. confirm: "Switch to backup firmware and reboot?" background: true cmd: diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/21_actions_services.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/21_actions_services.yaml index 2f9fcd52..b90ceab8 100644 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/21_actions_services.yaml +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/21_actions_services.yaml @@ -1,9 +1,9 @@ actions: services: - label: Services items: restart-klipper: label: Restart Klipper + description: Restart the Klipper firmware service. confirm: true cmd: - /etc/init.d/S60klipper @@ -12,6 +12,7 @@ actions: restart-moonraker: label: Restart Moonraker + description: Restart the Moonraker API server. confirm: true cmd: - /etc/init.d/S61moonraker diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/22_actions_system.yaml b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/22_actions_system.yaml index 69fd3898..ebf0fee7 100644 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/22_actions_system.yaml +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/functions/22_actions_system.yaml @@ -1,9 +1,9 @@ actions: system: - label: System items: reboot-system: label: Reboot System + description: Reboot the printer system. confirm: true cmd: - /sbin/reboot diff --git a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html index dc39ef1f..fc097ca0 100644 --- a/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html +++ b/overlays/firmware-extended/10-firmware-config/root/usr/local/share/firmware-config/html/index.html @@ -35,8 +35,12 @@ .info-value { font-family: monospace; font-size: 14px; word-break: break-all; } .row { display: flex; justify-content: space-between; align-items: center; padding: 12px; background: var(--item); border-radius: 6px; margin-bottom: 8px; cursor: pointer; transition: background 0.2s; } .row:hover { background: var(--hover); } - .row-label { color: #fff; font-size: 14px; font-weight: 500; flex: 1; } - .row select { background: var(--card); border: 1px solid #555; border-radius: 6px; padding: 8px 12px; color: var(--text); font-size: 13px; cursor: pointer; min-width: 150px; } + .row-label-wrap { flex: 1; } + .row-label { color: #fff; font-size: 14px; font-weight: 500; } + .row-desc { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; } + .row-help { font-size: 12px; color: var(--accent); margin-left: 6px; vertical-align: middle; } + .row-help:hover { text-decoration: none; opacity: 0.8; } + .row select { align-self: flex-start; background: var(--card); border: 1px solid #555; border-radius: 6px; padding: 8px 12px; color: var(--text); font-size: 13px; cursor: pointer; min-width: 150px; } .row select:focus { outline: none; border-color: var(--accent); } .links-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; } .link-item { background: var(--item); padding: 12px 16px; border-radius: 6px; text-decoration: none; display: flex; align-items: center; gap: 10px; transition: background 0.2s; } @@ -274,7 +278,10 @@