Skip to content

Using i2s example fails build #631

@pablo-mendoza

Description

@pablo-mendoza

I can't build the i2s example code. If I change in i2s.h:

typedef struct {
    i2s_mode_t              mode;                   /*!< I2S work mode*/
    int                     sample_rate;            /*!< I2S sample rate*/
    i2s_bits_per_sample_t   bits_per_sample;        /*!< I2S bits per sample*/
    i2s_channel_fmt_t       channel_format;         /*!< I2S channel format */
    i2s_comm_format_t       communication_format;   /*!< I2S communication format */
    int                     intr_alloc_flags;       /*!< Flags used to allocate the interrupt. One or multiple (ORred) ESP_INTR_FLAG_* values. See esp_intr_alloc.h for more info */
    int                     dma_buf_count;          /*!< I2S DMA Buffer Count */
    int                     dma_buf_len;            /*!< I2S DMA Buffer Length */
} i2s_config_t;

i2s_mode_t and i2s_comm_format_t to int. Then it builds and works.

Hardware:

Board: ESP32 Dev Module
Core Installation/update date: 12/Sep/2017
IDE name: Arduino IDE 1.8.3

Description:

Describe your problem here

Sketch:

#include "driver/i2s.h"

static const i2s_config_t i2s_config = {
     .mode = I2S_MODE_MASTER | I2S_MODE_TX,
     .sample_rate = 48000,
     .bits_per_sample = I2S_BITS_PER_SAMPLE_16BIT,
     .channel_format = I2S_CHANNEL_FMT_RIGHT_LEFT, //I2S_CHANNEL_FMT_RIGHT_LEFT,
     .communication_format = I2S_COMM_FORMAT_I2S | I2S_COMM_FORMAT_I2S_MSB,
     .intr_alloc_flags = ESP_INTR_FLAG_LEVEL1, // high interrupt priority
     .dma_buf_count = 6,
     .dma_buf_len = 512
};

void setup() {
}

void loop() {
}

Debug Messages:


"C:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/xtensa-esp32-elf/bin/xtensa-esp32-elf-g++" -DESP_PLATFORM -DMBEDTLS_CONFIG_FILE="mbedtls/esp_config.h" -DHAVE_CONFIG_H "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/config" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/bluedroid" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/app_trace" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/app_update" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/bootloader_support" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/bt" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/driver" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/esp32" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/ethernet" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/fatfs" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/freertos" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/heap" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/jsmn" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/log" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mdns" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mbedtls" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/mbedtls_port" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/nvs_flash" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/openssl" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/soc" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/spi_flash" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/sdmmc" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/tcpip_adapter" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/ulp" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/vfs" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/wear_levelling" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/xtensa-debug-module" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/newlib" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/coap" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/wpa_supplicant" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/expat" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/json" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/nghttp" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32/tools/sdk/include/lwip" -std=gnu++11 -fno-exceptions -fno-rtti -Os -g3 -Wpointer-arith -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -mlongcalls -nostdlib -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wno-unused-parameter -Wno-sign-compare -fno-rtti -MMD -c -DF_CPU=240000000L -DARDUINO=10803 -DARDUINO_ESP32_DEV -DARDUINO_ARCH_ESP32  -DESP32 -DCORE_DEBUG_LEVEL=0 "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32\cores\esp32" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32\variants\esp32" "-IC:\Users\jpmendoza\Documents\Arduino\libraries\SGTL5000" "-IC:\Users\jpmendoza\Documents\Arduino\hardware\espressif\esp32\libraries\Wire\src" "C:\Users\JPMEND~1\AppData\Local\Temp\arduino_build_937948\sketch\SDMMC_Test.ino.cpp" -o "C:\Users\JPMEND~1\AppData\Local\Temp\arduino_build_937948\sketch\SDMMC_Test.ino.cpp.o"
SDMMC_Test:37: error: invalid conversion from 'int' to 'i2s_mode_t' [-fpermissive]

 };

 ^

SDMMC_Test:37: error: invalid conversion from 'int' to 'i2s_comm_format_t' [-fpermissive]

exit status 1
invalid conversion from 'int' to 'i2s_mode_t' [-fpermissive]

Metadata

Metadata

Assignees

No one assigned

    Labels

    Status: StaleIssue is stale stage (outdated/stuck)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions