mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-13 03:09:51 +03:00
change uart pins without restart
This commit is contained in:
@@ -106,6 +106,7 @@ void EMSuart::start(const uint8_t tx_mode, const uint8_t rx_gpio, const uint8_t
|
||||
xTaskCreatePinnedToCore(uart_event_task, "uart_event_task", EMSESP_UART_STACKSIZE, NULL, EMSESP_UART_PRIORITY, &xHandle, EMSESP_UART_RUNNING_CORE);
|
||||
#endif
|
||||
} else {
|
||||
uart_set_pin(EMSUART_NUM, tx_gpio, rx_gpio, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
|
||||
vTaskResume(xHandle);
|
||||
}
|
||||
tx_mode_ = tx_mode;
|
||||
|
||||
@@ -134,10 +134,10 @@ StateUpdateResult WebSettings::update(JsonObject root, WebSettings & settings) {
|
||||
EMSESP::system_.remove_gpio(original_settings.tx_gpio);
|
||||
|
||||
// now add new gpio assignment, start with rx/tx
|
||||
check_flag(original_settings.rx_gpio, settings.rx_gpio, ChangeFlags::RESTART);
|
||||
check_flag(original_settings.rx_gpio, settings.rx_gpio, ChangeFlags::UART);
|
||||
have_valid_gpios = have_valid_gpios && EMSESP::system_.add_gpio(settings.rx_gpio, "UART Rx");
|
||||
|
||||
check_flag(original_settings.tx_gpio, settings.tx_gpio, ChangeFlags::RESTART);
|
||||
check_flag(original_settings.tx_gpio, settings.tx_gpio, ChangeFlags::UART);
|
||||
have_valid_gpios = have_valid_gpios && EMSESP::system_.add_gpio(settings.tx_gpio, "UART Tx");
|
||||
|
||||
check_flag(original_settings.led_gpio, settings.led_gpio, ChangeFlags::LED);
|
||||
|
||||
Reference in New Issue
Block a user