fixed multiplexers with named ports + minor changes

This commit is contained in:
Louis Heredero 2024-05-17 14:18:33 +02:00
parent 7e0209b712
commit 21b5d1cbfe
Signed by: HEL
GPG Key ID: 8D83DE470F8544E7
8 changed files with 10 additions and 9 deletions

View File

@ -3,6 +3,8 @@
/// Draws a block circuit diagram
///
/// This function is also available as `circuiteria.circuit()`
///
/// - body (none, array, element): A code block in which draw functions have been called
/// - length (length, ratio): Optional base unit
/// -> none

View File

@ -48,7 +48,6 @@
stroke: black + 1pt,
id: "",
debug: (
grid: false,
ports: false
)
) = {

View File

@ -26,7 +26,6 @@
stroke: black + 1pt,
id: "",
debug: (
grid: false,
ports: false
)
) = element.elmt(

View File

@ -32,7 +32,6 @@
auto-ports: true,
ports-y: (),
debug: (
grid: false,
ports: false
)
) = draw.get-ctx(ctx => {

View File

@ -36,7 +36,6 @@
stroke: black + 1pt,
id: "",
debug: (
grid: false,
ports: false
)
) = {

View File

@ -33,7 +33,6 @@
stroke: black + 1pt,
id: "",
debug: (
grid: false,
ports: false
)
) = {
@ -45,6 +44,10 @@
let bits = util.lpad(str(i, base: 2), nbits)
ports.push((id: "in" + str(i), name: bits))
}
} else {
for (i, port) in entries.enumerate() {
ports.push((id: "in" + str(i), name: port))
}
}
element.elmt(

View File

@ -11,11 +11,11 @@
///
/// #example(`#util.lpad("0100", 8)`, mode: "markup")
///
/// - s (str): The string to pad
/// - string (str): The string to pad
/// - len (int): The target length
/// -> str
#let lpad(s, len) = {
let res = "0" * len + s
#let lpad(string, len) = {
let res = "0" * len + string
return res.slice(-len)
}

View File

@ -118,7 +118,7 @@
/// - style (str): The wire's style (see `wire-styles` for possible values)
/// - reverse (bool): If true, the start and end points will be swapped (useful in cases where the start point depends on the end point, for example with perpendiculars)
/// - zigzag-ratio (ratio): Position of the zigzag vertical relative to the horizontal span (only with style "zigzag")
/// - dodge-y (int, float, length, ratio): Y position to dodge the wire to (only with style "dodge")
/// - dodge-y (number): Y position to dodge the wire to (only with style "dodge")
/// - dodge-sides (array): The start and end sides (going out of the connected element) of the wire (only with style "dodge")
/// - dodge-margins (array): The start and end margins (i.e. space before dodging) of the wire (only with style "dodge")
#let wire(