fix(mcp): always register self.assets.set_download_url tool for 32MB flash devices (#1971)
* fix(m5stack-tab5): remove stale esp_video==0.7.0 dependency instructions
The README previously instructed users to override esp_video to 0.7.0
and esp_ipa to 0.1.0, but this causes build failures because:
- esp_video 0.7.0 does not export esp_video_deinit(), resulting in
linker errors ('MAP_FAILED' and 'esp_video_deinit' not declared)
- The project's main/idf_component.yml already pins the correct
version (esp_video==1.3.1) that the source code expects
Users should now use the default dependency versions from idf_component.yml
without modification.
Fixes #1957
* fix(mcp): always register self.assets.set_download_url tool
On 32MB flash devices the assets partition layout differs from the
default, causing partition_valid() to return false and silently
skipping registration of the self.assets.set_download_url MCP tool.
Users see 'Unknown tool: self.assets.set_download_url' from their MCP
client.
The tool writes to Settings storage which works regardless of the
partition map, so the partition_valid() guard is unnecessary.
Move the AddUserOnlyTool call outside the guard so the tool is always
available for explicit configuration via MCP.
Fixes #1962
---------
Co-authored-by: Aayush Pratap Singh <aayushpratap.singh@gmail.com>
This commit is contained in:
committed by
GitHub
parent
e12e7351d9
commit
2be3c2cb1a
@ -8,27 +8,9 @@
|
|||||||
|
|
||||||
## 基础使用
|
## 基础使用
|
||||||
|
|
||||||
* idf version: v6.0-dev
|
* idf version: v5.5.2 or above (recommended: v6.0-dev)
|
||||||
|
|
||||||
1. 调整 idf_component.yml
|
* No dependency override needed — the project already specifies the correct `esp_video` and `esp_ipa` versions in `main/idf_component.yml`. Do NOT change the dependency versions unless you are also modifying the source code to match the older API.
|
||||||
|
|
||||||
将
|
|
||||||
```yaml
|
|
||||||
espressif/esp_video:
|
|
||||||
version: ==1.3.1 # for compatibility. update version may need to modify this project code.
|
|
||||||
rules:
|
|
||||||
- if: target not in [esp32]
|
|
||||||
```
|
|
||||||
修改为
|
|
||||||
```yaml
|
|
||||||
espressif/esp_video:
|
|
||||||
version: '==0.7.0'
|
|
||||||
rules:
|
|
||||||
- if: target not in [esp32]
|
|
||||||
espressif/esp_ipa: '==0.1.0'
|
|
||||||
```
|
|
||||||
|
|
||||||
* idf version: v5.5.3
|
|
||||||
|
|
||||||
针对 ESP32-P4 Rev <3.0 用户:
|
针对 ESP32-P4 Rev <3.0 用户:
|
||||||
确保你的 sdkconfig.defaults 包含:
|
确保你的 sdkconfig.defaults 包含:
|
||||||
@ -37,7 +19,7 @@ CONFIG_ESP32P4_SELECTS_REV_LESS_V3=y
|
|||||||
|
|
||||||
否则烧写的时候会出现:'bootloader/bootloader.bin' requires chip revision in range [v3.0 - v3.99] (this chip is revision v1.x)
|
否则烧写的时候会出现:'bootloader/bootloader.bin' requires chip revision in range [v3.0 - v3.99] (this chip is revision v1.x)
|
||||||
|
|
||||||
2. 使用 release.py 编译
|
1. 使用 release.py 编译
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
python ./scripts/release.py m5stack-tab5
|
python ./scripts/release.py m5stack-tab5
|
||||||
@ -45,7 +27,7 @@ python ./scripts/release.py m5stack-tab5
|
|||||||
|
|
||||||
如需手动编译,请参考 `m5stack-tab5/config.json` 修改 menuconfig 对应选项。
|
如需手动编译,请参考 `m5stack-tab5/config.json` 修改 menuconfig 对应选项。
|
||||||
|
|
||||||
3. 编译烧录程序
|
2. 编译烧录程序
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
idf.py flash monitor
|
idf.py flash monitor
|
||||||
@ -62,5 +44,3 @@ idf.py flash monitor
|
|||||||
1. listening... 需要等几秒才能获取语音输入???
|
1. listening... 需要等几秒才能获取语音输入???
|
||||||
2. 亮度调节不对
|
2. 亮度调节不对
|
||||||
3. 音量调节不对
|
3. 音量调节不对
|
||||||
|
|
||||||
## TODO
|
|
||||||
|
|||||||
@ -284,10 +284,8 @@ void McpServer::AddUserOnlyTools() {
|
|||||||
}
|
}
|
||||||
#endif // HAVE_LVGL
|
#endif // HAVE_LVGL
|
||||||
|
|
||||||
// Assets download url
|
// Assets download url (always registered — Settings storage works regardless of partition layout)
|
||||||
auto& assets = Assets::GetInstance();
|
AddUserOnlyTool("self.assets.set_download_url", "Set the download url for the assets",
|
||||||
if (assets.partition_valid()) {
|
|
||||||
AddUserOnlyTool("self.assets.set_download_url", "Set the download url for the assets",
|
|
||||||
PropertyList({
|
PropertyList({
|
||||||
Property("url", kPropertyTypeString)
|
Property("url", kPropertyTypeString)
|
||||||
}),
|
}),
|
||||||
|
|||||||
Reference in New Issue
Block a user