Трудности с библиотекой Adafruit_Zero_I2S_Library-1.2.4

Библиотека Adafruit_Zero_I2S_Library-1.2.4 является основной для тестирования модуля UDA1334a, являющегося аудио стерео декодером, совместимым с ардуино платами UNO и ESP32. При попытке компиляции скетчей из adafruit-i2s-stereo-decoder-uda1334a.pdf получены множественные сообщения об отсутствии деклараций (#define) различных пинов. Среди них есть знакомые, связанные с FS и SD, а также входные и выходные I2S, но есть и непонятные элементы, например, MUX_PA10G_I2S_SCK0 и др.

Все заявлении об отсутствии деклараций адресованы файлу Adafruit_ZeroI2S.cpp, который присутствует в распакованном пакете, помещенном в library. Все попытки компиляции проводятся со скетчами, расположенными в том же пакете.
Попытки разместить понятные определения в скетче не изменяют сообщений об отсутствии деклараций.

Таким образом имеем две проблемы. Первая понять физический смысл всех объектов, декларация которых отсутствует И вторая, как и в каком месте правильно определить необходимое.

Где Вы брали библиотеку?

Если вот здесь - GitHub - adafruit/Adafruit_ZeroI2S: I2S audio playback library for the Arduino Zero / Adafruit Feather M0 (SAMD21 processor). , то почитайте файл README.md, узнаете много интересного. Во-первых, Вас обманули, когда сказали, что

В ней чёрным по белому написано: “for the Arduino Zero / Adafruit M0 (SAMD21 processor) -and- Adafruit M4 (SAMD51 processor) boards

Далее, там же написано, что этой библиотеке для работы нужно, чтобы стояла библиотека “Adafruit ZeroDMA

Ставлю всё как написано, выбираю плату “Arduino Zero” и примеры из библиотеки отлично компилируются.

1 лайк

Это I2s модуль. Как он может быть совместим с Уно, у которой ничего похожего на i2s никогда не было.

Фига себе новости. Про SPI слышал, когда-нибудь?

И причем тут SPI ? Модуль может обрабатывать данные только по I2s.

Ммммда. Может, это самое, не надо рассуждать о вещах, если ты в них полный ноль?

может к себе это применишь?

Покажи мне I2s на Уно
Или может ты считаешь, что I2s и SPI одно и тоже?

И с таким апломбом …

Может чего не понимаю, так вроде ж TWI называется…
Или есть подвох?

Ребята, вы тут все неграмотные? I2S от I2C не отличаете?

1 лайк

Я точно безграмотный!)))

Господи, как только не попытаются извернуться.

Не берите в голову. Изучайте местную фауну потихоньку :slight_smile:

Спасибо! Действительно пропустил необходимость библиотеки DMA. В скетче BASIC эта библиотека не указана явно. Понадеялся на автомат.
После ее установки примеры из библиотеки DMA и Adafruit_Zero_I2S_Library-1.2.4 проходят компиляцию для палат, в которых есть слово ZERO.
Осталось понять, какие реальные платы ESP32 могут использоваться.

Осталось понять, какое отношение имеет платы Zero к ESP32

Платы Zero появились в процессе поиска вариантов работы с внешними ЦАП в ответе на мой первый вопрос. Оказалось, что ряд скетчей проходят компиляцию для таких плат.
Ситуация на данный момент: Программа из I2SFAQ home · schreibfaul1/ESP32-audioI2S Wiki · GitHub даже загружается с указанием платы ESP32 Dev Module. В тексте I2SFAQ прямо указывается возможность работы с внешними ЦАП. Модуль UDA1334a и является таким ЦАП.
Нужны содержательные примеры работы с внешними ЦАП.

Зачем тогда в заголовке про какую-то библиотеку для ZERO?

Если вам нужен пример вывода звука с ESP32 по I2S, то так и надо было спрашивать. Эта задачка несложная и многократно описана в интернете, например вот

Причем на ESP32 для этого вообще никакие библиотеки не требуются.

Искались программы для модуля UDA1334a, по пути попались Zerо.
В действительности нужен эмулятор стерео звуковой USB платы, воспринимаемой windows как записывающее устройство. Это связано с отсутствием на ноуте аудио входов, только выход на наушники. Внешнюю USB звуковую стерео плату за разумные деньги найти не удалось. Почему бы не смоделировать!
Сегодня получил модуль CIMCU-1334DAC Может посоветуете что-то конкретное!

Конкретно о чем? Если о работе с UDA1334a, то в принципе все I2S DAC устроены одинаково. Возьмите приведенный выше пример, подключите UDA1334a вместо того, что в примере - должно работать.

Что касается этого

то по-моему это дурость. Причем главная сложность будет не в передаче или воспроизведении звука, а в том чтобы сделать ваш девайс

Какие разумные то? Вам дали две ссылки, одну в РФ за 1000, другую в китае за 100р. Даже 1000 это куда более разумно, чем колхозить самоделку из ЕСП32 и I2S модуля, который один стоит порядка 800р

Во всех ссылках нет твердой уверенности, что будет получена стерео карта с возможность ввода в ПК. Для некоторых модулей похожих на ЦАП есть драйверы.

Что такое “ввод в пк”? Микрофонный или линейный вход?
И с чего вы взяли, что ваш модуль поможет вам в этом?