You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
├── idf_ext.py # IDF action extension (Auto-discovery in v6.0+)
57
57
├── README.md # This file
58
58
└── README_CN.md # Chinese version Readme
59
59
```
@@ -62,7 +62,9 @@ esp_board_manager/
62
62
63
63
### 1. Setup IDF Action Extension
64
64
65
-
The ESP Board Manager now supports IDF action extension, providing seamless integration with the ESP-IDF build system. Set the `IDF_EXTRA_ACTIONS_PATH` environment variable to include the ESP Board Manager directory:
65
+
The ESP Board Manager now supports IDF action extension, providing seamless integration with the ESP-IDF build system. This feature allows you to use `idf.py gen-bmgr-config` command directly instead of running the Python script manually.
66
+
67
+
Set the `IDF_EXTRA_ACTIONS_PATH` environment variable to include the ESP Board Manager directory:
> **Note:** If you use `idf.py add-dependency xxx` to add **esp_board_manager** as a dependency, the directory `YOUR_PROJECT_ROOT_PATH/managed_components/XXXX__esp_board_manager` will not be available on the first build or after cleaning the `managed_components` folder. We recommend running `idf.py set-target`, `idf.py menuconfig`, or `idf.py build` to automatically download the **esp_board_manager** component into `YOUR_PROJECT_ROOT_PATH/managed_components/XXXX__esp_board_manager`.
93
95
94
-
> **Version Requirement:** Supports ESP-IDF v5.4 and later versions
96
+
> **Version Requirement:** Compatible with ESP-IDF v5.4 and v5.5 branches. **Note:** Versions prior to v5.4.2 or v5.5.1 may encounter Kconfig dependency issues.
97
+
98
+
> **Note:** IDF action extension auto-discovery is available starting from ESP-IDF v6.0. No need to set `IDF_EXTRA_ACTIONS_PATH` beginning with IDF v6.0, as it automatically discovers the IDF action extension.
95
99
96
100
If you encounter any issues, please refer to the [## Troubleshooting](#troubleshooting) section.
97
101
@@ -247,6 +251,9 @@ For detailed YAML configuration rules and format specifications, please refer to
247
251
```
248
252
249
253
5. **Define Peripherals**
254
+
- Find similar peripheral configuration YML files in `boards` for reference
255
+
- Configure based on supported peripheral YML files under `peripherals`
256
+
The basic structure for each peripheral is as follows:
250
257
```yaml
251
258
# board_peripherals.yaml
252
259
board: <board_name>
@@ -262,6 +269,9 @@ For detailed YAML configuration rules and format specifications, please refer to
262
269
```
263
270
264
271
6. **Define Devices**
272
+
- Find similar device configuration YML files in `boards` for reference
273
+
- Configure based on supported device YML files under `devices`
274
+
The basic structure for each device is as follows:
265
275
```yaml
266
276
# board_devices.yaml
267
277
board: <board_name>
@@ -288,6 +298,15 @@ For detailed YAML configuration rules and format specifications, please refer to
288
298
- name: <peripheral_name>
289
299
```
290
300
301
+
7. **Custom Code in Board Directory**
302
+
- When using certain devices, additional custom code may be required, such as for `display_lcd`, `lcd_touch`, and `custom` devices.
303
+
- This is to improve board adaptation, allowing users to select the actual device initialization function based on their board's specific requirements. For `display_lcd` and `lcd_touch`, refer to `esp_board_manager/boards/echoear_core_board_v1_2/setup_device.c`.
304
+
305
+
8. **Custom Device Description**
306
+
- For devices and peripherals not yet included in esp_board_manager, it is recommended to add them through `custom` type devices.
307
+
- Implementation code should be placed in the `board` directory. Refer to `esp_board_manager/boards/esp32_s3_korvo2l/custom_device.c`.
308
+
- When the board is selected, a `gen_board_device_custom.h` header file will be generated in the `gen_bmgr_codes` directory for application use.
309
+
291
310
> **⚙️ About `dependencies` Usage**
292
311
>
293
312
> - * The `dependencies` field in `board_devices.yaml` allows you to specify component dependencies for each device. This is especially useful for boards that require custom or local versions of components.
@@ -376,7 +395,7 @@ When multiple boards with the same name exist across different paths, the ESP Bo
376
395
377
396
| Device | Type | Chip | Peripheral | Status | Description | Reference YAML |
0 commit comments