diff --git a/gpiogeneric.go b/gpiogeneric.go index 3e6beef..6730133 100644 --- a/gpiogeneric.go +++ b/gpiogeneric.go @@ -6,45 +6,6 @@ import ( "github.com/golang/glog" ) -const ( - CapNormal int = 1 << iota - CapI2C - CapUART - CapSPI - CapGPMC - CapLCD - CapPWM -) - -type PinDesc struct { - N int - IDs []string - Caps int -} - -type PinMap []*PinDesc - -func (m PinMap) Lookup(k interface{}) (*PinDesc, bool) { - switch key := k.(type) { - case int: - for i := range m { - if m[i].N == key { - return m[i], true - } - } - case string: - for i := range m { - for j := range m[i].IDs { - if m[i].IDs[j] == key { - return m[i], true - } - } - } - } - - return nil, false -} - type pin interface { Close() error } diff --git a/pin.go b/pin.go new file mode 100644 index 0000000..831a909 --- /dev/null +++ b/pin.go @@ -0,0 +1,40 @@ +package embd + +const ( + CapNormal int = 1 << iota + CapI2C + CapUART + CapSPI + CapGPMC + CapLCD + CapPWM +) + +type PinDesc struct { + N int + IDs []string + Caps int +} + +type PinMap []*PinDesc + +func (m PinMap) Lookup(k interface{}) (*PinDesc, bool) { + switch key := k.(type) { + case int: + for i := range m { + if m[i].N == key { + return m[i], true + } + } + case string: + for i := range m { + for j := range m[i].IDs { + if m[i].IDs[j] == key { + return m[i], true + } + } + } + } + + return nil, false +}