1
0
mirror of https://github.com/kidoman/embd synced 2024-12-22 12:50:19 +01:00

matrix4x3: client should ensure rpio is initialised before using

This commit is contained in:
Karan Misra 2014-02-08 02:21:18 +05:30
parent d2ffacd22c
commit cd54380887
2 changed files with 6 additions and 10 deletions

View File

@ -78,7 +78,7 @@ type Matrix4x3 interface {
PressedKey() (Key, error) PressedKey() (Key, error)
// Close. // Close.
Close() error Close()
} }
type matrix4x3 struct { type matrix4x3 struct {
@ -127,10 +127,6 @@ func (d *matrix4x3) setup() (err error) {
d.mu.Lock() d.mu.Lock()
defer d.mu.Unlock() defer d.mu.Unlock()
if err = rpio.Open(); err != nil {
return
}
for i := 0; i < rows; i++ { for i := 0; i < rows; i++ {
d.rpioRowPins[i].Input() d.rpioRowPins[i].Input()
d.rpioRowPins[i].PullUp() d.rpioRowPins[i].PullUp()
@ -210,12 +206,8 @@ func (d *matrix4x3) Run() {
} }
// Close. // Close.
func (d *matrix4x3) Close() (err error) { func (d *matrix4x3) Close() {
if d.quit != nil { if d.quit != nil {
d.quit <- true d.quit <- true
} }
rpio.Close()
return
} }

View File

@ -5,12 +5,16 @@ import (
"time" "time"
"github.com/kid0m4n/go-rpi/interface/keypad/matrix4x3" "github.com/kid0m4n/go-rpi/interface/keypad/matrix4x3"
"github.com/stianeikeland/go-rpio"
) )
func main() { func main() {
rowPins := []int{4, 17, 27, 22} rowPins := []int{4, 17, 27, 22}
colPins := []int{23, 24, 25} colPins := []int{23, 24, 25}
rpio.Open()
defer rpio.Close()
keypad := matrix4x3.New(rowPins, colPins) keypad := matrix4x3.New(rowPins, colPins)
for { for {