Repository navigation
docs: the Cobalt has no free contact for point feedback - #22
Merged
Merged
Conversation
The board 3 design assumed each Cobalt iP Digital's S2 changeover was free to read. It is not. S1 is tied to the motor's power input, which on this layout is the accessory DCC bus (kept separate so a point can still be thrown to clear a track short), so S1 cannot feed the frogs. S2 therefore powers them from the track bus, and nothing is left for feedback. Record that, warn against ever wiring S2 to the expander (its common is the frog), and list the candidate feedback sources with their trade-offs: tie-bar sensors, optos across the frog, or an add-on changeover. The firmware is unchanged because every candidate presents as two closures to 0 V; only comments and test docstrings that named S2 are generalised. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The board 3 (
0x22) point feedback built in #15 assumed each Cobalt iP Digital'sS2changeover was free to read. It is not. This PR records why, so the research isn't lost a second time. An earlier session worked this out, but its findings were never saved.What was wrong
S1is tied to the motor's own power input. DCC Concepts describe it as "directly linked to the power input wires". Here the motors run from a separate accessory DCC bus, so a point can still be thrown to clear a track short caused by a loco hitting it while wrongly set.S1would therefore feed the frog from the wrong bus.S2powers the frogs from the track bus, which leaves no contact for feedback.S2must never be wired to the expander: its common is the frog, and taking it to 0 V shorts a stock rail to logic ground. That warning is now inCLAUDE.md's traps and in both point docs.What this records
docs/point-position-feedback.mdgains The Cobalt has no free contact, which lists the candidate sources:requiredpoint then times out and Safe-Stops. The backend's handling needs checking inbazauto/layout-orchestrationbefore relying on this option.The source is undecided. That choice depends on the physical layout.
Code
No behaviour change. Every candidate presents as two closures to 0 V, so the truth table, the pair allocation,
POINTS_ACTIVE_LOWandpoint_wiring.pyall stand. The only code edits generalise comments and test docstrings that namedS2.Verified
python -m pytest: 177 passed.🤖 Generated with Claude Code