Skip to content

WebUI stat cards & test button: self-managed IO support, dash when JVS disconnected, vertical centering#200

Merged
dazzaXx merged 7 commits into
v6from
copilot/check-arcade-test-button-behavior
May 1, 2026
Merged

WebUI stat cards & test button: self-managed IO support, dash when JVS disconnected, vertical centering#200
dazzaXx merged 7 commits into
v6from
copilot/check-arcade-test-button-behavior

Conversation

Copilot AI commented May 1, 2026

Copy link
Copy Markdown

Adds first-class support for Sega IO boards that manage their own test-menu exit, plus two cosmetic fixes for the stat card grid.

Changes

src/jvs/io.h

  • Added testButtonSelfManaged field to JVSCapabilities to flag IO boards whose arcade system manages its own test-menu exit.

src/console/config.c

  • Parse the new TEST_BUTTON_SELF_MANAGED config directive into JVSCapabilities.

src/modernjvs.c

  • Added TEST_PULSE_MS (300 ms) constant and CLEAR_PULSE_TIMER macro.
  • When testButtonSelfManaged is set, the test button is only held active for a brief pulse and then automatically released (using CLOCK_MONOTONIC timing), so the WebUI status reflects reality after the user exits the test menu on the machine.

src/webui/modernjvs-webui.py

  • Added _io_self_managed() helper and exposed emulate_test_self_managed in both the config API response and the /api/control/test_button POST response.

src/webui/templates/index.html

  • Added a hidden #testModeSelfManagedNote element (yellow warning text) that is shown when a self-managed IO board is active, prompting the user to use Exit & Save inside the test menu to exit.

src/webui/static/app.jsupdateTestButtonUI

  • Now accepts a selfManaged parameter.
  • Self-managed boards: shows Self-Managed label in yellow with the Exit & Save warning note.
  • No JVS connection: shows in muted colour instead of "Inactive".
  • Normal boards: shows Active / Inactive as before.

src/webui/static/style.css.stat-card

  • Added display: flex; flex-direction: column; justify-content: center; align-items: center; so that when one card in a row grows taller than its siblings (e.g. due to the self-managed warning note), the other cards' text stays vertically centred rather than anchored to the top.

docs/modernjvs/ios/sega-type-1, sega-type-2, sega-type-3, sega-838-13683B, sega-trackball

  • Added TEST_BUTTON_SELF_MANAGED 1 to each Sega IO board profile.

misc/configuration.md

  • Added ⚠ markers to all self-managed IO boards in the supported boards table, with an explanatory footnote.

Copilot AI and others added 7 commits May 1, 2026 14:41
…button deactivation

Agent-Logs-Url: https://github.com/dazzaXx/ModernJVS/sessions/66ed281a-d521-4470-9e53-f7d32789f73c

Co-authored-by: dazzaXx <48131734+dazzaXx@users.noreply.github.com>
…OR for auto-release

Agent-Logs-Url: https://github.com/dazzaXx/ModernJVS/sessions/78545398-e9c0-49a3-a09d-41e286236bb7

Co-authored-by: dazzaXx <48131734+dazzaXx@users.noreply.github.com>
…ve for self-managed test button systems

Agent-Logs-Url: https://github.com/dazzaXx/ModernJVS/sessions/78807dbc-568b-4b06-a086-2386d099f8f9

Co-authored-by: dazzaXx <48131734+dazzaXx@users.noreply.github.com>
@dazzaXx dazzaXx marked this pull request as ready for review May 1, 2026 15:18
@dazzaXx

dazzaXx commented May 1, 2026

Copy link
Copy Markdown
Owner

@copilot update the PR description if possible to show all changes made in this PR.

Copilot AI commented May 1, 2026

Copy link
Copy Markdown
Author

@copilot update the PR description if possible to show all changes made in this PR.

Done — the PR description now lists every changed file and what was done in each, covering all 7 commits:

  • src/jvs/io.h — new testButtonSelfManaged field in JVSCapabilities
  • src/console/config.c — parse TEST_BUTTON_SELF_MANAGED config directive
  • src/modernjvs.cTEST_PULSE_MS / CLEAR_PULSE_TIMER; auto-releases the test button after 300 ms on self-managed boards so the WebUI reflects real state
  • src/webui/modernjvs-webui.py — expose emulate_test_self_managed in config & toggle API responses
  • src/webui/templates/index.html — hidden "Exit & Save" warning note element
  • src/webui/static/app.jsupdateTestButtonUI handles self-managed / disconnected / normal states
  • src/webui/static/style.css — flex-column centering on .stat-card for mixed-height rows
  • docs/modernjvs/ios/sega-*TEST_BUTTON_SELF_MANAGED 1 added to all five Sega IO profiles
  • misc/configuration.md — ⚠ markers and footnote for self-managed boards

Copilot AI changed the title WebUI stat cards: dash when JVS disconnected, vertical centering in mixed-height rows WebUI stat cards & test button: self-managed IO support, dash when JVS disconnected, vertical centering May 1, 2026
Copilot AI requested a review from dazzaXx May 1, 2026 15:20
Copilot finished work on behalf of dazzaXx May 1, 2026 15:21
@dazzaXx dazzaXx merged commit 1143889 into v6 May 1, 2026
1 check passed
@dazzaXx dazzaXx deleted the copilot/check-arcade-test-button-behavior branch May 1, 2026 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants