romanetz
Модуль просто отдаёт набор байт
romanetz
Переданных на другой стороне
Anonymous
Или адаптируешь что-то готовое
Приемник принимает весь пакет и смотрит, например, первый байт. Его адрес, значит сообщение для него?
romanetz
Нет, он тупо принимает весь пакет
romanetz
Ему ж CRC надо проверить ещё
romanetz
Сам приёмник
romanetz
А дальше - уже как машину состояний разрисуешь
Anonymous
Нет, он тупо принимает весь пакет
Это значит, я первым модулем передаю сообщение, а все ЛОРЫ в округе его принимают. Чет не то.
romanetz
Так и есть
romanetz
В лораване они шифруются
Anonymous
Так и есть
Т.е. вообще никакой адресации нет. Так они забьют друг друга.
romanetz
Т.е. даже шлюз lora-ip не знает что в сообщении
Anonymous
Т.е. даже шлюз lora-ip не знает что в сообщении
Ну разнести по частотам, а что еще? Скорости разные выбрать.
Vladyslav
Всё ещё разбираюсь со вчерашним вопросом по поводу нехватки места в sram для того, чтоб вместить изображение. Начал изучать модель памяти. Появились вопросы. Просмотрел .map. Оказывается, что bss сегмент у меня занимает 176368 байт. Насколько знаю, bss это область для неинициализированных переменных, неужели проект с подключением к вай-фай и сокетом может столько требовать этой памяти? Или же объем памяти под bss задаётся где-то константой, и я могу его уменьшить, чтоб оставить больше под heap?
Vladyslav
И можно ли bss сегмент просто "сдвинуть" в памяти если уменьшить не представится возможным? Логика подсказывает что да, раз его границы чётко не указаны, но найти в гугле как это делается не смог. Да и sdkconfig прошерстил - тоже ничего не нашёл.
romanetz
heap - куча
romanetz
Нераспределённая память, откуда она выделяется динамически, через malloc
romanetz
По вашему мапу, получается, что буфер статически объявлен
romanetz
Вопрос - нафига вам куча?
Василий
а зачем вообще - изображение размещать в sram ?
romanetz
Чтобы по сети его передать насколько я понял
romanetz
А куда его размещать?
Василий
никуда, читаем..где оно там изначально - в небольшой буфер - и передаем
romanetz
На лету?
Василий
а ВСЕ изображение зачем размещать?
Василий
да, на лету
romanetz
Это от физики работы зависит. Обычно так делают для согласования скоростей источника и приёмника, если источник "заткнуть" нельзя
Василий
если критично по скорости - два буфера, один передаем, в другой читаем, переключаемся и так до конца
romanetz
В том-то и дело, tcp гарантирует доставку, но не ширину полосы
romanetz
Это как usb bulk - то же подтверждение есть, а когда данные будут доставлены - неизвестно
Василий
ну изображения обычно слишком большие, и даже 200кб+128кб - мало будет, ..разве что маленькие...но я лично смысла не вижу в таких плясках
Vladyslav
Вопрос - нафига вам куча?
Та могу в статическую, могу в кучу. Для моей цели без разницы
Vladyslav
да, на лету
А не потеряю ли я байты изображения на лету?
Василий
нет, куда же они потеряются
Василий
для передачи - это будет выглядеть как сплошной поток данных
romanetz
Ну вот со звуком (и прочими потоками) это не прокатывает
romanetz
У камеры, возможно, есть своя память
romanetz
А так - изволь буфер на (скорость потока*максимально допустимое время затыка сети)
romanetz
При определённых условиях
Vladyslav
Я не совсем понимаю, как это должно выглядеть Ведь мне камера шлёт поток данных, остановить на время который я не могу
romanetz
RTT большое - tcp окно маленькое в стеке - всё, приплыли
romanetz
Т.е. в локалке с маленьким буфером будет работать, а в интернете - нет
Vladyslav
Хотя камера тактируется от МК. Возможно получится на время переставать тактировать, отправлять кусок данных по tcp и снова тактировать 🤔
romanetz
Затыки по tcp будут выглядеть как скомканное изображение - части кадра будут относиться к разному времени, как это говорят, wallclock
Vladyslav
Перестал тактировать - перестала снимать, не?
Ну она же не делает новое изображение для каждого пикселя. Хранит где-то байты, наверное.
Vladyslav
Надо читать
Vladyslav
Вот вся схема, что была в даташите
Vladyslav
Выделение старое
romanetz
Ну вот
romanetz
Управления FIFO не выведено, правильно?
romanetz
Т.е., пока есть тактирование, данные выдаются непрерывно
Vladyslav
Нет
romanetz
Video timing generator - это вот оно
romanetz
Формирует сканирующие сигналы для CCD
romanetz
(для матрицы, короче)
romanetz
Т.е. исходя из вашей задачи, делали правильно. Выпадение кадра обычно менее заметно, чем части кадра
Vladyslav
Так что по поводу сдвига bss?
romanetz
Сложно сказать. Дело в том, что кучу (может) использовать freertos и lwip
romanetz
Уточнять надо
Василий
А какой вообще размер картинки выходит? по объёму
Vladyslav
153600
Василий
и да возможно я упустил что картинка с камеры, я описывал вариант передачи из microSD напрмер
Vladyslav
10к байт не хватает для статической инициализации
Denisio
прдолжаем вчерашнюю тему про камеру?
romanetz
прдолжаем вчерашнюю тему про камеру?
Мне уже надоело, я пошёл нрфку мучать 😂 человек должен сам дойти, а если ноги переставлять, толку нету
Vladyslav
У меня идей, кроме как сместить bss, нет
Andy
Я не прошу переставлять, я прошу направить
вот же уже посылал гдде копать. все описано. исходникии с коментариями . https://github.com/espressif/esp32-camera
Denisio
а чо та контора в которую ты хотел - она не дала камеру поюзать?
Vladyslav
вот же уже посылал гдде копать. все описано. исходникии с коментариями . https://github.com/espressif/esp32-camera
Тут не решается моя проблема с памятью. Они тут используют PSRAM, которой у меня нет) Так что скорее всего буду менять модуль, либо понижать разрешение
esp wroom 32...любовь с первого скетча
👍 преимуществ много 😁