diff --git a/README.md b/README.md index 516ac03..5310d20 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,8 @@ # Thread Border Router with ESP32 +thread architecture overview diagram + + ## Bullet points - Supports single ESP32-S31 microcontroller setup @@ -74,6 +77,8 @@ http://esp-ot-br.local - ESP32-S31 single SoC (Function-CoreBoard-1, Korvo-1) +ESP31-S31 dev board + ### SoC with Co-Processor (- ESP32-P4 with Radio Co-Processor (RCP) e.g. ESP32-C6, ESP32-H2, ESP32-C5 - not tested) diff --git a/doc/images/esp32-s31-function-coreboard-1.webp b/doc/images/esp32-s31-function-coreboard-1.webp new file mode 100644 index 0000000..147ddfb Binary files /dev/null and b/doc/images/esp32-s31-function-coreboard-1.webp differ diff --git a/doc/images/thread_architecture_overview.webp b/doc/images/thread_architecture_overview.webp new file mode 100644 index 0000000..8a89cc3 Binary files /dev/null and b/doc/images/thread_architecture_overview.webp differ diff --git a/ot_br/components/ot_br_web_api/ot_br_web_api_setup_mode.c b/ot_br/components/ot_br_web_api/ot_br_web_api_setup_mode.c index 87fc2c4..b0673a9 100644 --- a/ot_br/components/ot_br_web_api/ot_br_web_api_setup_mode.c +++ b/ot_br/components/ot_br_web_api/ot_br_web_api_setup_mode.c @@ -74,6 +74,18 @@ static void auto_open_commissioning(void) esp_openthread_lock_release(); } +static void stop_commissioning(void) +{ + otInstance *instance = esp_openthread_get_instance(); + esp_openthread_lock_acquire(portMAX_DELAY); + + otError err = otCommissionerStop(instance); + ESP_LOGI(TAG, "otCommissionerStop: %s (%d)", + otThreadErrorToString(err), err); + + esp_openthread_lock_release(); +} + static void button_task(void *arg) { gpio_config_t cfg = { @@ -109,6 +121,7 @@ static void button_task(void *arg) int64_t elapsed = (esp_timer_get_time() / 1000) - s_setup_mode_started_at; if (elapsed > SETUP_WINDOW_MS) { s_setup_mode_active = false; + stop_commissioning(); ESP_LOGI(TAG, "Setup-Modus is expired"); } }