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

55 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
}
func NewDirectPinDriver(a DirectPin) *DirectPinDriver {
return &DirectPinDriver{
Driver: gobot.Driver{
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)
}