Темброблок - анализатор спектра на STM32F103

Обсуждаем цифровые устройства...
Ответить
Потрогал лапой паяльник
Сообщения: 344
Зарегистрирован: Вт окт 22, 2013 23:09:06

Сообщение koka5555 »

Уважаемый WiseLord,в последней версии у меня на 303 процессоре срабатывает таймер тишины ,хотя музыка играет.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Да, такое может быть.

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

Но на некоторых экранах анализ Фурье не нужен (часы, например), но всё равно приходилось его делать (а это много вычислений) только ради этого таймера.

Я переделал код так, что уже на уровне АЦП срабатывает апааратный watchdog на пересечение определённого уровня звука. И делать Фурье анализ не нужно. Но проверил только на F103.

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

P.S. Исправлено. В принципе, и для F103 было не совсем корректно сделано.
Контактная информация:
Реклама
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

Сообщение Duke »

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

Что скажете?
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Насколько я мог видеть, проблема не в том, что модуль выдаёт крякозяблики для кириллических имён файлов, а в том, что он в этом случае вообще их толком не выдаёт, обрезая донельзя.
Но я могу и ошибаться, и проблема просто в перекодировке.

P.S. Посмотрел логическим анализатором внимательнее на выхлоп модуля - да, действительно, передаётся полностью имя и в кириллице.

Формат следующий: MF+<имя_файла>\r\n

Сложность в том, что служебная часть (выделено жирным) передаётся в 8-битной ASCII кодировке, а вот то, что внутри - имя файла - в двухбайтной UTF16.

Первый байт символа из двух в UTF16 такой же, как ASCII-байт, поэтому латинские имена нормально выводятся (последующий второй байт 0x00 просто не мешает), а вот кириллица - плохо.

Но хорошо уже то, что в принципе вся информация есть, а перевести часть сообщения в UTF8, который поддерживается шрифтом, чисто техническая (и относительно несложная) проблема. Так что, можно попробовать добавить вывод на экран имён файлов из модуля.

Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Аватара пользователя
Сообщения: 1
Зарегистрирован: Чт мар 19, 2020 15:03:06
Откуда: Башкирия

Сообщение SinglWolf_ »

[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, где привязан аккаунт, приказала долго жить, а пароль благополучно забыт...
Отписывал сколько раз Коту. Видимо сильно занят. :dont_know:
По теме:
Спасибо за столь лестный отзыв!

Топикстартеру:
Обращайтесь, если будете внедрять мой парсер.
:beer:
Контактная информация:
Реклама
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 182
Зарегистрирован: Ср авг 01, 2018 10:04:10

Сообщение Gürcan »

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

Сообщение Duke »

[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.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 182
Зарегистрирован: Ср авг 01, 2018 10:04:10

Сообщение Gürcan »

duke. I did not say general icons, no media icons, such as fast forward and rewind play icons.
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

Сообщение Duke »

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?
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Добавил парсинг имён файлов. Вроде как работает.

https://github.com/WiseLord/ampcontrol- ... 325f1cd608

Gürcan, fixed icons as well.
Контактная информация:
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

Сообщение Duke »

WiseLord, супер, уже опробовал, работают и латиница, и кириллица! Нашел небольшой глюк, не знаю, возможно это особенности работы протоколов носителей SD карты и USB флешки. При одновременном наличии их в слотах ВТ201 и круговом переключении источников, на флешке и карте дальнейшее воспроизведение файлов возобновляется с места, где было произведено переключение. Однако, парсинг с флешки также сразу возобновляется, а с карты нет, пустая строка, хотя воспроизведение идет. Парсинг появляется только на следующем треке, неважно был на него переход переключением или автоматически.

Нельзя ли проверить - это исправляемый глюк или же особенность протокола?

Еще одна просьба, если можно проверить вывод спектра на дисплей при воспроизведении с BT - отсутствует смешанный спектр, есть только стерео каналы на экране с информацией, в отличие от тех же КаРадио и тюнера.

А в целом - спасибо огромное Вам и SinglWolf за проделанную работу, это действительно серьезное улучшение общего функционала, мое почтение!
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 182
Зарегистрирован: Ср авг 01, 2018 10:04:10

Сообщение Gürcan »

thanks wiselord icons appear
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Duke, Возможно, при переходе назад на карту памяти просто не репортится название. А при переходе на BT я его, естественно, принудительно очищаю.

Было поздно, уже под 3 ночи, так что, несмотря на то, что всё работало вроде как правильно, я мог что-то и упустить. Сейчас на выходных чуть больше времени будет на отлаживание.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 182
Зарегистрирован: Ср авг 01, 2018 10:04:10

Сообщение Gürcan »

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.
Вложения
icons-amp-64_C_XML.rar
(45.19 КБ) 164 скачивания
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

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.
Контактная информация:
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 182
Зарегистрирован: Ср авг 01, 2018 10:04:10

Сообщение Gürcan »

wiselord Full icon C & XML File 24,32,48,64 pixel
Вложения
Full icon XML.rar
(116.31 КБ) 195 скачиваний
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

Ok, will look at the weekend

Добавлено after 3 hours 37 minutes 52 seconds:
Поправил разные мелкие баги по BT201 - можно тестировать.
Контактная информация:
Мучитель микросхем
Сообщения: 443
Зарегистрирован: Ср окт 19, 2011 08:48:27
Откуда: Мать городов русских

Сообщение Frogfot »

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;
Хорошему коту и в декабре - март :)
Друг Кота
Аватара пользователя
Сообщения: 4905
Зарегистрирован: Чт апр 11, 2013 11:19:59
Откуда: Минск

Сообщение WiseLord »

font - текущий фонт. Устанавливается функцией glcdSetFont();
x, y - текущие кординаты. Устанавливаются посредством glcdSetXY() и т.п. Также обновляется при выводе каждого нового символа строки, что позволяет спозиционировать следующий.
fontAlign - выравнивание выводимой строки - слева от точки (x,y), справа от неё, или по центру
strFramed - добавлять слева и справа от строки небольшой пробел (как между буквами в слове) или нет
Контактная информация:
Открыл глаза
Сообщения: 62
Зарегистрирован: Пт фев 21, 2020 17:14:54

Сообщение Duke »

[uquote="WiseLord",url="/forum/viewtopic.php?p=3815664#p3815664"]Ok, will look at the weekend

Добавлено after 3 hours 37 minutes 52 seconds:
Поправил разные мелкие баги по BT201 - можно тестировать.[/uquote]

Залил, тестирую. Пришла мысль, может, можно было бы добавить еще такую "вишенку на торте", как прокрутка длинных названий файлов на экране? Например, по типу того, как это сделано в прошивке КаРадио?

Спасибо!
Ответить

Вернуться в «Цифровая техника»