Написал свой драйвер для web radio. В отличии от
Ka-Radio поддерживает все плюшки VS1053. Попробую прикрутить к часам.
Arduino IDE settings:
- Board: Generic ESP8266 Module
- CPU Frequency: 80MHz
- Flash Size: 4MB (FS:none OTA:~1019KB)
- Flash Mode: QIO (fast)
- Flash Frequency: 80MHz
- IwIP Variant: v2 Higher Bandwidth
- Espressif FW: nonos-sdk 2.2.1 + 100 (190703)
У VS1053 два FIFO буфера. Первый bitstream buffer на 2КБ для сжатых данных типа MP3, AAC и тд. Второй audio buffer то ли на 4КБ то ли на 8КБ для DAC. Через прямой доступ к памяти можно узнать сколько свободно памяти в bitstream buffer и понять насколько хорошо он заполняется. У меня получилось в пике свободно 444байт или 2048-440=1604байт данных в виде подушки если ESP8266 переклинит. Аудиопоток гоняется по SPI шине на частоте 10MHz, команды на скорости 6MHz. Битрейт 256Kbps тянет без проблем, на 320Kbps иногда проваливается буфер. Буду городить кольцевой.
UDP: Подрихтовал запись в bitstream buffer и прикрутил софтовый кольцевой буфер на 20КБ в heap память ESP8266. Теперь 320Kbps без единого разрыва (c).