Юрий
А, т.е заработало и без psram?
Denis
даа
Anonymous
Andy
Anonymous
Алексей
Спасибо, такая хреновина у меня есть, но это не то, что надо
Anonymous
Алексей
в телегу я и так с камеры посылаю, и на экран телевизора вывожу, а хочется у двери на дисплей маленький
Алексей
чувствую, проще старый телефон туда прибить 😊
Anonymous
Nick
Алексей
Denis
Anonymous
вот мне другая штука нужна. Забирать звук с микрофона и транслировать через onvif. Пусть бы картинка даже статической будет
Denis
тоже звук очень интересен
Denis
жаль ацп не достаточно хорош
Anonymous
Именно звук и интересен. реализации onvif на esp32 без звука. А так бы получилась возможность писать звук на рекордер
Denis
да с записью проблем нет а с качеством...
Anonymous
модуль с цифровым микрофоном на I2S
https://aliexpress.ru/item/4001129197909.html
Denis
смотря для чего в массы с таким качеством врядле, а прослушивать чтонибудь удалённо вполне пойдёт
Denis
понятно ...
Anonymous
Denis
а тестил
Denis
там голосовой кодек ещё много чего делал
Anonymous
первые кодеки в телефонах и были для восьмибитного звука. но до кодека нужно было сжать динамический диапазон
Anonymous
вопрос не в микрофоне, можно и внешний ацп поставить. Вопрос в том чтобы закодировать видео со звуком, пусть бы даже и со статической картинкой. Но звук хочется получше чем в массовых видеокамерах
Denis
а ты не тестил I2S ммикрофон в работе как он сам по себе работает?
Anonymous
качество встроенного ацп для звука меня устроило на данный момент
Denis
на 2 мегасемпла нормально отрабатывает
Anonymous
видел даже проект с матрицей из этих цифровых микрофонов, восемь чтоли штук, для определения направления звука
romanetz
romanetz
Так-то можно проредить со встроенного ацп
romanetz
Получим сколько-то бит сверху
romanetz
С 2 мегасэмплов можно 4..5 бит сверху (16..32 раза децимация)
romanetz
И даже 64 (31.25 кГц частоты дискретизации)
Denis
я тоже не могу понять как при усреднении расширится динамический диапазон
Denis
шумы уменьшатся да согласен
Anonymous
шумы просто так не уберутся, они тоже усреднятся
Anonymous
чтоб шумы убрать нужен цифровой фильтр
blxta
Denis
Microsoft Visual Studio Code с плагином от Espissif
Denis
esp-idf на линукс сервере и усп32 тоже к серверу подключены VCS под виндовс
Denis
на сервере ядер побольше компиляция проэктов проходит побыстрее
SetPf
Блин. Короче попробовал я вчера написать таки велосипед.
Сначала подприкинул и набросал каким будет мультимастер с гарантией доставки, но там выходят те еще макароны.
Решил попробовать отказаться от мультимастера, но реализовать гарантию доставки, без скользящего окна, пока подтверждение не пришло - новое не отсылается.
Накидал приемник вроде и... начали всплывать подводные камни.
Короче ужас чертовщина какая. Все это распутать надо реально пару уровней лупить, иначе write-only каша.
Василий
конец пакета как отслеживаешь ?
Василий
конец пакета очень важная вещь, без него будет каша
Василий
ну или делать однозначную идентификацию начало/конец пакета, но это для простой задачи глупо, т.к. надо обеспечить уникальность идентификаторов - с заменой этого идентификатора группой байт, когда такой же попадается в теле пакета
SetPf
конец пакета как отслеживаешь ?
По началу.
(Маркер начала) - (длинна) - (нагрузка) - (црц)
Если приходит новый маркер - текущая сборка перезапускается.
Вопрос кстати к чему? У меня ничего рабочего не получилось. Просто обточил что было до более универсального варианта.
Василий
не верное решение - в мусорку
SetPf
Василий
нужно иметь флаг - когда пакет пришел полностью, тогда его можно обрабатывать
до конца пакета никаких действий по обработке
SetPf
Василий
ну как знаешь
я предлагаю простой и надежный способ - который проверен в сотнях устройств
Василий
не хочешь - как хочешь ))
SetPf
Василий
аа я видимо не увидел
Василий
потому что реализация простая, и работает надежно
Resident
Modbus
SetPf
Типо маркер в конце - соблазнительно тем, что можно пихать на автомате, до обеда, ни о чем не думая.
Но с другой стороны все равно надо переполнение отслеживать.
Можно длинну пакета и вообще все сервисное в зад запихать.
И просто взяв 2 последних уже иметь все что нужно на руках.
Василий
вот из старых проэктов на авр
прием данных по юарт
__interrupt void RX_char(void)
{
U8 c = UDR0;
if (posIn_RS_485_IN_Buf<Size_RS_485_IN_Buf) RS_485_IN_Buf[posIn_RS_485_IN_Buf++] = c;
timer_RX_485 = 2; // 3.5 символа тишины
}
Василий
это все
Василий
и в системном таймере, с тактом 1мс, проверяем
if (timer_RX_485 > 0)
{
timer_RX_485--;
if (timer_RX_485 == 0)
{
flag_ZAPROS = 1; // есть запрос
}
}
SetPf
А ЦРЦ?
Василий
содержимое пакета не имеет значение, оно проверяется после того как флаг - есть запрос - установился
Василий
т.е. есть сам прием, а есть обработка - того что пришло
SetPf
Я не очень тогда понял, что вы показали? Как байты в уарт пихать?
Вопрос же не в этом, а как формировать и в виде чего, то что отправляешь.
Василий
NC_COMM_SETUP - структура - где храняться настройки
Василий
структуры - знакомы ?
SetPf
*(__T_NC_COMM_SETUP*) это что?
SetPf
__T_NC_COMM_SETUP* конкретно вот это
SetPf
а блин это каст что ли
Василий
указатель на тип структуры
SetPf
я не привык к кодстайлу где все заглавными сори =)
Василий
заглавные - потому что структура - что бы выделялось