Serial listener Fixes

serial_read file fixed and added functionalities
This commit is contained in:
foglar 2024-01-28 14:20:17 +01:00
parent b7c477b37e
commit dd089cd3b3
2 changed files with 50 additions and 2 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
2024*.txt 2024*.txt
test/*

View File

@ -5,6 +5,7 @@ import (
"github.com/tarm/serial" "github.com/tarm/serial"
"log" "log"
"os" "os"
"strconv"
"time" "time"
) )
@ -36,7 +37,12 @@ func baudrateInput() int {
fmt.Print("Enter baudrate (for example - '9600'): ") fmt.Print("Enter baudrate (for example - '9600'): ")
fmt.Scanln(&s_baudrate) fmt.Scanln(&s_baudrate)
baudrate = baudrateCheck(s_baudrate)
return baudrate
}
func baudrateCheck(s_baudrate string) int {
var baudrate int
switch s_baudrate { switch s_baudrate {
case "4800": case "4800":
baudrate = 4800 baudrate = 4800
@ -48,6 +54,7 @@ func baudrateInput() int {
baudrate = 9600 baudrate = 9600
} }
return baudrate return baudrate
} }
func UserInput() (string, int) { func UserInput() (string, int) {
@ -62,8 +69,48 @@ func getTime() string {
} }
func main() { func main() {
// User input args := os.Args[1:]
port, baudrate := UserInput() var port string
var baudrate int
if len(args) == 0 {
port, baudrate = UserInput()
} else {
i := 0
for i < len(args) {
if args[i] == "-p" && i+1 < len(args) {
port = args[i+1]
}
if args[i] == "-h" || args[i] == "--help" {
fmt.Println("-h, --help - prints this message")
fmt.Println("-p [port] - listens on port")
fmt.Println("-b [baudrate] - sets the baudrate")
fmt.Println("-d - runs the script with default values")
os.Exit(0)
}
if args[i] == "-b" && i+1 < len(args) {
var err error
baudrate, err = strconv.Atoi(args[i+1])
if err != nil {
fmt.Println("Invalid baudrate")
os.Exit(1)
}
}
if args[i] == "-d" {
port = "/dev/ACM0"
baudrate = 9600
}
i++
}
if port == "" {
port = portInput()
}
if baudrate == 0 {
baudrate = baudrateInput()
}
}
// Listen on port // Listen on port
fmt.Printf("Listening on port %s with baudrate %d:\n", port, baudrate) fmt.Printf("Listening on port %s with baudrate %d:\n", port, baudrate)