make serial interface configurable

This commit is contained in:
Joerg Lehmann 2019-11-09 21:08:57 +01:00
parent 863f81e434
commit 9be03ea5c2
1 changed files with 11 additions and 5 deletions

View File

@ -12,6 +12,8 @@ import (
)
func RandomEUI64() string {
r := rand.New(rand.NewSource(time.Now().UnixNano()))
var letter = []rune("ABCDEF0123456789")
b := make([]rune, 16+7)
@ -19,7 +21,7 @@ func RandomEUI64() string {
if (i+1)%3 == 0 {
b[i] = '-'
} else {
b[i] = letter[rand.Intn(len(letter))]
b[i] = letter[r.Intn(len(letter))]
}
}
return string(b)
@ -38,6 +40,9 @@ func sendCommand(p *serial.Port, command string, waitForOk bool) string {
if waitForOk {
loop = 10
}
time.Sleep(200 * time.Millisecond)
for i := 0; i < loop; i++ {
// ignoring error as EOF raises error on Linux
n, _ := p.Read(buf)
@ -53,14 +58,15 @@ func sendCommand(p *serial.Port, command string, waitForOk bool) string {
}
func main() {
if len(os.Args) != 2 {
fmt.Println("usage: " + filepath.Base(os.Args[0]) + " <DevEUI>")
if len(os.Args) != 3 {
fmt.Println("usage: " + filepath.Base(os.Args[0]) + " <SerialDevice> <DevEUI>")
os.Exit(1)
}
deveui := os.Args[1]
serialdev := os.Args[1]
deveui := os.Args[2]
c := &serial.Config{Name: "/dev/ttyUSB1", Baud: 115200, ReadTimeout: time.Second * 1}
c := &serial.Config{Name: serialdev, Baud: 115200, ReadTimeout: time.Second * 1}
s, err := serial.OpenPort(c)
if err != nil {
log.Fatal("Problem mit Serial Interface")