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

项目构建报错FAILED: esp-idf/main/CMakeFiles/__idf_main.dir/audio_codecs/tcircles3_audio_codec.cc.obj

Open luckyxiangfeng opened this issue 10 months ago • 9 comments

xiaozhi-esp32/main/audio_codecs/tcircles3_audio_codec.cc:88:5: error: designator order for field 'i2s_std_clk_config_t::ext_clk_freq_hz' does not match declaration order in 'i2s_std_clk_config_t'

luckyxiangfeng avatar Feb 17 '25 03:02 luckyxiangfeng

esp sdk版本号多少?

78 avatar Feb 17 '25 12:02 78

esp sdk版本号多少?

5.5

luckyxiangfeng avatar Feb 18 '25 01:02 luckyxiangfeng

mac 编译通过后,运行报错: E (362) i2c.master: I2C transaction unexpected nack detected E (362) i2c.master: s_i2c_synchronous_transaction(888): I2C transaction failed E (372) i2c.master: i2c_master_transmit(1116): I2C transaction failed E (382) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(179): i2c transaction failed E (392) lcd_panel.ssd1306: panel_ssd1306_init(147): io tx param SSD1306_CMD_SET_MULTIPLEX failed E (402) Ssd1306Display: Failed to initialize display 导致不能唤醒,请问有方法解决吗

dengjb avatar Feb 19 '25 03:02 dengjb

xiaozhi-esp32/main/audio_codecs/tcircles3_audio_codec.cc:88:5: error: designator order for field 'i2s_std_clk_config_t::ext_clk_freq_hz' does not match declaration order in 'i2s_std_clk_config_t'

需要切换到5.3

dengjb avatar Feb 19 '25 03:02 dengjb

mac 编译通过后,运行报错: E (362) i2c.master: I2C transaction unexpected nack detected E (362) i2c.master: s_i2c_synchronous_transaction(888): I2C transaction failed E (372) i2c.master: i2c_master_transmit(1116): I2C transaction failed E (382) lcd_panel.io.i2c: panel_io_i2c_tx_buffer(179): i2c transaction failed E (392) lcd_panel.ssd1306: panel_ssd1306_init(147): io tx param SSD1306_CMD_SET_MULTIPLEX failed E (402) Ssd1306Display: Failed to initialize display 导致不能唤醒,请问有方法解决吗

@78

dengjb avatar Feb 19 '25 07:02 dengjb

如果修改tcircles3_audio_codec.cc,希望可以将45引脚相关操作实现可配置化,有的设备驱动与t-circle-s3相同,却没有MAX98357A_SD_MODE类似引脚,复用起来比较麻烦。

yusuhua avatar Feb 21 '25 16:02 yusuhua

可以帮忙修改一下提交一个PR。

78 avatar Feb 21 '25 19:02 78

xiaozhi-esp32/main/audio_codecs/tcircles3_audio_codec.cc:88:5: error: designator order for field 'i2s_std_clk_config_t::ext_clk_freq_hz' does not match declaration order in 'i2s_std_clk_config_t'

改下顺序试试:

    i2s_std_config_t mic_config = {
        .clk_cfg ={
            .sample_rate_hz = static_cast<uint32_t>(input_sample_rate_),
            .clk_src = I2S_CLK_SRC_DEFAULT,
            .ext_clk_freq_hz = 0,
            .mclk_multiple = I2S_MCLK_MULTIPLE_256,
        },
        // .clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG(static_cast<uint32_t>(input_sample_rate_)),
        .slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO),
        .gpio_cfg ={
            .mclk = I2S_GPIO_UNUSED,
            .bclk = mic_bclk,
            .ws = mic_ws,
            .dout = I2S_GPIO_UNUSED,
            .din = mic_data,
            .invert_flags = {
                .mclk_inv = false,
                .bclk_inv = false,
                .ws_inv = false,
            }
        }
    };

    i2s_std_config_t spkr_config = {
        .clk_cfg ={
            .sample_rate_hz = static_cast<uint32_t>(11025),
            .clk_src = I2S_CLK_SRC_DEFAULT,
            .ext_clk_freq_hz = 0,
            .mclk_multiple = I2S_MCLK_MULTIPLE_256,
        },
        // .clk_cfg = I2S_STD_CLK_DEFAULT_CONFIG(static_cast<uint32_t>(11025)),
        .slot_cfg = I2S_STD_PHILIPS_SLOT_DEFAULT_CONFIG(I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_STEREO),
        .gpio_cfg ={
            .mclk = I2S_GPIO_UNUSED,
            .bclk = spkr_bclk,
            .ws = spkr_lrclk,
            .dout = spkr_data,
            .din = I2S_GPIO_UNUSED,
            .invert_flags = {
                .mclk_inv = false,
                .bclk_inv = false,
                .ws_inv = false
            }
        }
    };

yusuhua avatar Feb 23 '25 12:02 yusuhua

建议测试后,提交PR,我合并进来。我手上没有这个设备。

78 avatar Feb 24 '25 03:02 78