36 lines
882 B
Go
36 lines
882 B
Go
package geagle
|
|
|
|
type PinDirection string
|
|
|
|
const (
|
|
PinNotConnected PinDirection = "nc"
|
|
PinInput = "in"
|
|
PinOutput = "out"
|
|
PinInputOutput = "io"
|
|
PinOC = "oc"
|
|
PinPower = "pwr"
|
|
PinPassiv = "pas"
|
|
PinHighz = "hiz"
|
|
PinSupply = "sup"
|
|
)
|
|
|
|
// A schematic pin
|
|
type Pin struct {
|
|
Point
|
|
Name string `xml:"name,attr"`
|
|
Visible string `xml:"visible,attr,omitempty"`
|
|
Length string `xml:"length,attr,omitempty"`
|
|
Direction string `xml:"direction,attr,omitempty"`
|
|
Rotation Rotation `xml:"rot,attr,omitempty"`
|
|
Function string `xml:"function,attr,omitempty"`
|
|
}
|
|
|
|
// A schematic symbol
|
|
type Symbol struct {
|
|
Name string `xml:"name,attr"`
|
|
Urn string `xml:"urn,attr,omitempty"`
|
|
|
|
Primitives
|
|
Pins []Pin `xml:"pin"`
|
|
}
|