Темброблок - анализатор спектра на STM32F103
- Сообщения: 344
- Зарегистрирован: Вт окт 22, 2013 23:09:06
Уважаемый WiseLord,в последней версии у меня на 303 процессоре срабатывает таймер тишины ,хотя музыка играет.
- Реклама
Да, такое может быть.
Раньше делался анализ Фурье, и по величине максимального столбика делался вывод о том, что тишина закончилась и надо сбрасывать таймер.
Но на некоторых экранах анализ Фурье не нужен (часы, например), но всё равно приходилось его делать (а это много вычислений) только ради этого таймера.
Я переделал код так, что уже на уровне АЦП срабатывает апааратный watchdog на пересечение определённого уровня звука. И делать Фурье анализ не нужно. Но проверил только на F103.
Собственно, из-за того, что этот watchdog на F303 реализован чуть иначе, и получилась недавняя ошибка при сборке F303. Сборку я починил, но на F303 реально проверить не мог. Постараюсь перепроверить по возможности и на 303.
P.S. Исправлено. В принципе, и для F103 было не совсем корректно сделано.
Раньше делался анализ Фурье, и по величине максимального столбика делался вывод о том, что тишина закончилась и надо сбрасывать таймер.
Но на некоторых экранах анализ Фурье не нужен (часы, например), но всё равно приходилось его делать (а это много вычислений) только ради этого таймера.
Я переделал код так, что уже на уровне АЦП срабатывает апааратный watchdog на пересечение определённого уровня звука. И делать Фурье анализ не нужно. Но проверил только на F103.
Собственно, из-за того, что этот watchdog на F303 реализован чуть иначе, и получилась недавняя ошибка при сборке F303. Сборку я починил, но на F303 реально проверить не мог. Постараюсь перепроверить по возможности и на 303.
P.S. Исправлено. В принципе, и для F103 было не совсем корректно сделано.
- Сообщения: 62
- Зарегистрирован: Пт фев 21, 2020 17:14:54
WiseLord, тут пилят один проект на базе ESP32 Wrover, тоже, типа, вебрадио на основе того же КаРадио, но с темброблоком на TDA7313 и много всяких обвесов, нужных и ненужных...
"Но среди всей этой декорации есть одна (на)стоящая вещь..."(с) - а именно парсер для вывода латиницы и кириллицы в названиях звуковых файлов с модуля BT201 по UART.
https://serverdoma.ru/viewtopic.php?p=8664#p8664
Там очень постарались, чтобы отловить все китайские заморочки в unicode и нормально перекодировать символы в удобоваримый utf-8. Возможно, можно будет на основе этого парсера сделать вывод названий на дисплей с SD и USB в модуле BT201 и в Ampcontrol? Про сам блютус пока не говорю, видимо, там будет сложнее, т.к. надо передавать мета данные вместе с аудиофайлом, а это не всегда бывает. Тем не менее, вот линк на парсер, да и сам проект в целом:
https://github.com/SinglWolf/ESP32-Radi ... n/bt_x01.c
Что скажете?
"Но среди всей этой декорации есть одна (на)стоящая вещь..."(с) - а именно парсер для вывода латиницы и кириллицы в названиях звуковых файлов с модуля BT201 по UART.
https://serverdoma.ru/viewtopic.php?p=8664#p8664
Там очень постарались, чтобы отловить все китайские заморочки в unicode и нормально перекодировать символы в удобоваримый utf-8. Возможно, можно будет на основе этого парсера сделать вывод названий на дисплей с SD и USB в модуле BT201 и в Ampcontrol? Про сам блютус пока не говорю, видимо, там будет сложнее, т.к. надо передавать мета данные вместе с аудиофайлом, а это не всегда бывает. Тем не менее, вот линк на парсер, да и сам проект в целом:
https://github.com/SinglWolf/ESP32-Radi ... n/bt_x01.c
Что скажете?
Насколько я мог видеть, проблема не в том, что модуль выдаёт крякозяблики для кириллических имён файлов, а в том, что он в этом случае вообще их толком не выдаёт, обрезая донельзя.
Но я могу и ошибаться, и проблема просто в перекодировке.
P.S. Посмотрел логическим анализатором внимательнее на выхлоп модуля - да, действительно, передаётся полностью имя и в кириллице.
Формат следующий: MF+<имя_файла>\r\n
Сложность в том, что служебная часть (выделено жирным) передаётся в 8-битной ASCII кодировке, а вот то, что внутри - имя файла - в двухбайтной UTF16.
Первый байт символа из двух в UTF16 такой же, как ASCII-байт, поэтому латинские имена нормально выводятся (последующий второй байт 0x00 просто не мешает), а вот кириллица - плохо.
Но хорошо уже то, что в принципе вся информация есть, а перевести часть сообщения в UTF8, который поддерживается шрифтом, чисто техническая (и относительно несложная) проблема. Так что, можно попробовать добавить вывод на экран имён файлов из модуля.

Но я могу и ошибаться, и проблема просто в перекодировке.
P.S. Посмотрел логическим анализатором внимательнее на выхлоп модуля - да, действительно, передаётся полностью имя и в кириллице.
Формат следующий: MF+<имя_файла>\r\n
Сложность в том, что служебная часть (выделено жирным) передаётся в 8-битной ASCII кодировке, а вот то, что внутри - имя файла - в двухбайтной UTF16.
Первый байт символа из двух в UTF16 такой же, как ASCII-байт, поэтому латинские имена нормально выводятся (последующий второй байт 0x00 просто не мешает), а вот кириллица - плохо.
Но хорошо уже то, что в принципе вся информация есть, а перевести часть сообщения в UTF8, который поддерживается шрифтом, чисто техническая (и относительно несложная) проблема. Так что, можно попробовать добавить вывод на экран имён файлов из модуля.
[uquote="Duke",url="/forum/viewtopic.php?p=3814588#p3814588"]WiseLord, тут пилят один проект на базе ESP32 Wrover, тоже, типа, вебрадио на основе того же КаРадио, но с темброблоком на TDA7313 и много всяких обвесов, нужных и ненужных...
"Но среди всей этой декорации есть одна (на)стоящая вещь..."(с) - а именно парсер для вывода латиницы и кириллицы в названиях звуковых файлов с модуля BT201 по UART.
https://serverdoma.ru/viewtopic.php?p=8664#p8664
Там очень постарались, чтобы отловить все китайские заморочки в unicode и нормально перекодировать символы в удобоваримый utf-8. Возможно, можно будет на основе этого парсера сделать вывод названий на дисплей с SD и USB в модуле BT201 и в Ampcontrol? Про сам блютус пока не говорю, видимо, там будет сложнее, т.к. надо передавать мета данные вместе с аудиофайлом, а это не всегда бывает. Тем не менее, вот линк на парсер, да и сам проект в целом:
https://github.com/SinglWolf/ESP32-Radi ... n/bt_x01.c
Что скажете?[/uquote]
Приветствую!
оффтоп:
Долго не мог попасть на форум под своим старым ником.
Почта на qip.ru, где привязан аккаунт, приказала долго жить, а пароль благополучно забыт...
Отписывал сколько раз Коту. Видимо сильно занят.
По теме:
Спасибо за столь лестный отзыв!
Топикстартеру:
Обращайтесь, если будете внедрять мой парсер.

"Но среди всей этой декорации есть одна (на)стоящая вещь..."(с) - а именно парсер для вывода латиницы и кириллицы в названиях звуковых файлов с модуля BT201 по UART.
https://serverdoma.ru/viewtopic.php?p=8664#p8664
Там очень постарались, чтобы отловить все китайские заморочки в unicode и нормально перекодировать символы в удобоваримый utf-8. Возможно, можно будет на основе этого парсера сделать вывод названий на дисплей с SD и USB в модуле BT201 и в Ampcontrol? Про сам блютус пока не говорю, видимо, там будет сложнее, т.к. надо передавать мета данные вместе с аудиофайлом, а это не всегда бывает. Тем не менее, вот линк на парсер, да и сам проект в целом:
https://github.com/SinglWolf/ESP32-Radi ... n/bt_x01.c
Что скажете?[/uquote]
Приветствую!
оффтоп:
Долго не мог попасть на форум под своим старым ником.
Отписывал сколько раз Коту. Видимо сильно занят.
По теме:
Спасибо за столь лестный отзыв!
Топикстартеру:
Обращайтесь, если будете внедрять мой парсер.
- Реклама
- Сообщения: 182
- Зарегистрирован: Ср авг 01, 2018 10:04:10
hello wiselord bt201 module I connected to the system, it works, control is working on the control, but media icons are not displayed on the screen
- Сообщения: 62
- Зарегистрирован: Пт фев 21, 2020 17:14:54
[uquote="Gürcan",url="/forum/viewtopic.php?p=3814972#p3814972"]hello wiselord bt201 module I connected to the system, it works, control is working on the control, but media icons are not displayed on the screen[/uquote]
Gürcan, in my case there is no issue with media icons connected to BT201 module playback: in pure BT playback mode it shows a standard BT icon, in case of playback from SD card or USB stick it shows an audio cassette icon.
Gürcan, in my case there is no issue with media icons connected to BT201 module playback: in pure BT playback mode it shows a standard BT icon, in case of playback from SD card or USB stick it shows an audio cassette icon.
- Сообщения: 182
- Зарегистрирован: Ср авг 01, 2018 10:04:10
duke. I did not say general icons, no media icons, such as fast forward and rewind play icons.
- Сообщения: 62
- Зарегистрирован: Пт фев 21, 2020 17:14:54
Gürcan, is this kind of icons foreseen for BT module now? At the moment all the BT201 functionality is about Play/Pause, Next Track, Previous Track and circular switching in between BT, SD and USB sound sources by one button. No Fast Forward or Rewind functions are implemented so far I believe, so no these icons could be presently expected, right?
Добавил парсинг имён файлов. Вроде как работает.
https://github.com/WiseLord/ampcontrol- ... 325f1cd608
Gürcan, fixed icons as well.
https://github.com/WiseLord/ampcontrol- ... 325f1cd608
Gürcan, fixed icons as well.
- Сообщения: 62
- Зарегистрирован: Пт фев 21, 2020 17:14:54
WiseLord, супер, уже опробовал, работают и латиница, и кириллица! Нашел небольшой глюк, не знаю, возможно это особенности работы протоколов носителей SD карты и USB флешки. При одновременном наличии их в слотах ВТ201 и круговом переключении источников, на флешке и карте дальнейшее воспроизведение файлов возобновляется с места, где было произведено переключение. Однако, парсинг с флешки также сразу возобновляется, а с карты нет, пустая строка, хотя воспроизведение идет. Парсинг появляется только на следующем треке, неважно был на него переход переключением или автоматически.
Нельзя ли проверить - это исправляемый глюк или же особенность протокола?
Еще одна просьба, если можно проверить вывод спектра на дисплей при воспроизведении с BT - отсутствует смешанный спектр, есть только стерео каналы на экране с информацией, в отличие от тех же КаРадио и тюнера.
А в целом - спасибо огромное Вам и SinglWolf за проделанную работу, это действительно серьезное улучшение общего функционала, мое почтение!
Нельзя ли проверить - это исправляемый глюк или же особенность протокола?
Еще одна просьба, если можно проверить вывод спектра на дисплей при воспроизведении с BT - отсутствует смешанный спектр, есть только стерео каналы на экране с информацией, в отличие от тех же КаРадио и тюнера.
А в целом - спасибо огромное Вам и SinglWolf за проделанную работу, это действительно серьезное улучшение общего функционала, мое почтение!
- Сообщения: 182
- Зарегистрирован: Ср авг 01, 2018 10:04:10
Duke, Возможно, при переходе назад на карту памяти просто не репортится название. А при переходе на BT я его, естественно, принудительно очищаю.
Было поздно, уже под 3 ночи, так что, несмотря на то, что всё работало вроде как правильно, я мог что-то и упустить. Сейчас на выходных чуть больше времени будет на отлаживание.
Было поздно, уже под 3 ночи, так что, несмотря на то, что всё работало вроде как правильно, я мог что-то и упустить. Сейчас на выходных чуть больше времени будет на отлаживание.
- Сообщения: 182
- Зарегистрирован: Ср авг 01, 2018 10:04:10
When the wiselord sd cart is running, when the power is cut off and the energy is re-energized, the part names do not appear on the screen. Everything is normal in usb.
Posted after 2 minutes 51 second:
I have re-edited the icons for friends bt201 I have added C & XML Files in the file I have added to the page.
Posted after 2 minutes 51 second:
I have re-edited the icons for friends bt201 I have added C & XML Files in the file I have added to the page.
- Вложения
-
- icons-amp-64_C_XML.rar
- (45.19 КБ) 164 скачивания
Gürcan, but what about 24-32-48 icons?
If we want to have some icons updated, we need to do that for all possible resolutions.
If we want to have some icons updated, we need to do that for all possible resolutions.
- Сообщения: 182
- Зарегистрирован: Ср авг 01, 2018 10:04:10
wiselord Full icon C & XML File 24,32,48,64 pixel
- Вложения
-
- Full icon XML.rar
- (116.31 КБ) 195 скачиваний
Ok, will look at the weekend
Добавлено after 3 hours 37 minutes 52 seconds:
Поправил разные мелкие баги по BT201 - можно тестировать.
Добавлено after 3 hours 37 minutes 52 seconds:
Поправил разные мелкие баги по BT201 - можно тестировать.
WiseLord подскажите по структуре:
typedef struct {
const DispDriver *drv; - адрес функции драйвера дисплея
const tFont *font; - ?
GlcdRect rect; - окно вывода (x,y,w,h )
int16_t x; - ?
int16_t y; - ?
color_t fontFg; - цвет символов
color_t fontBg;- цвет фона
uint8_t fontAlign; - ?
bool rotate; - поворот на 180 градусов
bool strFramed; - ?
} Glcd;
typedef struct {
const DispDriver *drv; - адрес функции драйвера дисплея
const tFont *font; - ?
GlcdRect rect; - окно вывода (x,y,w,h )
int16_t x; - ?
int16_t y; - ?
color_t fontFg; - цвет символов
color_t fontBg;- цвет фона
uint8_t fontAlign; - ?
bool rotate; - поворот на 180 градусов
bool strFramed; - ?
} Glcd;
Хорошему коту и в декабре - март 
font - текущий фонт. Устанавливается функцией glcdSetFont();
x, y - текущие кординаты. Устанавливаются посредством glcdSetXY() и т.п. Также обновляется при выводе каждого нового символа строки, что позволяет спозиционировать следующий.
fontAlign - выравнивание выводимой строки - слева от точки (x,y), справа от неё, или по центру
strFramed - добавлять слева и справа от строки небольшой пробел (как между буквами в слове) или нет
x, y - текущие кординаты. Устанавливаются посредством glcdSetXY() и т.п. Также обновляется при выводе каждого нового символа строки, что позволяет спозиционировать следующий.
fontAlign - выравнивание выводимой строки - слева от точки (x,y), справа от неё, или по центру
strFramed - добавлять слева и справа от строки небольшой пробел (как между буквами в слове) или нет
- Сообщения: 62
- Зарегистрирован: Пт фев 21, 2020 17:14:54
[uquote="WiseLord",url="/forum/viewtopic.php?p=3815664#p3815664"]Ok, will look at the weekend
Добавлено after 3 hours 37 minutes 52 seconds:
Поправил разные мелкие баги по BT201 - можно тестировать.[/uquote]
Залил, тестирую. Пришла мысль, может, можно было бы добавить еще такую "вишенку на торте", как прокрутка длинных названий файлов на экране? Например, по типу того, как это сделано в прошивке КаРадио?
Спасибо!
Добавлено after 3 hours 37 minutes 52 seconds:
Поправил разные мелкие баги по BT201 - можно тестировать.[/uquote]
Залил, тестирую. Пришла мысль, может, можно было бы добавить еще такую "вишенку на торте", как прокрутка длинных названий файлов на экране? Например, по типу того, как это сделано в прошивке КаРадио?
Спасибо!


