diff --git a/frontend/dronebridge.js b/frontend/dronebridge.js index ee9f78a..7d1542f 100644 --- a/frontend/dronebridge.js +++ b/frontend/dronebridge.js @@ -3,6 +3,8 @@ const ROOT_URL = window.location.href // for production code let conn_status = 0; // connection status to the ESP32 let old_conn_status = 0; // connection status before last update of UI to know when it changed let serial_via_JTAG = 0; // set to 1 if ESP32 is using the USB interface as serial interface for data and not using the UART. If 0 we set UART config to invisible for the user. +let last_byte_count = 0; +let last_timestamp_byte_count = 0; function change_ap_ip_visibility(){ let ap_ip_div = document.getElementById("ap_ip_div"); @@ -176,12 +178,22 @@ function update_conn_status() { function get_stats() { get_json("api/system/stats").then(json_data => { conn_status = 1 + let d = new Date(); let bytes = parseInt(json_data["read_bytes"]) - if (!isNaN(bytes) && bytes > 1000) { - document.getElementById("read_bytes").innerHTML = (bytes / 1000) + " kb" + let bytes_per_second = 0; + let current_time = d.getTime(); + if (last_byte_count > 0 && last_timestamp_byte_count > 0 && !isNaN(bytes)) { + bytes_per_second = (bytes - last_byte_count) / ((current_time - last_timestamp_byte_count) / 1000); + } + last_timestamp_byte_count = current_time; + if (!isNaN(bytes) && bytes > 1000000) { + document.getElementById("read_bytes").innerHTML = (bytes / 1000000).toFixed(3) + " MB (" + ((bytes_per_second*8)/1000).toFixed(2) + " kbit/s)" + } else if (!isNaN(bytes) && bytes > 1000) { + document.getElementById("read_bytes").innerHTML = (bytes / 1000).toFixed(2) + " kB (" + ((bytes_per_second*8)/1000).toFixed(2) + " kbit/s)" } else if (!isNaN(bytes)) { - document.getElementById("read_bytes").innerHTML = bytes + " bytes" + document.getElementById("read_bytes").innerHTML = bytes + " bytes (" + Math.round(bytes_per_second) + " byte/s)" } + last_byte_count = bytes; let tcp_clients = parseInt(json_data["tcp_connected"]) if (!isNaN(tcp_clients) && tcp_clients === 1) { diff --git a/sdkconfig b/sdkconfig index de1944b..26b22ed 100644 --- a/sdkconfig +++ b/sdkconfig @@ -459,9 +459,9 @@ CONFIG_WEB_MOUNT_POINT="/www" # # Compiler options # -CONFIG_COMPILER_OPTIMIZATION_DEBUG=y +# CONFIG_COMPILER_OPTIMIZATION_DEBUG is not set # CONFIG_COMPILER_OPTIMIZATION_SIZE is not set -# CONFIG_COMPILER_OPTIMIZATION_PERF is not set +CONFIG_COMPILER_OPTIMIZATION_PERF=y # CONFIG_COMPILER_OPTIMIZATION_NONE is not set CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE=y # CONFIG_COMPILER_OPTIMIZATION_ASSERTIONS_SILENT is not set @@ -1003,7 +1003,7 @@ CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=32 # CONFIG_ESP_WIFI_STATIC_TX_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER=y CONFIG_ESP_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=64 +CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=32 CONFIG_ESP_WIFI_STATIC_RX_MGMT_BUFFER=y # CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUFFER is not set CONFIG_ESP_WIFI_DYNAMIC_RX_MGMT_BUF=0 @@ -1017,7 +1017,7 @@ CONFIG_ESP_WIFI_NVS_ENABLED=y CONFIG_ESP_WIFI_SOFTAP_BEACON_MAX_LEN=752 CONFIG_ESP_WIFI_MGMT_SBUF_NUM=32 CONFIG_ESP_WIFI_IRAM_OPT=y -CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=y +# CONFIG_ESP_WIFI_EXTRA_IRAM_OPT is not set CONFIG_ESP_WIFI_RX_IRAM_OPT=y CONFIG_ESP_WIFI_ENABLE_WPA3_SAE=y CONFIG_ESP_WIFI_ENABLE_SAE_PK=y @@ -1030,18 +1030,16 @@ CONFIG_ESP_WIFI_SLP_DEFAULT_WAIT_BROADCAST_DATA_TIME=15 # CONFIG_ESP_WIFI_FTM_ENABLE is not set # CONFIG_ESP_WIFI_STA_DISCONNECTED_PM_ENABLE is not set # CONFIG_ESP_WIFI_GCMP_SUPPORT is not set -CONFIG_ESP_WIFI_GMAC_SUPPORT=y +# CONFIG_ESP_WIFI_GMAC_SUPPORT is not set CONFIG_ESP_WIFI_SOFTAP_SUPPORT=y # CONFIG_ESP_WIFI_SLP_BEACON_LOST_OPT is not set -CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=1 +CONFIG_ESP_WIFI_ESPNOW_MAX_ENCRYPT_NUM=7 CONFIG_ESP_WIFI_MBEDTLS_CRYPTO=y CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT=y -# CONFIG_ESP_WIFI_EAP_TLS1_3 is not set # CONFIG_ESP_WIFI_WAPI_PSK is not set # CONFIG_ESP_WIFI_SUITE_B_192 is not set # CONFIG_ESP_WIFI_11KV_SUPPORT is not set # CONFIG_ESP_WIFI_MBO_SUPPORT is not set -# CONFIG_ESP_WIFI_ENABLE_ROAMING_APP is not set # CONFIG_ESP_WIFI_DPP_SUPPORT is not set # CONFIG_ESP_WIFI_11R_SUPPORT is not set # CONFIG_ESP_WIFI_WPS_SOFTAP_REGISTRAR is not set @@ -1147,7 +1145,6 @@ CONFIG_FREERTOS_TASK_NOTIFICATION_ARRAY_ENTRIES=1 # # Port # -CONFIG_FREERTOS_TASK_FUNCTION_WRAPPER=y # CONFIG_FREERTOS_WATCHPOINT_END_OF_STACK is not set CONFIG_FREERTOS_TLSP_DELETION_CALLBACKS=y # CONFIG_FREERTOS_TASK_PRE_DELETION_HOOK is not set @@ -1230,7 +1227,7 @@ CONFIG_LWIP_TCPIP_TASK_PRIO=18 # CONFIG_LWIP_CHECK_THREAD_SAFETY is not set CONFIG_LWIP_DNS_SUPPORT_MDNS_QUERIES=y # CONFIG_LWIP_L2_TO_L3_COPY is not set -CONFIG_LWIP_IRAM_OPTIMIZATION=y +# CONFIG_LWIP_IRAM_OPTIMIZATION is not set # CONFIG_LWIP_EXTRA_IRAM_OPTIMIZATION is not set CONFIG_LWIP_TIMERS_ONDEMAND=y CONFIG_LWIP_ND6=y @@ -1530,6 +1527,7 @@ CONFIG_MBEDTLS_ERROR_STRINGS=y # CONFIG_MQTT_PROTOCOL_311 is not set # CONFIG_MQTT_PROTOCOL_5 is not set # CONFIG_MQTT_TRANSPORT_SSL is not set +# CONFIG_MQTT_TRANSPORT_WEBSOCKET is not set # CONFIG_MQTT_MSG_ID_INCREMENTAL is not set # CONFIG_MQTT_SKIP_PUBLISH_IF_DISCONNECTED is not set # CONFIG_MQTT_REPORT_DELETED_MESSAGES is not set @@ -1722,7 +1720,9 @@ CONFIG_SPIFFS_USE_MTIME=y # # Websocket # -# CONFIG_WS_TRANSPORT is not set +CONFIG_WS_TRANSPORT=y +CONFIG_WS_BUFFER_SIZE=1024 +# CONFIG_WS_DYNAMIC_BUFFER is not set # end of Websocket # end of TCP Transport @@ -1906,7 +1906,7 @@ CONFIG_MDNS_PREDEF_NETIF_AP=y # end of mDNS # end of Component config -CONFIG_IDF_EXPERIMENTAL_FEATURES=y +# CONFIG_IDF_EXPERIMENTAL_FEATURES is not set # Deprecated options for backward compatibility # CONFIG_APP_BUILD_TYPE_ELF_RAM is not set @@ -1925,9 +1925,9 @@ CONFIG_LOG_BOOTLOADER_LEVEL=3 CONFIG_FLASHMODE_DIO=y # CONFIG_FLASHMODE_DOUT is not set CONFIG_MONITOR_BAUD=115200 -CONFIG_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG=y -CONFIG_COMPILER_OPTIMIZATION_DEFAULT=y +# CONFIG_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_LEVEL_DEBUG is not set +# CONFIG_COMPILER_OPTIMIZATION_DEFAULT is not set # CONFIG_OPTIMIZATION_LEVEL_RELEASE is not set # CONFIG_COMPILER_OPTIMIZATION_LEVEL_RELEASE is not set CONFIG_OPTIMIZATION_ASSERTIONS_ENABLED=y @@ -2014,7 +2014,7 @@ CONFIG_ESP32_WIFI_DYNAMIC_RX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_STATIC_TX_BUFFER is not set CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER=y CONFIG_ESP32_WIFI_TX_BUFFER_TYPE=1 -CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=64 +CONFIG_ESP32_WIFI_DYNAMIC_TX_BUFFER_NUM=32 # CONFIG_ESP32_WIFI_CSI_ENABLED is not set CONFIG_ESP32_WIFI_AMPDU_TX_ENABLED=y CONFIG_ESP32_WIFI_TX_BA_WIN=6