Перейти к содержанию
    

xvr

Свой
  • Постов

    3 583
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Весь контент xvr


  1. Этим занимается менеджер памяти (точнее heap_2, heap_4 или heap_5). Если будет запрос подходящего размера, то он займёт 'дырку'.
  2. С чего бы? Выделяете новую память требуемого размера, копируете в неё старое содержимое, старую память освобождаете.
  3. А какие проблемы с аллокатором? У FreeRTOS из 5 штук - выбирайте любой RapidJSON: Allocator::Malloc -> pvPortMalloc Allocator::Free -> vPortFree Allocator::Realloc -> pvPortMalloc + vPortFree
  4. Реалтайм желателен не вашим 'вялотекущим' процессам, а 'RTU через RS485' Там пауза отделяет пакеты друг от друга, и при передаче от опрашиваемого устройства определяется устройством. Уточните этот момент ПЕРЕД тем как принимать окончательное решение о выборе Linux'а, а то может оказаться очень больно 😞
  5. Отлично, осталось убедится что Линуксовый драйвер последовательного порта об этой поддержке знает и воспользоваться ею (это совет для ТС)
  6. modbus RTU использует интервалы в передаваемом потоке в качестве элемента протокола. С не RT системой и без поддержки на нижнем уровне (в ОС или железе) могут быть неожиданные неприятные сюрпризы с замером этих самых интервалов. Это не значит, что ничего не будет работать, это значит, что надо это принимать во внимание, иначе система может навернуться где нибудь у пользователя в совершенно непредсказуемый момент.
  7. modbus у вас RTU или ASCII? Linux от рождения не RT система, с modbus RTU возможны сюрпризы (особенно если предполагается большая нагрузка) И второй момент - врямя загрузки. У Linux оно побольше будет, чем у RTOS. Из коробки вообще довольно приличное, даже после buildroot всё равно ощутимое.
  8. https://aliexpress.ru/item/1005003085523972.html?gatewayAdapt=glo2rus&sku_id=12000023991019573 - обещают 10 см, вам хватит?
  9. Где то ещё - Python + Pyserial + час времени на написание простейшей программы монитора (правда CPU будет грузить на 100%)
  10. Вы уверенны? У Diffie-Hellman числа обычно так битов по 2048.
  11. Ни то ни другое. Нет Чем Inno setup не устроил?
  12. Странные задачи требуют странных решений, а для них нужны странные идеи :)
  13. Хм. https://riverbankcomputing.com/software/pyqt/ - Так что проблема остаётся - нужен Qt в работающем составе
  14. Может увы. Особенно если это не 'немного другая' версия, а вообще другой дистрибутив 😞 Придётся искать пакеты на другом дистрибутиве. Альтернатива - статика. Но с ней уедет приличный кусок этих самых системных библиотек (если их тоже в статике брать). А если не брать, то вернёмся обратно к тому, с сего начинали - цирк с зависимостями от системных пакетов.
  15. Было дело, брал с собой 🙂 И да, библиотеки тоже были, их через родной менеджер пакетов ставил на приёмной стороне. Список пакетов получил на этапе установке Qt Designer'а - он их всех потребовал (иначе ломался при запуске).
  16. И где тут 'структура во FLASH' с которой всё начиналось?
  17. Ну например взять с собой Qt (ldd вам в помощь). Ну или в статике собрать (тут уже предлагали). Только учтите, что статическую версию Qt вам придётся собирать самомоу (в дистрибутиве только динамика)
  18. К нему ещё процессор нужен
  19. У вас интервал BLE беконов вроде как порядка единиц минут (а не секунды). Так что делите ещё на 30-60. Получится в пределах. Но лучше всего сначала провести натурные испытания (в том числе и по интервалу BLE beacon) А делать в современных реалиях лучше всего на том, что сможете достать 🙂
  20. Ещё одна идея в копилку - ставить не потенциометр, а квадратурный энкодер (это уже предлагали), а что бы сделать его 'абсолютным' добавить маленький OLED экран, на котором рисовать текущее положение (можно в виде шкалы и цифрами). Само положение запоминать в RTC памяти ESP32. Экран включать при повороте и при нажатии на энкодер. В принципе всё его обслуживание можно сделать на связке UPL + dedicated программа в ESP32 (он умеет при пробуждении от ULP запускаться прямо из RAM, там около 8К RAM для этих целей). Можно попробовать и прямо в ULP OLED обрабатывать, но будет непросто - там голый ASM (C компилятора на ULP нет), и ASM весьма примитивный 😞 PS. OLED экран конечно отключаемый PPS. Ваши желания 9 бит из ADC при пересчёте на потенциометр соотвествуют 0.7 градуса поворота ручки. Пожалейте пользователей, они не роботы, что бы с такой точностью ручки крутить 🙂
  21. Если компилятор gcc (или совместимый), то можно использовать его расширение: #define CONST(Type, ...) ({static const Type var = {__VA_ARGS__}; &var}) func(CONST(MyStruct, 1, 2, 3, 4)) Преимущество - один макрос на любое количество функций и типов параметров, недостаток - только gcc (и примкнувшие к нему)
  22. Да, очень похоже на то, что надо Интересная микросхемка, 0.7В не даст правда, но в целом иньересно.
  23. Всё тот же ESP32 - в deep sleep питание на RTC домен снижается до 0.7В. Он при этом не работает (генератор выключен), но сохраняет память и регистры и пробуждается от таймера (таймер работает)
×
×
  • Создать...