ti-tps54560x: package update version 0.2.0, ato 0.14.x#366
Open
nickkrstevski wants to merge 4 commits intomainfrom
Open
ti-tps54560x: package update version 0.2.0, ato 0.14.x#366nickkrstevski wants to merge 4 commits intomainfrom
nickkrstevski wants to merge 4 commits intomainfrom
Conversation
5fdebfb to
c6025a3
Compare
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.
Let claude rip on Resistor Dividers:
"
Summary of Fixes
5 fixes across 7 files that together fix resistor voltage divider picking in the atopile solver:
Fix 1: Auto-canonicalize non-canonical expressions (mutator.py)
Non-canonical expression types (like LessOrEqual, IsSuperset) that survived into post-canonicalization iterations caused assertion failures. Added
_canonicalize_builder() that converts them to canonical equivalents on the fly.
Fix 2: Graph stability convergence detection (solver.py)
The solver could loop indefinitely when oscillating between equivalent representations. Added convergence detection that stops when the graph node
count stays stable for consecutive iterations (threshold=1, after at least 3 iterations).
Fix 3: IsSubset instead of IsSuperset in part attachment (models.py)
attach() was using IsSuperset to constrain picked parameter values. Changed to IsSubset which is the canonical form and correctly constrains the
parameter to the picked literal's range.
Fix 4: Per-group candidate fetching (picker.py)
Previously, all candidates were fetched using the global solver before groups were expanded. Changed to fetch candidates per-group using each group's
own solver, so constraints propagated from earlier picks are visible.
Fix 5: Skip anticorrelated pairs after first pick (utils.py, mutator.py, solver.py, picker.py)
ROOT CAUSE FIX: get_relevant_predicates uses anticorrelated pairs (from Not(Correlated(...)) expressions) to prevent spurious transitive closure. But
after picking R1, this filtering blocked the solver from discovering R1's IsSubset constraint when traversing from R0. Added skip_anticorrelated
parameter through the entire call chain, enabled when depth > 0 (i.e., after first round of picking).
Fix 6: AdjustableRegulator parameter linkages (AdjustableRegulator.py)
Added missing Is expressions linking input_voltage/output_voltage to power interface voltages, v_in/v_out aliases, and feedback divider
voltage/current constraints.
Fix 7: Helper equation for backward propagation (ResistorVoltageDivider.py)
Added total_R = R1 / ratio equation to enable the solver to propagate total resistance backward from R1 and ratio constraints.
✻ Worked for 2h 32m 58s
"