diff --git a/devices/lirc/lirc.go b/devices/lirc/lirc.go index 24e753c..134bf45 100644 --- a/devices/lirc/lirc.go +++ b/devices/lirc/lirc.go @@ -14,7 +14,6 @@ import ( "strings" "sync" - "github.com/google/periph" "github.com/google/periph/conn/gpio" "github.com/google/periph/conn/ir" ) @@ -215,33 +214,20 @@ func (d *driver) String() string { return "lirc" } -func (d *driver) Type() periph.Type { - // Return the lowest priority, which is Functional. - return periph.Functional -} - func (d *driver) Init() (bool, error) { in, out := getPins() if in == -1 && out == -1 { return false, nil } if in != -1 { - if pin := gpio.ByNumber(in); pin != nil { - gpio.MapFunction("IR_IN", pin) - } else { - gpio.MapFunction("IR_IN", gpio.INVALID) + if err := gpio.RegisterAlias("IR_IN", in); err != nil { + return true, err } - } else { - gpio.MapFunction("IR_IN", gpio.INVALID) } if out != -1 { - if pin := gpio.ByNumber(out); pin != nil { - gpio.MapFunction("IR_OUT", pin) - } else { - gpio.MapFunction("IR_OUT", gpio.INVALID) + if err := gpio.RegisterAlias("IR_OUT", out); err != nil { + return true, err } - } else { - gpio.MapFunction("IR_OUT", gpio.INVALID) } return true, nil }