diff --git a/src/boards/board_Blue_Pill.cc b/src/boards/board_Blue_Pill.cc index 44ab8f78..635e7ddc 100644 --- a/src/boards/board_Blue_Pill.cc +++ b/src/boards/board_Blue_Pill.cc @@ -290,7 +290,9 @@ void cboard_Blue_Pill::Reset(void) { MReset(1); - PICSimLab.UpdateStatus(PS_SERIAL, "Serial: " + std::string(SERIALDEVICE)); + uint32_t baud_rate = *qemu_picsimlab_get_internals(QEMU_INTERNAL_UART0_BAUD); + bitbang_uart_set_speed(&master_uart[0], baud_rate); + PICSimLab.UpdateStatus(PS_SERIAL, "Serial: " + std::string(SERIALDEVICE) + "(" + std::to_string(baud_rate) + ")"); if (use_spare) SpareParts.Reset(); @@ -306,7 +308,10 @@ void cboard_Blue_Pill::RegisterRemoteControl(void) { void cboard_Blue_Pill::RefreshStatus(void) { if (serial_open) { - PICSimLab.UpdateStatus(PS_SERIAL, "Serial: " + std::string(SERIALDEVICE)); + uint32_t baud_rate = *qemu_picsimlab_get_internals(QEMU_INTERNAL_UART0_BAUD); + bitbang_uart_set_speed(&master_uart[0], baud_rate); + PICSimLab.UpdateStatus(PS_SERIAL, + "Serial: " + std::string(SERIALDEVICE) + "(" + std::to_string(baud_rate) + ")"); } else { PICSimLab.UpdateStatus(PS_SERIAL, "Serial: Error"); } diff --git a/src/boards/board_STM32_H103.cc b/src/boards/board_STM32_H103.cc index 202f0115..0bb9f255 100644 --- a/src/boards/board_STM32_H103.cc +++ b/src/boards/board_STM32_H103.cc @@ -311,7 +311,9 @@ void cboard_STM32_H103::Reset(void) { MReset(1); - PICSimLab.UpdateStatus(PS_SERIAL, "Serial: " + std::string(SERIALDEVICE)); + uint32_t baud_rate = *qemu_picsimlab_get_internals(QEMU_INTERNAL_UART0_BAUD); + bitbang_uart_set_speed(&master_uart[0], baud_rate); + PICSimLab.UpdateStatus(PS_SERIAL, "Serial: " + std::string(SERIALDEVICE) + "(" + std::to_string(baud_rate) + ")"); if (use_spare) SpareParts.Reset(); @@ -330,7 +332,10 @@ void cboard_STM32_H103::RegisterRemoteControl(void) { void cboard_STM32_H103::RefreshStatus(void) { if (serial_open) { - PICSimLab.UpdateStatus(PS_SERIAL, "Serial: " + std::string(SERIALDEVICE)); + uint32_t baud_rate = *qemu_picsimlab_get_internals(QEMU_INTERNAL_UART0_BAUD); + bitbang_uart_set_speed(&master_uart[0], baud_rate); + PICSimLab.UpdateStatus(PS_SERIAL, + "Serial: " + std::string(SERIALDEVICE) + "(" + std::to_string(baud_rate) + ")"); } else { PICSimLab.UpdateStatus(PS_SERIAL, "Serial: Error"); } diff --git a/tests/in_out/in_out_esp32.pzw b/tests/in_out/in_out_esp32.pzw index a79f7790..fc916185 100644 Binary files a/tests/in_out/in_out_esp32.pzw and b/tests/in_out/in_out_esp32.pzw differ diff --git a/tests/in_out/in_out_esp32c3.pzw b/tests/in_out/in_out_esp32c3.pzw index 6fc71ff9..daf71bf1 100644 Binary files a/tests/in_out/in_out_esp32c3.pzw and b/tests/in_out/in_out_esp32c3.pzw differ diff --git a/tests/in_out/in_out_stm32.pzw b/tests/in_out/in_out_stm32.pzw index 34744d97..4da8f2f8 100644 Binary files a/tests/in_out/in_out_stm32.pzw and b/tests/in_out/in_out_stm32.pzw differ