Akhil Velagapudi
222cced75e
Simplify Component properties -> KiCad footprint properties pipeline ( #256 )
...
* Dedup PhysicalValue
We had 2 different PhysicalValue structs in pcb-sch and pcb-zen-core
just to avoid adding starlark deps to pcb-sch. I don't think its worth
it.
* Use rust_decimal_macros
Factor out some duplicate code
* Add proper enum -> String attr support
* Add config("mpn") to generated components for compat
* Format list component properties nicely when exporting to kicad
* Format physical value, enum, list kicad properties in compiler
* Don't rely on __attr__ values
Handle typed, stringified component properties directly.
* Title case kicad properties
2025-10-30 16:08:48 -04:00
Akhil Velagapudi
0c2c87c338
[DIO-352] Add TestBench() support ( #129 )
...
* Add TestBench
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add checks
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add net -> ports dict
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add port -> pin dict
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Provide component properties to check fns
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Update spec, fix spans on check failures
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Use check(), error() to fail checks instead of return value
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add ModuleView to group check fn args
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add component_values field, expose more typed values
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Fully switch to ComponentValues in check fn
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Use ModuleValue directly
Delete ModuleView
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add at() support for module which can return sub-module or component
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Rename testbench.rs -> test_bench.rs
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Move bench_test_cases to test-workspaces/bench
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Print "checks passed" log to eprintln
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Make .nets and .components functions
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add schematic to graph conversion, path finding
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add external net support to path finding
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Don't use bool ret for matchers
Use error(), check()
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add path.matches()
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add samples
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Moar samples
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Update spec.mdx
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Consolidate seq matchers test code
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add suppress_errors
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add lm5163q1 example
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add test_cases, inputs arg to check fns
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Update bmi270 example to use path.matches()
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Use more path.matches()
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add span for path.matches()
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add pcb test
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Print stuff only to stderr
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Output test results in TAP or json
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* "testbench" -> "test_bench"
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add table output format for pcb test
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Tolerate non-callable inputs to "checks"
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add tuple checks support for renaming check fns
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add snapshot tests
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Make max_depth optional
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
---------
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-04 22:30:30 -04:00