Rewritten as a hands-on reference instead of prose: system diagram up top, quick start first, hardware run with the dora 1.0.1 git: gotchas as numbered notes, a single gamepad table carrying both the base-frame directions and the indices, spec-style Ports/Environment/Safety-style tables throughout.
The gamepad tables were merged: each control listed once, with its index (axes 0, 1 … button 11) and its base-frame direction (+X stick up, +Y stick right, triggers are the only Z path), as coded in mapping.py.
"Ports" renamed to "Inputs and outputs" — dora's own vocabulary.
Tooling
requires-python raised to >=3.12; uv.lock re-resolved (3.11 markers and wheels drop out). Local and CI venvs already run 3.12.
Verification
uv run pytest — 149 passed; uv run ruff check . and ruff format --check clean; markdown tables and the mermaid block parse-verified against mermaid 11 (what Gitea 1.27 bundles).
## README
Rewritten as a hands-on reference instead of prose: system diagram up top, quick start first, hardware run with the dora 1.0.1 `git:` gotchas as numbered notes, a single gamepad table carrying both the base-frame directions and the indices, spec-style Ports/Environment/Safety-style tables throughout.
- The gamepad tables were merged: each control listed once, with its index (`axes 0, 1` … `button 11`) and its base-frame direction (`+X` stick up, `+Y` stick right, triggers are the only Z path), as coded in `mapping.py`.
- "Ports" renamed to "Inputs and outputs" — dora's own vocabulary.
## Tooling
- `requires-python` raised to `>=3.12`; `uv.lock` re-resolved (3.11 markers and wheels drop out). Local and CI venvs already run 3.12.
## Verification
- `uv run pytest` — 149 passed; `uv run ruff check .` and `ruff format --check` clean; markdown tables and the mermaid block parse-verified against mermaid 11 (what Gitea 1.27 bundles).
cristhian
changed title from fix gamepad layout, calibrate pads at rest, rewrite the README to Rewrite the README as a technical reference, require Python 3.122026-09-17 20:03:49 +00:00
Rewrites the README as a spec-style reference, merges the gamepad tables, and raises requires-python to 3.12 with a re-resolved uv.lock. The 3.12 change is clean and internally consistent, and the merged gamepad table matches mapping.py exactly; the problem is guidance the rewrite deleted, including guidance the PR body claims it kept.
Findings
README.md:54 -- The "Running with hardware" section is a bare table, but the PR body promises "the dora 1.0.1 git: gotchas as numbered notes": the deleted warnings that --uv fails on git: dataflows (Could not find source path dora-joy within uv), that dora start refuses them outright, and the build-into-one-venv workaround are gone with nothing to replace them. A reader following the Quick start's dora run dataflow.yml --uv pattern onto dataflow-robot.yml hits that failure with no explanation; restore the notes under this section (or drop the claim from the description and document the failure mode).
README.md:62 -- The Gamepad section keeps the table and the index numbers but deletes the entire verification half of the old README: dora-teleop-probe is no longer mentioned, and the "sweep a new pad before the arm is powered" warning — recording that against the shipped indices X toggled freedrive and LB was the E-STOP — is gone, while line 60 still advertises dataflow-gamepad.yml as "plus the probe" and mapping.py still names the probe as the only check. An operator with a differently numbered pad now has no documented way to verify buttons before the arm moves; keep at least the probe invocation and the sweep-before-power warning.
Recommendation
Request changes -- Both findings are safety- and runbook-relevant guidance the diff removes, one of them claimed by the PR body but absent from the change.
## Summary
Rewrites the README as a spec-style reference, merges the gamepad tables, and raises `requires-python` to 3.12 with a re-resolved `uv.lock`. The 3.12 change is clean and internally consistent, and the merged gamepad table matches `mapping.py` exactly; the problem is guidance the rewrite deleted, including guidance the PR body claims it kept.
## Findings
**`README.md:54`** -- The "Running with hardware" section is a bare table, but the PR body promises "the dora 1.0.1 `git:` gotchas as numbered notes": the deleted warnings that `--uv` fails on `git:` dataflows (`Could not find source path dora-joy within uv`), that `dora start` refuses them outright, and the build-into-one-venv workaround are gone with nothing to replace them. A reader following the Quick start's `dora run dataflow.yml --uv` pattern onto `dataflow-robot.yml` hits that failure with no explanation; restore the notes under this section (or drop the claim from the description and document the failure mode).
**`README.md:62`** -- The Gamepad section keeps the table and the index numbers but deletes the entire verification half of the old README: `dora-teleop-probe` is no longer mentioned, and the "sweep a new pad before the arm is powered" warning — recording that against the shipped indices X toggled freedrive and LB was the E-STOP — is gone, while line 60 still advertises `dataflow-gamepad.yml` as "plus the probe" and `mapping.py` still names the probe as the only check. An operator with a differently numbered pad now has no documented way to verify buttons before the arm moves; keep at least the probe invocation and the sweep-before-power warning.
## Recommendation
**Request changes** -- Both findings are safety- and runbook-relevant guidance the diff removes, one of them claimed by the PR body but absent from the change.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
README
Rewritten as a hands-on reference instead of prose: system diagram up top, quick start first, hardware run with the dora 1.0.1
git:gotchas as numbered notes, a single gamepad table carrying both the base-frame directions and the indices, spec-style Ports/Environment/Safety-style tables throughout.axes 0, 1…button 11) and its base-frame direction (+Xstick up,+Ystick right, triggers are the only Z path), as coded inmapping.py.Tooling
requires-pythonraised to>=3.12;uv.lockre-resolved (3.11 markers and wheels drop out). Local and CI venvs already run 3.12.Verification
uv run pytest— 149 passed;uv run ruff check .andruff format --checkclean; markdown tables and the mermaid block parse-verified against mermaid 11 (what Gitea 1.27 bundles).fix gamepad layout, calibrate pads at rest, rewrite the READMEto Rewrite the README as a technical reference, require Python 3.12/bot review
Summary
Rewrites the README as a spec-style reference, merges the gamepad tables, and raises
requires-pythonto 3.12 with a re-resolveduv.lock. The 3.12 change is clean and internally consistent, and the merged gamepad table matchesmapping.pyexactly; the problem is guidance the rewrite deleted, including guidance the PR body claims it kept.Findings
README.md:54-- The "Running with hardware" section is a bare table, but the PR body promises "the dora 1.0.1git:gotchas as numbered notes": the deleted warnings that--uvfails ongit:dataflows (Could not find source path dora-joy within uv), thatdora startrefuses them outright, and the build-into-one-venv workaround are gone with nothing to replace them. A reader following the Quick start'sdora run dataflow.yml --uvpattern ontodataflow-robot.ymlhits that failure with no explanation; restore the notes under this section (or drop the claim from the description and document the failure mode).README.md:62-- The Gamepad section keeps the table and the index numbers but deletes the entire verification half of the old README:dora-teleop-probeis no longer mentioned, and the "sweep a new pad before the arm is powered" warning — recording that against the shipped indices X toggled freedrive and LB was the E-STOP — is gone, while line 60 still advertisesdataflow-gamepad.ymlas "plus the probe" andmapping.pystill names the probe as the only check. An operator with a differently numbered pad now has no documented way to verify buttons before the arm moves; keep at least the probe invocation and the sweep-before-power warning.Recommendation
Request changes -- Both findings are safety- and runbook-relevant guidance the diff removes, one of them claimed by the PR body but absent from the change.