Skip to content

Commit e0bb23b

Browse files
committed
Merge branch 'release_0.0.5' into 'master'
FG: Bump release number to 0.0.5 See merge request app-frameworks/esp_hosted!258
2 parents 3b86584 + 18bac1a commit e0bb23b

File tree

11 files changed

+51
-58
lines changed

11 files changed

+51
-58
lines changed

esp_hosted_fg/README.md

+20-14
Original file line numberDiff line numberDiff line change
@@ -88,16 +88,19 @@ The below table explains which feature is supported on which transport interface
8888
| ESP32-S3 | SDIO | NA | NA | NA |
8989
| ESP32-S3 | SPI | Yes | Yes | BLE 5.0 |
9090
| ESP32-S3 | UART | No | No | BLE 5.0 |
91-
| ESP32-C2 | SDIO | NA | NA | NA |
92-
| ESP32-C2 | SPI | Yes | Yes | ComingSoon |
93-
| ESP32-C2 | UART | No | No | BLE 5.0 |
91+
| ESP32-C2\* | SDIO | NA | NA | NA |
92+
| ESP32-C2\* | SPI | Yes | Yes | ComingSoon |
93+
| ESP32-C2\* | UART | No | No | BLE 5.0 |
9494

9595
Note:
96-
* BT stands for Bluetooth BR/EDR and BLE stands for Bluetooth Low Energy specifications.
97-
* ESP-Hosted-FG related BR/EDR 4.2 and BLE 4.2 functionalities are tested with bluez 5.43+. Whereas, BLE 5.0 functionalities are tested with bluez 5.45+.
98-
* We suggest the latest stable bluez version to be used. Any other Bluetooth stack instead of bluez also could be used.
99-
* bluez 5.45 on-wards BLE 5.0 HCI commands are supported.
100-
* BLE 5.0 has backward compatibility of BLE 4.2.
96+
- BT stands for Bluetooth BR/EDR and BLE stands for Bluetooth Low Energy specifications.
97+
- ESP-Hosted-FG related BR/EDR 4.2 and BLE 4.2 functionalities are tested with bluez 5.43+. Whereas, BLE 5.0 functionalities are tested with bluez 5.45+.
98+
- We suggest the latest stable bluez version to be used. Any other Bluetooth stack instead of bluez also could be used.
99+
- bluez 5.45 on-wards BLE 5.0 HCI commands are supported.
100+
- BLE 5.0 has backward compatibility of BLE 4.2.
101+
- \* ESP32-C2 is added as beta stage (only for ESP32-C2)
102+
- You may experience low throughput & intermittent SPI detection issue on ESP32-C2. It would evolve and get stable with time.
103+
101104

102105
##### 1.5.2 MCU Host
103106
The below table explains which feature is supported on which transport interface for MCU based host.
@@ -116,9 +119,9 @@ The below table explains which feature is supported on which transport interface
116119
| ESP32-S3 | SDIO | NA | NA | NA |
117120
| ESP32-S3 | SPI | Yes | Yes | BLE 5.0\* |
118121
| ESP32-S3 | UART | No | No | BLE 5.0\*\* |
119-
| ESP32-C2 | SDIO | NA | NA | NA |
120-
| ESP32-C2 | SPI | Yes | Yes | ComingSoon |
121-
| ESP32-C2 | UART | No | No | BLE 5.0\*\* |
122+
| ESP32-C2\*\*\* | SDIO | NA | NA | NA |
123+
| ESP32-C2\*\*\* | SPI | Yes | Yes | ComingSoon |
124+
| ESP32-C2\*\*\* | UART | No | No | BLE 5.0\*\* |
122125

123126
Note: BT stands for Bluetooth BR/EDR and BLE stands for Bluetooth Low Energy specifications.
124127

@@ -138,6 +141,9 @@ Note: BT stands for Bluetooth BR/EDR and BLE stands for Bluetooth Low Energy spe
138141
> With the help of this UART interface, BT/BLE stack can directly interact with BT controller present on ESP bypassing host driver and firmware
139142
> ESP Hosted host driver and a firmware plays no role in this communication
140143
144+
\*\*\* ESP32-C2 is added as beta stage (only for ESP32-C2)
145+
> You may experience low throughput & intermittent SPI detection issue on ESP32-C2. It would evolve and get stable with time.
146+
141147
* Linux hosts support OTA update (Over The Air ESP firmware update) in C and python. MCU hosts can refer to the same for their development. For detailed documentation, please read
142148
[ota_update.md](docs/Linux_based_host/ota_update.md).
143149

@@ -268,8 +274,8 @@ Below document explains the APIs provided for MCU based ESP-Hosted-FG solution
268274
* [API's for MCU based host](docs/MCU_based_host/mcu_api.md)
269275

270276
# 5. Throughput performance
271-
* Wi-Fi Performance in shielded environment
272-
Following performance numbers are taken on Linux based ESP-Hosted-FG solution.
273-
These numbers are tested with older release, [Release 0.3](https://github.com/espressif/esp-hosted/releases/tag/release%2Fv0.3)
277+
* Station & Soft-AP both the Wi-Fi modes support both, 20 MHz & 40 MHz bandwidth
278+
* Throughput performace is measured with iperf inside the RF shielded box
279+
* Following are ESP-Hosted-FG iperf throughput numbers for Wi-Fi (station mode - 20MHz), considering common use-case
274280

275281
![alt text](docs/esp_hosted_performance.png "ESP Hosted performance matrix")

esp_hosted_fg/docs/Linux_based_host/Getting_started.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ $ cd host/linux/host_control/python_support/
126126

127127
## 3. Bluetooth/BLE Connectivity
128128

129-
* Ensure that bluez is installed on Raspberry Pi and it is downloaded in source format as well.
129+
* Ensure that BlueZ and related dependency softwares (mentioned [earlier](Linux_based_readme.md#12-host-setup)) are installed on the host
130+
* BlueZ is example Bluetooth stack used, as it is generally available in Linux. Any other Bluetooth stack can also be used.
130131
* In following test, Android device was used as a BT/BLE test device. For BLE testing, [nRF connect for mobile APP](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en_IN) was used.
131132
* Ensure that `hci0` interface is visible. To check that, run `hciconfig`.
132133
```

esp_hosted_fg/docs/Linux_based_host/Linux_based_readme.md

+2-11
Original file line numberDiff line numberDiff line change
@@ -203,17 +203,8 @@ This section identifies Raspberry-Pi specific setup requirements.
203203
### 2.2 ESP-IDF Setup
204204
:warning:`Note: ESP-IDF is needed to compile ESP-Hosted firmware source. Skip this step if you are planning to use pre-built release binaries.`
205205

206-
ESP-IDF release version to be used for ESP peripherals are
207-
208-
| ESP peripheral | ESP-IDF release |
209-
|:----:|:----:|
210-
| ESP32 | [release v4.0](https://github.com/espressif/esp-idf/tree/release/v4.0) |
211-
| ESP32-S2 | [release v4.2](https://github.com/espressif/esp-idf/tree/release/v4.2) |
212-
| ESP32-C2 | [release v5.0](https://github.com/espressif/esp-idf/tree/release/v5.0) |
213-
| ESP32-C3 | [release v4.4](https://github.com/espressif/esp-idf/tree/release/v4.4) |
214-
| ESP32-S3 | [release v4.4](https://github.com/espressif/esp-idf/tree/release/v4.4) |
215-
216-
Clone appropriate ESP-IDF version as per your ESP peripheral. The control path between Linux host and ESP peripheral is based on `protobuf`. For that, corresponding stack layer, `protocomm` from ESP-IDF is used.
206+
- Clone the ESP-IDF [release/v5.0](https://github.com/espressif/esp-idf/tree/release/v5.0) and git checkout to `release/v5.0` branch.
207+
- The control path between MCU host and ESP peripheral is based on `protobuf`. For that, corresponding stack layer, `protocomm` from ESP-IDF is used. It will be already present in ESP-IDF, no extra setup required for that.
217208

218209
### 2.3 ESP-Hosted Code Repository
219210
Clone esp-hosted repository on Linux host.

esp_hosted_fg/docs/MCU_based_host/MCU_based_readme.md

+2-11
Original file line numberDiff line numberDiff line change
@@ -127,17 +127,8 @@ Setup image is here.
127127
## 2.1 ESP-IDF requirement
128128
:warning:`Note: ESP-IDF is needed to compile ESP-Hosted firmware source. Skip this step if you are planning to use pre-built release binaries.`
129129

130-
ESP-IDF release version to be used for ESP peripherals are
131-
132-
| ESP peripheral | ESP-IDF release |
133-
|:----:|:----:|
134-
| ESP32 | [release v4.0](https://github.com/espressif/esp-idf/tree/release/v4.0) |
135-
| ESP32-S2 | [release v4.2](https://github.com/espressif/esp-idf/tree/release/v4.2) |
136-
| ESP32-C2 | [release v5.0](https://github.com/espressif/esp-idf/tree/release/v5.0) |
137-
| ESP32-C3 | [release v4.4](https://github.com/espressif/esp-idf/tree/release/v4.4) |
138-
| ESP32-S3 | [release v4.4](https://github.com/espressif/esp-idf/tree/release/v4.4) |
139-
140-
Clone appropriate ESP-IDF version as per your ESP peripheral. The control path between MCU host and ESP peripheral is based on `protobuf`. For that, corresponding stack layer, `protocomm` from ESP-IDF is used.
130+
- Clone the ESP-IDF [release/v5.0](https://github.com/espressif/esp-idf/tree/release/v5.0) and checkout to `release/v5.0` branch.
131+
- The control path between MCU host and ESP peripheral is based on `protobuf`. For that, corresponding stack layer, `protocomm` from ESP-IDF is used. It will be already present in ESP-IDF, no extra setup required for that.
141132

142133
### 2.2 Setup
143134
#### 2.2.1 Using pre-built binary
-10.7 KB
Loading

esp_hosted_fg/esp/esp_driver/network_adapter/CMakeLists.txt

+5-2
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,13 @@
22
# in this exact order for cmake to work correctly
33
cmake_minimum_required(VERSION 3.5)
44

5-
set(PROJECT_VERSION "0.4")
5+
set(PROJECT_VERSION_MAJOR_1 "0")
6+
set(PROJECT_VERSION_MAJOR_2 "0")
7+
set(PROJECT_VERSION_MINOR "5")
68
message(*************************************************************************************)
7-
message(" Building ESP-Hosted Firmware version :: ${PROJECT_VERSION} ")
9+
message(" Building ESP-Hosted-FG Firmware version :: ${PROJECT_VERSION_MAJOR_1}.${PROJECT_VERSION_MAJOR_2}.${PROJECT_VERSION_MINOR} ")
810
message(*************************************************************************************)
911

1012
include($ENV{IDF_PATH}/tools/cmake/project.cmake)
1113
project(network_adapter)
14+
idf_build_set_property(COMPILE_OPTIONS "-fdiagnostics-color=always" APPEND)

esp_hosted_fg/esp/esp_driver/network_adapter/main/CMakeLists.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,10 @@ endif()
99

1010

1111
register_component()
12-
set(PROJECT_VERSION "-DPROJECT_VERSION=0.4")
13-
target_compile_definitions(${COMPONENT_LIB} PRIVATE ${PROJECT_VERSION})
12+
set(PROJECT_VERSION_MAJOR_1 "-DPROJECT_VERSION_MAJOR_1=0")
13+
set(PROJECT_VERSION_MAJOR_2 "-DPROJECT_VERSION_MAJOR_2=0")
14+
set(PROJECT_VERSION_MINOR "-DPROJECT_VERSION_MINOR=5")
15+
target_compile_definitions(${COMPONENT_LIB} PRIVATE ${PROJECT_VERSION_MAJOR_1} ${PROJECT_VERSION_MAJOR_2} ${PROJECT_VERSION_MINOR})
1416

1517
# Add directory of protocomm_priv.h to include paths
1618
idf_component_get_property(protocomm_dir protocomm COMPONENT_DIR)

esp_hosted_fg/esp/esp_driver/network_adapter/main/app_main.c

+12-3
Original file line numberDiff line numberDiff line change
@@ -104,11 +104,20 @@ uint8_t ap_mac[MAC_LEN] = {0};
104104
static void print_firmware_version()
105105
{
106106
ESP_LOGI(TAG, "*********************************************************************");
107-
ESP_LOGI(TAG, " ESP-Hosted Firmware version :: %.1f ", PROJECT_VERSION);
107+
ESP_LOGI(TAG, " ESP-Hosted-FG Firmware version :: %d.%d.%d ",
108+
PROJECT_VERSION_MAJOR_1, PROJECT_VERSION_MAJOR_2, PROJECT_VERSION_MINOR);
108109
#if CONFIG_ESP_SPI_HOST_INTERFACE
109-
ESP_LOGI(TAG, " Transport used :: SPI ");
110+
#if BLUETOOTH_UART
111+
ESP_LOGI(TAG, " Transport used :: SPI + UART ");
112+
#else
113+
ESP_LOGI(TAG, " Transport used :: SPI only ");
114+
#endif
110115
#else
111-
ESP_LOGI(TAG, " Transport used :: SDIO ");
116+
#if BLUETOOTH_UART
117+
ESP_LOGI(TAG, " Transport used :: SDIO + UART ");
118+
#else
119+
ESP_LOGI(TAG, " Transport used :: SDIO only ");
120+
#endif
112121
#endif
113122
ESP_LOGI(TAG, "*********************************************************************");
114123
}

esp_hosted_fg/esp/esp_driver/network_adapter/main/stats.c

+2-12
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
#include <unistd.h>
1818
#include "esp_log.h"
1919

20+
#if TEST_RAW_TP
2021
static const char TAG[] = "stats";
22+
#endif
2123

2224
#ifdef CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS
2325
/* These functions are only for debugging purpose
@@ -274,15 +276,3 @@ void debug_set_wifi_logging(void) {
274276
#endif /* CONFIG_ESP32_WIFI_DEBUG_LOG_ENABLE*/
275277

276278
}
277-
278-
void debug_log_firmware_version(void)
279-
{
280-
ESP_LOGI(TAG, "*********************************************************************");
281-
ESP_LOGI(TAG, " ESP-Hosted Firmware version :: %.1f ", PROJECT_VERSION);
282-
#if CONFIG_ESP_SPI_HOST_INTERFACE
283-
ESP_LOGI(TAG, " Transport used :: SPI ");
284-
#else
285-
ESP_LOGI(TAG, " Transport used :: SDIO ");
286-
#endif
287-
ESP_LOGI(TAG, "*********************************************************************");
288-
}

esp_hosted_fg/esp/esp_driver/network_adapter/main/stats.h

-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ void debug_update_raw_tp_rx_count(uint16_t len);
8989
#endif
9090

9191

92-
void debug_log_firmware_version(void);
9392
void create_debugging_tasks(void);
9493
uint8_t debug_get_raw_tp_conf(void);
9594
void debug_set_wifi_logging(void);

esp_hosted_ng/docs/bluetooth.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
## Bluetooth/BLE Setup and Test Procedure
22

3-
* Ensure that bluez is installed on Raspberry Pi and it is downloaded in source format as well.
3+
* Ensure that BlueZ and related dependency softwares (listed in setup document earlier) are installed on the host
4+
* BlueZ is example Bluetooth stack used, as it is generally available in Linux. Any other Bluetooth stack can also be used.
45
* In following test, Android device was used as a BT/BLE test device. For BLE testing, [nRF connect for mobile APP](https://play.google.com/store/apps/details?id=no.nordicsemi.android.mcp&hl=en_IN) was used.
56
* Ensure that `hci0` interface is visible. To check that, run `hciconfig`.
67
```

0 commit comments

Comments
 (0)