From d5d6560c566fc27c947698503960115827fbe834 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 23 May 2015 16:49:18 +0200 Subject: Autofind device --- device.go | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/device.go b/device.go index cb643f2..5166d83 100644 --- a/device.go +++ b/device.go @@ -1,28 +1,29 @@ package robo -import ( - "bufio" - "log" - "runtime" -) +import "bufio" type Device interface { Close() Handle() *bufio.ReadWriter } +var devices = []string{ + "/dev/usb/lp0", // Linux + "/dev/ulpt0", // OpenBSD +} + func NewDevice() (dev Device) { var err error - if runtime.GOOS == "linux" { - dev, err = NewLP("/dev/usb/lp0") - } else { - dev, err = NewUSB() + for _, d := range devices { + if dev, err = NewLP(d); err == nil { + return + } } - if err != nil { - log.Fatal(err) + if dev, err = NewUSB(); err == nil { + return } - return + panic(err) } -- cgit v1.2.3