Add docs for new REST endpoints and Machine Code Monitor#27
Add docs for new REST endpoints and Machine Code Monitor#27chrisgleissner wants to merge 3 commits into
Conversation
…:menu_screen. Add OpenAPI docs for REST API to facilitate auto-generated REST clients. Add docs for Machine Code Monitor.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Adds new documentation and machine-readable specs to expand the Ultimate firmware docs, including a new Machine Code Monitor how-to and an OpenAPI 3.1 representation of the REST API.
Changes:
- Added a new “Machine Code Monitor” how-to page and linked it from the docs index.
- Added an OpenAPI 3.1 YAML spec for the REST API plus a dedicated docs page that links/includes it.
- Extended the REST API reference with menu-screen and REST input endpoint documentation.
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| index.rst | Adds navigation entries for the new monitor doc and the OpenAPI page. |
| howto/machine_code_monitor.rst | Introduces a full how-to page for the machine code monitor UI and commands. |
| api/rest_api_openapi.yaml | Adds an OpenAPI 3.1 document describing the REST API endpoints and schemas. |
| api/openapi.rst | Adds a docs page to download and view the OpenAPI YAML spec. |
| api/api_calls.rst | Links to OpenAPI and documents additional REST endpoints (menu screen, input). |
| .gitignore | Adjusts build artifact ignore rule. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Hi @GideonZ , here are the updated docs. Changes:
I verified the resulting HTML version and it's ready for merge. Thanks |
|
Note that a yaml spec is being maintained at https://github.com/Grrrolf/u2plus-open-api-spec too. |
|
Thanks @matozoid , I did not know about this and thus created my own version from scratch last year ago, focusing on the Ultimate 64 Elite I which was the only device I owned back then. I then used this for various projects, especially C64 Stream and C64 Bridge. The version included in this PR is based on it. In order to ensure that others can benefit from our research efforts, I suggest we create a combined version of both OpenAPI Yaml specs and add them to the official docs, to be updated alongside the human-targeted docs whenever the REST API is extended. This also ensures they never get out of synch, as it's the onus on whoever adds / changes the REST API to not only align human-facing, but also machine readable docs. As your version is more advanced than mine in terms of examples and separation of U2 and U64, I could raise a PR for your repo and then we add a link towards it to the official docs. However, I wonder whether we really need two separate repos to host the documentation of the Ultimate 64. One is human facing, the other machine facing. But they almost must evolve in lockstep: As you add new REST endpoints or change them, you'll want to change their documentation to be consistent. And having to raise many PRs adds developer overhead but also increases the chance of inconsistencies. So I would suggest to incorporate an OpenAPI documentation directly in this repo rather than just via a link, of course with proper attribution to the original authors of the OpenAPI Yaml. Ongoing evolution could then be driven simply via normal PRs agains this repo. Many thanks for your thoughts on this. |
|
I'm 100% for having a single best-of-all-worlds spec in the repo here. I assume @Grrrolf - the repo owner - would agree. Just waiting for him to pop up in the discussion :-) |
What's Changed
/v1/machine:inputand/v1/machine:menu_screen.