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
Этот коммит содержится в:
sago35 2022-09-25 02:09:41 +09:00 коммит произвёл GitHub
родитель 1e6c14b3e4
коммит 9e24441978
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
3 изменённых файлов: 9 добавлений и 1 удалений

Просмотреть файл

@ -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.

Просмотреть файл

@ -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

Просмотреть файл

@ -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)