mirror of
https://github.com/diodeinc/pcb.git
synced 2026-09-14 20:17:19 +08:00
ae7766a8a6
* Refactor diagnostics for warnings support - Add render trait - Render warnings after errors - Reuse build code across build, layout Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Delete bundle Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Fix clippy lints Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add git ref metadata 3 stages to fetch_remote: - Ensure remote is in cache - Add appropriate symlinks - Classify + store ref metadata Some code cleanup: - Factored out some git clone dupe code - Centralized git operations in git.rs Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Warn on unstable refs Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add "-Dwarnings" flag to error on warnings Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Warn on unstable refs in Module() Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add snapshot tests for warnings Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Fix span detection for chained Module() Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add ResolveContext, dedup resolve code Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Use spec history for better alias warnings Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add pcb.toml spans Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add type-erased error storage to Diagnostic Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Fix bug with load() span detection The previous logic would just attempt to match by path, but if there are multiple load() statements in a single file with the same path, then find_load_span_for_path with always return the first. Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Added diagnostics passes Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Add LSP-specific pass to filter out some warnings Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Fix rebase conflicts Signed-off-by: akhilles <akhilvelagapudi@gmail.com> * Fix unstable ref detection logic If we clone by tag and the tag exists in the git repo, it's a stable ref. Same with commit. Signed-off-by: akhilles <akhilvelagapudi@gmail.com> --------- Signed-off-by: akhilles <akhilvelagapudi@gmail.com>
23 lines
740 B
Plaintext
23 lines
740 B
Plaintext
"""
|
|
A simple LED circuit with current limiting resistor.
|
|
This demonstrates using standard components to create a basic LED driver.
|
|
"""
|
|
|
|
load("@stdlib/interfaces.zen", "Power", "Ground")
|
|
Resistor = Module("@stdlib/generics/Resistor.zen")
|
|
Led = Module("@stdlib:v0.2.2/generics/Led.zen")
|
|
|
|
# Configuration parameters
|
|
r_value = config("r_value", str, default="330ohms", optional=True)
|
|
led_color = config("led_color", str, default="red", optional=True)
|
|
|
|
# IO ports
|
|
vcc = io("vcc", Power)
|
|
gnd = io("gnd", Ground)
|
|
|
|
# Internal net for LED anode
|
|
led_anode = Net("LED_ANODE")
|
|
|
|
# Create the LED circuit
|
|
Resistor(name="R1", value=r_value, package="0603", P1=vcc.NET, P2=led_anode)
|
|
Led(name="D1", color=led_color, package="0603", A=led_anode, K=gnd.NET) |