2014-02-27 04:24:53 +05:30
|
|
|
package rpi
|
|
|
|
|
|
|
|
import (
|
2014-02-27 05:34:36 +05:30
|
|
|
lgpio "github.com/kidoman/embd/driver/linux/gpio"
|
|
|
|
li2c "github.com/kidoman/embd/driver/linux/i2c"
|
2014-03-01 20:19:44 +05:30
|
|
|
"github.com/kidoman/embd/host"
|
2014-02-27 04:24:53 +05:30
|
|
|
)
|
|
|
|
|
2014-02-27 05:59:38 +05:30
|
|
|
func init() {
|
|
|
|
host.Describers[host.RPi] = describer
|
2014-02-27 04:24:53 +05:30
|
|
|
}
|
|
|
|
|
2014-02-27 05:59:38 +05:30
|
|
|
func describer(rev int) *host.Descriptor {
|
2014-02-27 04:24:53 +05:30
|
|
|
var pins = rev1Pins
|
2014-03-02 12:09:57 +05:30
|
|
|
if rev > 1 {
|
2014-02-27 04:24:53 +05:30
|
|
|
pins = rev2Pins
|
|
|
|
}
|
|
|
|
|
2014-02-27 05:59:38 +05:30
|
|
|
return &host.Descriptor{
|
2014-03-01 20:19:44 +05:30
|
|
|
GPIO: func() interface{} {
|
2014-02-27 05:59:38 +05:30
|
|
|
return lgpio.New(pins)
|
|
|
|
},
|
2014-03-02 12:09:57 +05:30
|
|
|
I2C: func() interface{} {
|
|
|
|
return li2c.New()
|
|
|
|
},
|
2014-02-27 05:59:38 +05:30
|
|
|
}
|
2014-02-27 04:24:53 +05:30
|
|
|
}
|