From b31942c058d27c0bd6f1bef51c78ad184f95915e Mon Sep 17 00:00:00 2001 From: Carl Allendorph Date: Fri, 11 Oct 2024 10:37:38 -0700 Subject: [PATCH 1/2] Added microwire bundle definitions --- src/bundles/comms.stanza | 91 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) diff --git a/src/bundles/comms.stanza b/src/bundles/comms.stanza index 6023078d..75584d52 100644 --- a/src/bundles/comms.stanza +++ b/src/bundles/comms.stanza @@ -354,3 +354,94 @@ public pcb-bundle i2s : port sck port ws port sd + + +doc: \ +Optional Pins in the Microwire Bundle Construction + +public pcb-enum jsl/bundles/comms/MicrowirePins : + Microwire-CS + Microwire-DO + Microwire-DI + +doc: \ +Microwire serial communciation protocol + +Microwire is a subset of SPI with slightly +different latching requirements. It often comes +in a 3-wire variant. + + + +@member clk Synchronous clock - Required Port +@member cs Chip Select - Optional Port +@member do Data Output - Optional Port +@member di Data Input - Optional Port + +@param opts Set of optional ports to include in this bundle +definition. Duplicates are not allowed. + +public pcb-bundle microwire-b (opts:Collection) : + port clk + for p in opts do : + switch(p) : + Microwire-CS: make-port(`cs) + Microwire-DO: make-port(`do) + Microwire-DI: make-port(`di) + + +doc: \ +Microwire serial communciation protocol + +Microwire is a subset of SPI with slightly +different latching requirements. It often comes +in a 3-wire variant. + +@member clk Synchronous clock - Required Port +@member cs Chip Select - Optional Port +@member do Data Output - Optional Port +@member di Data Input - Optional Port + +@param opts Set of optional ports to include in this bundle +definition. Duplicates are not allowed. + +public defn microwire (opts:MicrowirePins ...) : + microwire-b(opts) + +doc: \ +Microwire serial communciation protocol + +Microwire is a subset of SPI with slightly +different latching requirements. + +This implementation provides the full 4-wire +interface. + +@member clk Synchronous clock +@member cs Chip Select +@member do Data Output +@member di Data Input + + +public defn microwire (): + microwire(Microwire-CS, Microwire-DO, Microwire-DI) + + +doc: \ +Microwire serial communciation protocol + +Microwire is a subset of SPI with slightly +different latching requirements. + +This is a 3-wire variant where `do` is is typically +a bidirectional data wire. + +@member clk Synchronous clock +@member cs Chip Select +@member do Data Output/Input + +@param opts Set of optional ports to include in this bundle +definition. Duplicates are not allowed. + +public defn microwire-3wire (): + microwire(Microwire-CS, Microwire-DO) From a44513ce4eb37014211294a684d53a8f3f57a3fe Mon Sep 17 00:00:00 2001 From: Carl Allendorph Date: Fri, 11 Oct 2024 11:35:09 -0700 Subject: [PATCH 2/2] Added missing file to the landpattern framework --- src/landpatterns/framework.stanza | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/landpatterns/framework.stanza b/src/landpatterns/framework.stanza index 60a3eab2..d1f9a061 100644 --- a/src/landpatterns/framework.stanza +++ b/src/landpatterns/framework.stanza @@ -25,4 +25,5 @@ defpackage jsl/landpatterns/framework: forward jsl/landpatterns/keep-outs forward jsl/landpatterns/introspection forward jsl/landpatterns/pad-grid - forward jsl/landpatterns/thermal-pads \ No newline at end of file + forward jsl/landpatterns/thermal-pads + forward jsl/landpatterns/thermal-vias