Skip to content

Commit dac71a6

Browse files
committed
Restart the device if Signaling or PeerConnection fails
1 parent d280ee3 commit dac71a6

File tree

4 files changed

+7
-16
lines changed

4 files changed

+7
-16
lines changed

components/peer/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ idf_component_register(
88
)
99

1010
add_definitions("-DESP32 -DCONFIG_USE_LWIP=1 -DCONFIG_DATA_BUFFER_SIZE=102400 -D__BYTE_ORDER=__LITTLE_ENDIAN")
11-
add_definitions("-DHTTP_DO_NOT_USE_CUSTOM_CONFIG -DMQTT_DO_NOT_USE_CUSTOM_CONFIG -DCONFIG_USE_USRSCTP=0 -DDISABLE_PEER_SIGNALING=0 -DCONFIG_KEEPALIVE_TIMEOUT=0")
11+
add_definitions("-DHTTP_DO_NOT_USE_CUSTOM_CONFIG -DMQTT_DO_NOT_USE_CUSTOM_CONFIG -DCONFIG_USE_USRSCTP=0 -DDISABLE_PEER_SIGNALING=0")

main/http.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ void do_http_request(const char *offer, char *answer) {
130130
if (err != ESP_OK || esp_http_client_get_status_code(client) != 200) {
131131
ESP_LOGE(LOG_TAG_HTTP, "Error perform http request %s",
132132
esp_err_to_name(err));
133+
esp_restart();
133134
}
134135

135136
free(body);

main/vapicon-2025-hardware-workshop.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ extern "C" void app_main(void) {
1717
ESP_ERROR_CHECK(esp_event_loop_create_default());
1818
wifi_connect();
1919

20-
board->ShowLogs("Creating PeerConnection");
20+
board->ShowLogs("WebRTC Create");
2121
webrtc_create(board);
2222
}

main/webrtc.h

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -111,27 +111,17 @@ void webrtc_create(M5AtomS3 *b) {
111111

112112
peer_connection_oniceconnectionstatechange(
113113
peer_connection, [](PeerConnectionState state, void *user_data) -> void {
114-
if (state == PEER_CONNECTION_CLOSED) {
115-
ESP_LOGI("WebRTC", "PEER_CONNECTION_CLOSED");
116-
} else if (state == PEER_CONNECTION_NEW) {
117-
ESP_LOGI("WebRTC", "PEER_CONNECTION_NEW");
118-
} else if (state == PEER_CONNECTION_CHECKING) {
119-
ESP_LOGI("WebRTC", "PEER_CONNECTION_CHECKING");
120-
} else if (state == PEER_CONNECTION_CONNECTED) {
114+
ESP_LOGI("WebRTC", "state %s", peer_connection_state_to_string(state));
115+
if (state == PEER_CONNECTION_CONNECTED) {
121116
board->ShowVAPILogo();
122117
StackType_t *stack_memory = (StackType_t *)heap_caps_malloc(
123118
30000 * sizeof(StackType_t), MALLOC_CAP_SPIRAM);
124119
assert(stack_memory != nullptr);
125120
xTaskCreateStaticPinnedToCore(send_audio_task, "audio_publisher",
126121
30000, peer_connection, 7, stack_memory,
127122
&send_audio_task_buffer, 0);
128-
ESP_LOGI("WebRTC", "PEER_CONNECTION_CONNECTED");
129-
} else if (state == PEER_CONNECTION_COMPLETED) {
130-
ESP_LOGI("WebRTC", "PEER_CONNECTION_COMPLETED");
131-
} else if (state == PEER_CONNECTION_FAILED) {
132-
ESP_LOGI("WebRTC", "PEER_CONNECTION_FAILED");
133-
} else if (state == PEER_CONNECTION_DISCONNECTED) {
134-
ESP_LOGI("WebRTC", "PEER_CONNECTION_DISCONNECTED");
123+
} else if (state == PEER_CONNECTION_CLOSED || state == PEER_CONNECTION_FAILED || state == PEER_CONNECTION_DISCONNECTED) {
124+
esp_restart();
135125
}
136126
});
137127

0 commit comments

Comments
 (0)