fix(esp_hosted_ng): Reduce default spi queue size for esp32c2 to avoid mem alloc...
authorShreyas Sheth <shreyas.sheth@espressif.com>
Thu, 28 Mar 2024 07:06:36 +0000 (12:36 +0530)
committerShreyas Sheth <shreyas.sheth@espressif.com>
Mon, 1 Apr 2024 05:54:10 +0000 (11:24 +0530)
esp_hosted_fg/esp/esp_driver/network_adapter/main/slave_bt.c
esp_hosted_ng/esp/esp_driver/network_adapter/main/Kconfig.projbuild
esp_hosted_ng/esp/esp_driver/network_adapter/main/slave_bt.c
esp_hosted_ng/esp/esp_driver/network_adapter/main/spi_slave_api.c
esp_hosted_ng/esp/esp_driver/network_adapter/sdkconfig.defaults.esp32c2
esp_hosted_ng/esp/esp_driver/network_adapter/sdkconfig.defaults.esp32c6

index 4699e8c30251174c69b03d4ba09696fe20a55fb8..2f6e77bbff0f2232752491595173b6315b75b926 100644 (file)
@@ -428,6 +428,11 @@ void esp_vhci_host_send_packet(uint8_t *data, uint16_t len)
     if (*(data) == DATA_TYPE_COMMAND) {
         struct ble_hci_cmd *cmd = NULL;
         cmd = (struct ble_hci_cmd *) ble_hci_trans_buf_alloc(BLE_HCI_TRANS_BUF_CMD);
+       if (!cmd) {
+               ESP_LOGE(BT_TAG, "Failed to allocate memory for HCI transport buffer");
+               return;
+       }
+
         memcpy((uint8_t *)cmd, data + 1, len - 1);
         ble_hci_trans_hs_cmd_tx((uint8_t *)cmd);
     }
index fa1e6891f0a870886aa15c1eed1c0ffca6f1bcaa..a4f164b57b0053feadaa482533a56d9306203d1f 100644 (file)
@@ -47,7 +47,21 @@ menu "Example Configuration"
         int "GPIO pin for data ready interrupt"
         default 4
         help
-               GPIO pin for indicating host that SPI slave has data to be read by host
+            GPIO pin for indicating host that SPI slave has data to be read by host
+
+    config ESP_SPI_TX_Q_SIZE
+        int "ESP to Host SPI queue size"
+        default 10 if IDF_TARGET_ESP32
+        default 20
+        help
+            Very small tx queue will lower ESP == SPI ==> Host data rate
+
+    config ESP_SPI_RX_Q_SIZE
+        int "Host to ESP SPI queue size"
+        default 10 if IDF_TARGET_ESP32
+        default 20
+        help
+            Very small RX queue will lower ESP <== SPI == Host data rate
 
     config ESP_SPI_CHECKSUM
         bool "SPI checksum ENABLE/DISABLE"
index 46acd6e1e30ca5c2ce080b73d3459d2bedee8f33..6bf3a5b143d38c7a7542496b90034c927510bb2a 100644 (file)
@@ -409,6 +409,10 @@ void esp_vhci_host_send_packet(uint8_t *data, uint16_t len)
     if (*(data) == DATA_TYPE_COMMAND) {
         struct ble_hci_cmd *cmd = NULL;
         cmd = (struct ble_hci_cmd *) ble_hci_trans_buf_alloc(BLE_HCI_TRANS_BUF_CMD);
+       if (!cmd) {
+               ESP_LOGE(BT_TAG, "Failed to allocate memory for HCI transport buffer");
+               return;
+       }
         memcpy((uint8_t *)cmd, data + 1, len - 1);
         ble_hci_trans_hs_cmd_tx((uint8_t *)cmd);
     }
index 12175d00f63a1e3c18bdbe7eea82e5c758c3e4fc..3dd7a2f952dd49b8c0513d762e98772dd89233dd 100644 (file)
@@ -128,13 +128,9 @@ static const char TAG[] = "FW_SPI";
  */
 
 #define SPI_QUEUE_SIZE                 3
-#ifdef CONFIG_IDF_TARGET_ESP32
-       #define SPI_RX_QUEUE_SIZE       10
-       #define SPI_TX_QUEUE_SIZE       10
-#else
-       #define SPI_RX_QUEUE_SIZE       20
-       #define SPI_TX_QUEUE_SIZE       20
-#endif
+
+#define SPI_TX_QUEUE_SIZE              CONFIG_ESP_SPI_TX_Q_SIZE
+#define SPI_RX_QUEUE_SIZE              CONFIG_ESP_SPI_RX_Q_SIZE
 
 static interface_context_t context;
 static interface_handle_t if_handle_g;
index 742ebc6669c7b79de75e342c6872d590778462a0..519e7abcd4ada79ab0ada660515fcf77a598f387 100644 (file)
@@ -29,8 +29,6 @@ CONFIG_PARTITION_TABLE_FILENAME="partitions.esp32c2.csv"
 
 CONFIG_ESP_SPI_RX_Q_SIZE=6
 CONFIG_ESP_SPI_TX_Q_SIZE=6
-CONFIG_ESP_DEFAULT_TASK_STACK_SIZE=2048
-CONFIG_ESP_CACHE_MALLOC=y
 
 CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=14
 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=18
index 73683520d7f6ee32c5dd8cb4174f75ba673acf86..741dd644db3c27cc91a15ee7cbb2d13474cf5590 100644 (file)
@@ -23,7 +23,6 @@ CONFIG_BT_LE_HCI_INTERFACE_USE_RAM=y
 
 CONFIG_ESP32_WIFI_NVS_ENABLED=
 
-CONFIG_ESP_CACHE_MALLOC=y
 CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=40
 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=60
 CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=40
This page took 0.034744 seconds and 4 git commands to generate.