akhilles
c680fa9c52
Update TestBench, module docs
...
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-29 17:36:50 -04:00
akhilles
780685382c
Add missing PhysicalValue docs
...
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-29 15:58:07 -04:00
akhilles
f59e6e0c83
Document metadata() in spec.mdx
...
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-29 15:58:07 -04:00
akhilles
7b67a14953
Add PhysicalValue to spec
...
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-29 15:58:07 -04:00
Akhil Velagapudi
ac8434ff42
Board-level configuration ( #188 )
...
* Add `builtin.add_board_config`
Sets constraints
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Enable json extension
Useful for debugging
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* More compact config mapping
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add predefined sizes support to board config
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Make all board config fields optional, add merging
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add netclass support to board config
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add stackup support, sexpr library
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Patch stackup on `pcb layout`
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Sync board config by default
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Fix deep_merge
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Document board config feature
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Flatten netclasses
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add base configurations
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Remove unused _is_new_board
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Move board_config.zen to examples/
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Use pcb-sexpr
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Replace --dont-sync with --sync (default true)
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
---------
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-29 15:57:15 -04:00
Akhil Velagapudi
dceb75b5f3
Generate warnings if Path() paths don't exist ( #160 )
...
* Add Path() to spec
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Raise warning if path does not exist
Related to DIO-375.
Even if the path doesn't exist during initial development, it should not
be checked into the registry in this state.
We can run registry CI with -Dwarnings to catch this.
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Generate warnings if Path() paths don't exist
Even if allow_not_exists, warnings are useful (DIO-375).
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Release should fail if path missing
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
---------
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-16 18:12:38 -04:00
Akhil Velagapudi
bb0898dbef
Add moved() directive ( #152 )
...
* Add pcb:sch comments to test board
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add moved() directive
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Include moved paths in Schematic
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Repair footprints, groups in layout
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Update docs
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Compute remapper data *before* processing positions
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add warnings if old path exists or new path doesn't
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add snapshot tests for moved()
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
---------
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-09-14 21:15:37 -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
Lenny Khazan
0ef3b5d91d
Fix docs ( #113 )
...
* 1/n: debug docs
* add image
* boop
* beep
* blorp
* blam
* test
2025-08-24 15:41:21 -04:00
Abhinav Reddy
0f3aa77cb3
[DOCS] Fix Docs for Real this Time ( #112 )
...
* Add example documentation
* Fix path
* Add tips and notes
* Split tip and note
* Update example.mdx
* Allow layout
* Update example.mdx
* Delete docs/images/Zener_ACRCM.png
* Upload fixed Zener ACRCM and pin hint gif
* Add gif explaining pin hints
* Fix grammar
* Reorder pages
* Update naming
* Use mintlify callouts
* Fix type (CRC -> LRC)
* Reorganize docs into sections
* Make documentation Davide compliant
* Fix broken links
* Add header at the top
* Update docs.json format
* Revert docs.json update
* Change image links
2025-08-24 13:12:02 -04:00
Abhinav Reddy
74e55fce65
[DOCS] Fix Broken Links ( #111 )
...
* Add example documentation
* Fix path
* Add tips and notes
* Split tip and note
* Update example.mdx
* Allow layout
* Update example.mdx
* Delete docs/images/Zener_ACRCM.png
* Upload fixed Zener ACRCM and pin hint gif
* Add gif explaining pin hints
* Fix grammar
* Reorder pages
* Update naming
* Use mintlify callouts
* Fix type (CRC -> LRC)
* Reorganize docs into sections
* Make documentation Davide compliant
* Fix broken links
2025-08-24 12:09:50 -04:00
Abhinav Reddy
3515276773
[DOCS] Add Documentation of an Example ( #106 )
...
* Add example documentation
* Fix path
* Add tips and notes
* Split tip and note
* Update example.mdx
* Allow layout
* Update example.mdx
* Delete docs/images/Zener_ACRCM.png
* Upload fixed Zener ACRCM and pin hint gif
* Add gif explaining pin hints
* Fix grammar
* Reorder pages
* Update naming
* Use mintlify callouts
* Fix type (CRC -> LRC)
* Reorganize docs into sections
* Make documentation Davide compliant
2025-08-24 11:30:53 -04:00
Akhil Velagapudi
1ee83c6e7e
Initial implementation of interface subclasses + auto-promotion ( #89 )
...
* Add serialize(), deserialize() builtins for debugging
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add field(), __post_init__ to interface()
Also, add better print() behavior.
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add interface/net promotion
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Remove Cargo.toml patch
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Fix example
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Fix test workspace
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Add interface arg type checking
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Update spec.mdx
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
* Allow `using(Net)`
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
---------
Signed-off-by: akhilles <akhilvelagapudi@gmail.com >
2025-08-20 09:27:39 -07:00
Davide Asnaghi
9a96e2e5aa
[DOCS] theme ( #60 )
...
* add diode theme
* add vscode links
* add vscode features
* advanced install
2025-08-05 16:50:40 -04:00
Lenny Khazan
f702b18a75
Update docs ( #53 )
2025-07-30 13:02:08 -04:00
Lenny Khazan
9f65ebc80a
More robust VSCode schematics viewer ( #36 )
...
* wip
* RemoteFetcher
* refactor load logic
* update bundle
* updates
* cleanup
* fixes
* skip on windows
* remove unused
* Add sidebar (non-functional for now)
* Misc fixes and speed
* fix for misaligned first-layout
* fix unnamed pins
* remove debugging
* Add edge labels
* net symbol support
* multiple net symbols
* fix eslint
* Pass symbol across module boundary
* Add new Symbol("library.kicad_sym:SYM") syntax
* update spec
* update snaps
2025-07-20 15:04:49 -04:00
Davide Asnaghi
e7a71f1fdb
[MODULE] resolve workspace loads ( #19 )
...
* use load resolving with modules
* local package resolution
* fix spec
* update snapshots
* remove unnecessary code
* move to snapshot tests
* revert eval errors
* canonical cache
* make tests work on windows
* refresh snap
* do not shadow alias
* fix: Add serial_test to prevent race conditions in module loading tests
- Add serial_test dependency to pcb-zen crate
- Mark tests that use package aliases with #[serial_test::serial]
- This prevents race conditions with the global ALIAS_CACHE when tests run in parallel
- Fixes test failures on Ubuntu where path canonicalization differs from macOS
2025-07-06 23:34:42 -07:00
Lenny Khazan
ba3fa631f1
Simplify spec ( #16 )
2025-07-06 20:10:59 -04:00
Davide Asnaghi
f1a972ee59
kicad test ( #18 )
...
* add test for kicad
* cache dir in snapshots
2025-07-05 18:06:02 -04:00
Lenny Khazan
d6ff024281
Update symbol handling, support gitlab packages ( #14 )
...
* Add Symbol() primitive
* Add print output to snaps
* gitlab support
* Add gitlab support, handle unnamed pins
* Add @kicad-symbols alias
* cargo fmt
* fmt
* update snap
2025-07-05 00:10:45 -04:00
Lenny Khazan
77be2a75b7
update docs
2025-07-02 16:38:06 -04:00