main: allow setting the baud rate for serial monitors (#3190)

* main: allow setting the baud rate for serial monitors with default baudrate of 115200 bps
This commit is contained in:
sago35
2022-09-25 02:09:41 +09:00
committed by GitHub
parent 1e6c14b3e4
commit 9e24441978
3 changed files with 9 additions and 1 deletions
+1
View File
@@ -51,6 +51,7 @@ type Options struct {
Directory string
PrintJSON bool
Monitor bool
BaudRate int
}
// Verify performs a validation on the given options, raising an error if options are not valid.
+2
View File
@@ -1337,6 +1337,7 @@ func main() {
llvmFeatures := flag.String("llvm-features", "", "comma separated LLVM features to enable")
cpuprofile := flag.String("cpuprofile", "", "cpuprofile output")
monitor := flag.Bool("monitor", false, "enable serial monitor")
baudrate := flag.Int("baudrate", 115200, "baudrate of serial monitor")
var flagJSON, flagDeps, flagTest bool
if command == "help" || command == "list" || command == "info" || command == "build" {
@@ -1427,6 +1428,7 @@ func main() {
LLVMFeatures: *llvmFeatures,
PrintJSON: flagJSON,
Monitor: *monitor,
BaudRate: *baudrate,
}
if *printCommands {
options.PrintCommands = printCommand
+6 -1
View File
@@ -32,10 +32,15 @@ func Monitor(port string, options *compileopts.Options) error {
break
}
br := options.BaudRate
if br <= 0 {
br = 115200
}
wait = 300
var p serial.Port
for i := 0; i <= wait; i++ {
p, err = serial.Open(port, &serial.Mode{})
p, err = serial.Open(port, &serial.Mode{BaudRate: br})
if err != nil {
if i < wait {
time.Sleep(10 * time.Millisecond)