Skip to main content

Crate use_pin

Crate use_pin 

Source
Expand description

§use-pin

Primitive electronic pin vocabulary.

use-pin describes pin numbers, pin names, roles, polarity, and references to component pins. It does not implement electrical simulation, embedded HAL traits, MCU pin configuration, or GPIO control.

§Example

use use_component::ReferenceDesignator;
use use_pin::{PinName, PinNumber, PinRef, PinRole};

let component = ReferenceDesignator::new("U2")?;
let numbered = PinRef::numbered(component.clone(), PinNumber::new(1)?);
let named = PinRef::named(component, PinName::new("VCC")?);

assert_eq!(numbered.to_string(), "U2:1");
assert_eq!(named.pin().to_string(), "VCC");
assert_eq!("power".parse::<PinRole>()?, PinRole::Power);

§Scope

Use this crate for descriptive pin metadata only. Use embedded, HAL, firmware, or simulation crates for behavior.

Modules§

prelude
Commonly used pin primitives.

Structs§

PinName
A descriptive pin name such as VCC, GND, SDA, or RESET.
PinNumber
A one-based package or component pin number.
PinRef
A reference to a component pin, such as U2:VCC or R1:1.

Enums§

PinIdentifier
A pin identified by number or name.
PinNameError
Errors returned while constructing pin names.
PinNumberError
Errors returned while constructing pin numbers.
PinPolarity
Descriptive pin polarity vocabulary.
PinPolarityParseError
Errors returned while parsing pin polarity.
PinRole
Descriptive electronic pin roles.
PinRoleParseError
Errors returned while parsing pin roles.