reda_lib/model/pin.rs
1use reda_lib_macro::model;
2
3#[model]
4#[derive(Debug, PartialEq, Clone, Default)]
5pub struct LibPin {
6 pub name: String,
7 pub direction: LibPinDirection,
8 pub function: Option<String>,
9}
10
11#[derive(Debug, PartialEq, Clone, Default)]
12pub enum LibPinDirection {
13 #[default]
14 Input,
15 Output,
16 Inout,
17 Internal,
18}
19
20impl LibPin {
21 pub fn new<S: Into<String>>(name: S) -> Self {
22 Self {
23 name: name.into(),
24 ..Default::default()
25 }
26 }
27}