KaRadio32 - создаем файл конфигурации

Август 20, 2020 - Время чтения: 5 минуты

Для начала определяемся с железом:

  • Какая ESP-шка (WROOM, WROVER, желательно модель, производитель)
  • Есть ли и какой дисплей (ну, здесь уже известно)
  • Какая звуковушка (PDM, pcm5102, или vs1053)
  • Есть ли энкодер и в каком режиме он должен работать (станции или громкость), а может два энкодера
  • Есть ли кнопки и в каком режиме они работают (станции или громкость), а может два набора кнопок
  • Есть ли джойстик
  • Есть ли клавиатура
  • Есть ли пуль дистанционного управления

Определились:

  • ESP32 WROVER
  • Дисплей 1.8 SPI 160*128.
  • Звуковая vs1053 красная.
  • Энкодер должен работать в режиме выбора станций.
  • Пульт ДУ. ...

Итак, простая конфигурация. Радио на ESP32 с TFT-дисплеем 1.8, vs1053, энкодер по станциям и инфракрасный пульт. С этим определились.

О настройке железа нужно ознакомится на странице автора - Link.

Сборка конфига:

    1. Идём на гитхаб в проект Ka-Radio32. Скачиваем zip-архив проекта целиком (примерно 60 Мб), нажимая зелёную кнопочку справа "Clone or download".
    2. Открываем архив и идём в папку "\Ka-Radio32-master\boards". Это папка с конфигами под разные boards (платы). Видим там целую пачку csv-файлов. Это файлы конфигураций, притом, это текстовые файлы - их можно править в простом блокноте Windows. Выбираем один из них, для нас наиболее подходящий. Это будет "standard_psram.csv". Вытаскиваем этот файл из архива в какую-нибудь специально приготовленную папку. Здесь мы его и будем править. Переименовываем наш csv-файл, например, в "samodelka.csv", чтобы не путать его с другими файлами. У нас всё готово чтобы начать его "постройку".
    3. Открываем наш файл блокнотом для редактирования. Видим структуру файла конфигурации, состоящего из 4-х разделов. Будьте аккуратны! Ничего без нужды не меняем, никаких лишних символов и пробелов (особенно в конце строк) не вставляем. 1-й раздел "label" - это метки для правильной обработки файла программой, его не трогаем. Нас интересует 2-й раздел "gpio" с номерами ПИН-ов подключения всех устройств.
    4. Рядом с окном блокнота открываем окно с постом 5194 нашей темы. В нём видим подключение TFT LCD дисплея (выделено голубым цветом): нумерация 8-ми контактов платы 1.8 дюймовика по GPIO нашей ESP-шки. А также мигающие строки конфигурационного файла, в которые надо вписать необходимые номера GPIO. Таким образом определяем (или из картинки, чтобы позже припаять, или из уже реально распаянной платы) что куда подключено и что надо проверить или изменить в нашем конфиг-файле. Итак, определили, ► 1-й контакт дисплея "RST" на GPIO-02, значит в строчке конфига, описывающей этот контакт "P_LCD_RST" надо вписать номер соответствующего GPIO, т.е. "2". (Кстати, здесь так и есть, значит не меняем.) ► Далее 2-й контакт "CS" на GPIO-13, вписываем в конфиг в строчку "P_LCD_CS" число "13" (тоже не меняем). ► Далее дисплейный "3. D/C" на GPIO-14 -- в строчку "P_LCD_A0" число "14" (не меняем). ► Следующий "4. DIN" - GPIO-23 -- в конфиге строчка "P_MOSI" - число "23". ► Потом "5. CLK" - GPIO-18 -- строчка "P_CLK" число "18". ► 6-й контакт - питание, в зависимости от дисплея (или перемычки на нём) припаивается на +5 или +3,3 вольт, в конфиге ПИН-ы питания и массы не указываются. ► 7-й контакт, это подсветка, "7. BL" - GPIO-04 - строчка "P_BACKLIGHT" меняем на число "4". ► И, наконец, "8. GND" - понятно. Всё с дисплеем и его конфигом покончено. 
    5. Приступим к vs1053. Делаем всё аналогично. Прокручиваем тему до поста 5197, там подключение ВС-ки. Первые два контакта платы - понятно. Третий можно не использовать. ► "4. MISO" - GPIO-19 -- строка "P_MISO" - "19". ► "5. SI" -- строка "P_MOSI" - "23". ► "6. SCK" -- "P_CLK" - "18". ► "7. XCS" -- "P_XCS" меняем на "32". ► "8. XRESET" -- "P_RST" - "12". ► "9. XDCS" -- "P_XDCS" - "33". ► Наконец "10. DREQ" -- "P_DREQ" - "34". Всё. Готово.
    6. Так же поступаем с энкодером. Перематываем до поста 5199. Утитываем, что декодер по станциям, поэтому назначаем его в конфиге строчками "P_ENC1", а в строках напротив "P_ENC0" ставим цифры "255", что означает, что это устройство (энкодер по громкости) не используется и при работе не будут тратиться ресурсы на его обслуживание. (Да и цифровых помех на звук от этого становится меньше.) Итак, получаем строки ► "P_ENC1_A,data,u8,15", ► "P_ENC1_B,data,u8,27", ► "P_ENC1_C,data,u8,5". С энкодером всё.
    7. Осталась IR-дистанционнка. Пост 5200. Строчка "P_IR_SIGNAL" меняем число "255" на "21". На этом с IR всё.
    8. Теперь проверим все другие строки с устройствами и отключим ненужные, т.е. в конце строк проставим число "255". Это строки практически соответствуют выше указанному полному перечню подключаемого оборудования, относящиеся ► к двум группам кнопок "P_BTN0" и "P_BTN1", которые мы не используем, ► тачскрину "P_TOUCH_CS", ► джойстикам "P_JOY_0" и "P_JOY_1", ► диоду индикации "P_LED_GPIO" ► и клавиатуре "P_ADC_KBD". Как видим, многие из них и так имеют число "255", т.е. отключены. Это и понятно, ведь файл - "minimal". Теперь все наши устройства сконфигурированы. На этом можно закончить с редактированием, но только до того времени, когда мы возьмёмся за добавление в конфиг IR-кодов. Они описываются 4-м разделом конфига "custom_ir". Мы видим, что в конце строк никакие коды пока не заданы. Эти коды невозможно внести в настройки Ka-Radio никаким иным образом, кроме как только через процедуру редактирования конфиг-файла и последующей его прошивки в устройство. Но перед тем как закончить, я бы рекомендовал изменить ещё пару строк из 3-го раздела конфиг-файла "option". Хоть задаваемые им параметры могут быть изменены подачей специальных команд из терминала, но мы сделаем это до прошивки, прямо в файле конфигурации. Так спокойнее и надёжнее.
    9. Итак, редактируем 3-й раздел конфига. ► В строку "O_LCD_TYPE" - это тип нашего дисплея, вместо "0" вписываем число "192". Мы ведь знаем свой дисплей. ► Далее в строке "O_LCD_ROTA" - это переворот изображения на дисплее, оставляем "0" (или пишем "1", если надо перевернуть). ► В строке "O_LCD_OUT" указываем число секунд, через которые нужно гасить подсветку дисплея. Пока оставляем "0" - значит не гасим. ► И в строку "O_DDMM_FLAG" - это формат выводимой на дисплей даты, пишем "1", что означает показывать сначала день, потом месяц и год. Вот теперь файл нужно сохранить. Он готов, наш файл конфигурации "samodelka.csv".
    10. Итак, самая главная работа по созданию конфиг-файла сделана.

Теперь осталось сконвертировать его в BIN-файл для залития в устройство.

Portable Configuration File generator Для тех кто не понимает как сгенерировать файл конфигурации под KaRadio32 собрал портативную версию версию. Скачиваете мой архив и распаковываете, далее копируете в корень папки Config_GEN свой конфиг.csv , далее корректируете файл run_gen.cmd - нужно поменять имена файлов на входе nadim.csv и на выходе nadim.bin на свои. Запускаем run_gen.cmd и получаем в папке Config_GEN\build свой бинарник для прошивки, а далее его прошиваете через FLASH_DOWNLOAD_TOOLS

Config_GEN_new.zip - генератор - .bin файла

  1. KaRadio32 - интернет радио
  2. KaRadio32 - как прошить
  3. KaRadio32 - создаем файл конфигурации
  4. KaRadio32 - ВЭБ интерфейс от bazooka07

LINKS from Nadim

Static Pages