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
+
+
+
## 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)
+
+
### 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");
}
}