1
0
mirror of https://github.com/hybridgroup/gobot.git synced 2025-05-02 22:17:12 +08:00
hybridgroup.gobot/platforms/gpio/direct_pin_driver.go

57 lines
1.1 KiB
Go
Raw Normal View History

2014-04-27 19:34:16 -07:00
package gpio
import (
"github.com/hybridgroup/gobot"
)
type DirectPinDriver struct {
gobot.Driver
Adaptor DirectPin
}
2014-05-22 21:29:37 -07:00
func NewDirectPinDriver(a DirectPin, name string, pin string) *DirectPinDriver {
2014-04-27 19:34:16 -07:00
return &DirectPinDriver{
Driver: gobot.Driver{
2014-05-22 21:29:37 -07:00
Name: name,
Pin: pin,
2014-04-27 19:34:16 -07:00
Commands: []string{
"DigitalReadC",
"DigitalWriteC",
"AnalogReadC",
"AnalogWriteC",
"PwmWriteC",
"ServoWriteC",
},
},
Adaptor: a,
}
}
func (d *DirectPinDriver) Start() bool { return true }
func (d *DirectPinDriver) Halt() bool { return true }
func (d *DirectPinDriver) Init() bool { return true }
func (d *DirectPinDriver) DigitalRead() int {
return d.Adaptor.DigitalRead(d.Pin)
}
func (d *DirectPinDriver) DigitalWrite(level byte) {
d.Adaptor.DigitalWrite(d.Pin, level)
}
func (d *DirectPinDriver) AnalogRead() int {
return d.Adaptor.AnalogRead(d.Pin)
}
func (d *DirectPinDriver) AnalogWrite(level byte) {
d.Adaptor.AnalogWrite(d.Pin, level)
}
func (d *DirectPinDriver) PwmWrite(level byte) {
d.Adaptor.PwmWrite(d.Pin, level)
}
func (d *DirectPinDriver) ServoWrite(level byte) {
d.Adaptor.ServoWrite(d.Pin, level)
}