2014-02-26 23:54:53 +01:00
|
|
|
package rpi
|
|
|
|
|
|
|
|
import (
|
2014-02-27 01:04:36 +01:00
|
|
|
lgpio "github.com/kidoman/embd/driver/linux/gpio"
|
|
|
|
li2c "github.com/kidoman/embd/driver/linux/i2c"
|
2014-03-01 15:49:44 +01:00
|
|
|
"github.com/kidoman/embd/host"
|
2014-02-26 23:54:53 +01:00
|
|
|
)
|
|
|
|
|
2014-02-27 01:29:38 +01:00
|
|
|
func init() {
|
|
|
|
host.Describers[host.RPi] = describer
|
2014-02-26 23:54:53 +01:00
|
|
|
}
|
|
|
|
|
2014-02-27 01:29:38 +01:00
|
|
|
func describer(rev int) *host.Descriptor {
|
2014-02-26 23:54:53 +01:00
|
|
|
var pins = rev1Pins
|
2014-03-02 07:39:57 +01:00
|
|
|
if rev > 1 {
|
2014-02-26 23:54:53 +01:00
|
|
|
pins = rev2Pins
|
|
|
|
}
|
|
|
|
|
2014-02-27 01:29:38 +01:00
|
|
|
return &host.Descriptor{
|
2014-03-01 15:49:44 +01:00
|
|
|
GPIO: func() interface{} {
|
2014-02-27 01:29:38 +01:00
|
|
|
return lgpio.New(pins)
|
|
|
|
},
|
2014-03-02 07:39:57 +01:00
|
|
|
I2C: func() interface{} {
|
|
|
|
return li2c.New()
|
|
|
|
},
|
2014-02-27 01:29:38 +01:00
|
|
|
}
|
2014-02-26 23:54:53 +01:00
|
|
|
}
|