embd/gpio/pinmap.go

25 lines
361 B
Go

package gpio
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
}