Skip to content

Add menu screen and input endpoints to OpenAPI specification#9

Open
chrisgleissner wants to merge 5 commits into
Grrrolf:mainfrom
chrisgleissner:feat/add_menu_screen_and_input_endpoints
Open

Add menu screen and input endpoints to OpenAPI specification#9
chrisgleissner wants to merge 5 commits into
Grrrolf:mainfrom
chrisgleissner:feat/add_menu_screen_and_input_endpoints

Conversation

@chrisgleissner
Copy link
Copy Markdown

@chrisgleissner chrisgleissner commented Jun 5, 2026

Hi,

thanks for maintaining these specs.

This PR adds the new REST endpoints from my Ultimate 64 / U2 firmware work, as documented in GideonZ/1541u-documentation#27:

  • GET /machine:menu_screen
  • GET /machine:input (U64-based devices only due to hardware constraints as per Gideon)
  • POST /machine:input (same)

Some Notes:

  • The work described by the PR above have not yet reached master on the 1541ultimate firmware repo, but the input change is already in test-merge (precursor to being merged to master), and I hope the menu_button will follow once Gideon will have had the time to review.
  • I kept the changes small and close to the existing style. You will see that I added some custom schemas. I like using schemas as it results in stronger typing and generally more modular structure of the generated code. But if you prefer, I can also remove these.
  • You will see some formatting changes. These were to align the empty brace style (the Yaml files used two different styles, i.e. {} as well as { }), and to avoid blanks in otherwise empty lines.
  • There was what I think could have been a typo where we used mod instead of mode as specified in Gideon's official docs. I changed that to mode.

One related question: would there be interest in maintaining these OpenAPI files directly in GideonZ/1541u-documentation? That would let the human and machine-readable REST docs evolve in lock step, and avoid needing multiple PRs for the same API changes.

Many thanks and best wishes
Christian

Copilot AI review requested due to automatic review settings June 5, 2026 17:18
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Updates the OpenAPI specifications to expand device/machine control capabilities and normalize parts of the spec formatting.

Changes:

  • Added new machine-control endpoints (menu screen readout, REST input injection) and an /info endpoint.
  • Introduced/expanded reusable schemas for binary menu-screen payloads and input event/state payloads.
  • Normalized several response-code keys/formatting and refactored some inline schemas into component refs.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.

File Description
u2plus-open-api-spec.yaml Adds /info, menu-control/input endpoints, and refactors portions of response schemas/formatting.
Ultimate_OpenAPI_specs.yaml Adds shared schemas and documents menu-screen + input endpoints under machine control.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread u2plus-open-api-spec.yaml
Comment thread u2plus-open-api-spec.yaml Outdated
Comment thread Ultimate_OpenAPI_specs.yaml
Comment thread u2plus-open-api-spec.yaml Outdated
@chrisgleissner chrisgleissner marked this pull request as draft June 5, 2026 18:01
@chrisgleissner chrisgleissner marked this pull request as ready for review June 5, 2026 18:10
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