xiaozhi-esp32 icon indicating copy to clipboard operation
xiaozhi-esp32 copied to clipboard

能否增加对esp32-p4的支持

Open hbs2001 opened this issue 9 months ago • 6 comments

Is your feature request related to a problem?

希望可以添加对esp32-p4的支持,实现对更大屏幕更高刷新率的实现。

Describe the solution you'd like.

No response

Describe alternatives you've considered.

No response

Additional context.

No response

hbs2001 avatar Mar 07 '25 07:03 hbs2001

之前 @Kevincoooool 好像实现过,p4好像还不是很流行?

78 avatar Mar 07 '25 09:03 78

P4版本需要改动较多,待芯片量产上市后再添加即可,如果需要用P4版本可以先参考我的链接:https://github.com/Kevincoooool/xiaozhi-esp32/tree/FL7703_P4

Kevincoooool avatar Mar 07 '25 09:03 Kevincoooool

P4版本需要改动较多,待芯片量产上市后再添加即可,如果需要用P4版本可以先参考我的链接:https://github.com/Kevincoooool/xiaozhi-esp32/tree/FL7703_P4

感谢大佬,我目前使用的开发板是ESP32-P4-Function-EV-Board,等下我尝试一下。

hbs2001 avatar Mar 07 '25 10:03 hbs2001

P4版本需要改动较多,待芯片量产上市后再添加即可,如果需要用P4版本可以先参考我的链接:https://github.com/Kevincoooool/xiaozhi-esp32/tree/FL7703_P4

这两天尝试了一下,始终无法编译通过,开始是代码中使用了未定义的配置宏 CONFIG_WIFI_RMT_CACHE_TX_BUFFER_NUM。改成DYNAMIC之后又报了许多来自managed_components/78__esp-wifi-connect/wifi_configuration_ap.cc的报错,麻烦大佬看一下是不是有什么改动没有合入。我使用的平台是win10 vscode,idf版本5.3.2。另外也尝试了5.4.0,同样编译不过但是报错不一样。

hbs2001 avatar Mar 11 '25 01:03 hbs2001

@Kevincoooool 可不可以帮我看一下,麻烦了。

hbs2001 avatar Mar 12 '25 02:03 hbs2001

是乐鑫esp-wifi-remote的bug,可以切换一下版本临时解决。 https://github.com/espressif/esp-hosted-mcu/issues/39

hbs2001 avatar Mar 13 '25 07:03 hbs2001

添加了ESP32-P4-Function-EV-Board的支持 https://github.com/Alex-0x7C00/xiaozhi-esp32

Alex-0x7C00 avatar Apr 02 '25 04:04 Alex-0x7C00

添加了ESP32-P4-Function-EV-Board的支持添加了 ESP32-P4-Function-EV-Board 的支持 https://github.com/Alex-0x7C00/xiaozhi-esp32

感谢大佬,用您的代码跑通了,但是对话输出的音频异常,音调很高而且一卡一卡的(特级咒灵的感觉),可能解码有问题。报绑定码的时候是正常的,硬件上没问题。

hbs2001 avatar Apr 02 '25 08:04 hbs2001

SAMPLE_RATE改到24000之后正常了,感谢 @Alex-0x7C00

hbs2001 avatar Apr 02 '25 08:04 hbs2001

SAMPLE_RATE改到24000之后正常了,感谢 @Alex-0x7C00

好的,我已经修改采样率到24000了

Alex-0x7C00 avatar Apr 02 '25 08:04 Alex-0x7C00

大佬,为什么开发板开启微信聊天界面风格之后没聊几句就会报 E (44511) Ml307AtModem: FIFO overflow错误。我的开发板是ESP32-p4 Function_EV_Board。我使用的是ML307 4G模块

zhao2002-hash avatar Jun 11 '25 01:06 zhao2002-hash

# Fix ML307 FIFO Overflow
CONFIG_UART_ISR_IN_IRAM=y

在 sdkconfig 里确保这个选项是开启的。

78 avatar Jun 11 '25 04:06 78

大佬,这个选项开启了但是依然会报这个错误

zhao2002-hash avatar Jun 11 '25 08:06 zhao2002-hash

检查是否有任务优先级比 ML307 的优先级高。 试试在 Application::OnClockTimer 的开头里加入 vTaskPrioritySet(NULL, 1);

78 avatar Jun 11 '25 08:06 78

检查是否有任务优先级比 ML307 的优先级高。 试试在 Application::OnClockTimer 的开头里加入 vTaskPrioritySet(NULL, 1);

我在定时器函数里面开头加入这个函数,但是还是没有效果。另外由于我还没有摸清楚这个小智代码的逻辑,所以我不知道有没有任务的优先级比ML307高。

zhao2002-hash avatar Jun 12 '25 03:06 zhao2002-hash

去掉 Application::OnClockTimer 下面这行注释,你就能看到控制台每10秒打印的任务列表,就会显示优先级。

// SystemInfo::PrintTaskList();

78 avatar Jun 12 '25 07:06 78

Image

zhao2002-hash avatar Jun 12 '25 07:06 zhao2002-hash

你好像弄错了,去掉的是另外一行

78 avatar Jun 12 '25 12:06 78

佬,没有这个函数,我查看这个类里面没有这个函数的实现与声明。OnClockTimer这个函数也

Image

里面没有关于这个函数的注释

zhao2002-hash avatar Jun 13 '25 01:06 zhao2002-hash

是因为不是最新的源代码。

78 avatar Jun 13 '25 04:06 78

大佬,我把ML307模块的波特率调到230400就不会出现FIFO错误了。我试了几个波特率,发现921600和460800这两个波特率都会导致FIFO错误。

Image

zhao2002-hash avatar Jun 14 '25 01:06 zhao2002-hash

你在原始工程上还扩展了其他代码功能吗?

78 avatar Jun 14 '25 04:06 78

没有啊,就是用了官方的7英寸的触摸屏,然后开启了微信聊天界面。然后启用ML307 4G模组。然后没了。

zhao2002-hash avatar Jun 16 '25 06:06 zhao2002-hash

没有啊,就是用了官方的7英寸的触摸屏,然后开启了微信聊天界面。然后启用ML307 4G模组。然后没了。

电平转换用的什么方案?晶体管电平转换电路不适用于波特率超过 460 kbps

78 avatar Jun 24 '25 22:06 78