Implement a parser of KiCad files into a high-level YAML/JSON representation.
Using this, we can implement higher-level functions like automatic expression evaluation to set component attributes in KiCad, automation of DigiKey/etc. part lookup, and generation to Markdown documentation.
This is my first Rust program, I really enjoyed writing my first one :)
This PR is based on #3, to have some test data
TODO:
Handle absolute paths
Add some kind of marker for the "global" variables text, to not parse text elements not meant for ICCC; alternatively a custom component of some sort
I've rebased the branch on top of main now to unblock this work. cargo check still succeeds, once #3 is merged we will get files to process with this. Going ahead and merging.
Implement a parser of KiCad files into a high-level YAML/JSON representation. Using this, we can implement higher-level functions like automatic expression evaluation to set component attributes in KiCad, automation of DigiKey/etc. part lookup, and generation to Markdown documentation.
This is my first Rust program, I really enjoyed writing my first one :) This PR is based on #3, to have some test data
TODO:
cc @twelho @chiplet