changed the example_test.go so it stops reading when "\n\r" is received

This commit is contained in:
Lukas Becker
2020-05-08 12:43:23 +02:00
committed by Cristian Maglie
parent 640e755b94
commit f88d900804

View File

@@ -6,7 +6,10 @@
package serial_test package serial_test
import "fmt" import (
"fmt"
"strings"
)
import "log" import "log"
import "go.bug.st/serial" import "go.bug.st/serial"
@@ -48,18 +51,25 @@ func Example_sendAndReceive() {
fmt.Printf("Sent %v bytes\n", n) fmt.Printf("Sent %v bytes\n", n)
// Read and print the response // Read and print the response
buff := make([]byte, 100) buff := make([]byte, 100)
for { for {
// Reads up to 100 bytes // Reads up to 100 bytes
n, err := port.Read(buff) n, err := port.Read(buff)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
break
} }
if n == 0 { if n == 0 {
fmt.Println("\nEOF") fmt.Println("\nEOF")
break break
} }
fmt.Printf("%v", string(buff[:n]))
if strings.Contains(string(buff[:n]), "\n\r") { //if we receive a newline and carriage return, stop reading
fmt.Printf("%v", string(buff)) //Print the data we received
break
}
} }
} }