LINUX.ORG.RU

Сообщения Vit

 

Посоветуйте скороварку

Форум — Talks

Я тут закрываю всякие детские гештальты. Дошло дело до пароварки. Простую мультиварку не хочу.

Немного заблудился по моделям и ценам.

  • Redmond RMC-PM380 за 6 тысяч. На озоне самое массовое. При этом есть более дорогие редмонды, но непонятно какие суперфичи они добавляют.
  • REDMOND RMC-PM504, REDMOND RMC-P350 - на маркете, с сортировкой по звездам. Около 10 тыс, хз чем лучше предыдущего.
  • Kitfort KT-215. На маркете. Есть крышка аэрогриля, но хз, надо ли это вообще.
  • ну и всякие левые нонеймы

Посоветуйте, на что обращать внимание, или конкретные модели. Ну чтобы ручки удобные, вода стекала как надо, клапаны не глючили и т.п. ХЗ что там вылезает при реальной эксплуатации. Цена не особо критична, но советовать индукционный выпендреж за килобакс тоже не надо.

Я не особый любитель готовки. Просто хочется удобства. Типа, после гриля поставить мясо с картофаном тушиться. Или кусок буженины сделать без напрягов. Чтобы «поставил и ушел кодить».

 ,

Vit
()

Посоветуйте аллокатор для С под эмбеды

Форум — Development

В гуевую библиотеку LVGL нужен аллокатор на замену родного.

  • heap обычно 4К-32К
  • выделяемые объекты в основном 10-100 байт

Посоветуйте что-нибудь проверенное под такие задачи. Но без фанатизма с ручным управлением пулами.

Из правдоподобного нагуглил такое:

но не хватает опыта, чтобы понять насколько это все актуально.

 , ,

Vit
()

Расскажите про яйцеварки :)

Форум — Talks

Я тут закрываю гештальты, и пробую всякие странные штуки - машинку для сахарной ваты, газировалку с большим баллоном газа и т.п. Теперь вот дошли руки до яйцеварки.

Должен сказать, забавная в своей странности штука. Вроде бред, но ведь удобно. Только моя на 8 яиц и как-то великовата со шнуром. А брать мелкие без таймера (где все по объему воды) мне не хочется.

Но есть вариант для микроволновки https://www.aliexpress.com/item/32817877540.html. Там видимо наношапочка из фольги.

У меня вопрос. Кто-нибудь микроволновочными яйцеварками пользовался и отличается ли результат от электрических?

 

Vit
()

Посоветуйте современную эмуляцию «классов» для С в эмбеды

Форум — Development

https://github.com/lvgl/lvgl/issues/1919

По ссылке я выписал основную литературу и библиотки. Там все толково, но не знаю насколько актуально.

Если кто в курсе, на чем нынче модно ООП для С изображать, дайте знать. Надо для эмбедов:

  • много оперативки жрать нельзя.
  • много флеша жрать не желательно.

По фичам критично только наследование методов/данных и virtual. Можно забить болт на private, эксепшены, множественое наследование и т.п.

Ответ типа «лучше ooc toolkit до сих пор ничего не придумали» - тоже устроит.

 , ,

Vit
()

lbprint - утилита для печати этикеток

Форум — Development

https://github.com/puzrin/lbprint

У принтеров этикеток под 12мм ленту на редкость фиговый софт - когда надо печатть в 2-3 строки, невозможно выставить жлаемый шрифт и размер.

В общем, запилил свою утилиту, которая все делает как надо. Пока для DYMO LabelManager PnP. Как придет Brother PT-P300BT - тоже постараюсь привернуть.

Получилось довольно удачно. В поля мне бегать не надо, встроенная клавиатура незачем. С компа набирать быстрее, картинка отличая.

 ,

Vit
()

Помогите примерами проектов, использющих gtest/cmake

Форум — Development

Надо грамотно привернуть тесты к https://github.com/lvgl/lvgl. При этом комрады не особо шарят в тестировании, а я не особо шарю в сях и тулзах для билда.

Подскажите опенорсы, с которых можно «передрать по аналогии» инфрастрктуру.

Мне нужно:

  • Чтобы файлы тестов можно было по желанию отстраивать:
    • одним билдом (быстрее),
    • группами (иногда нужны разные конфиги)
    • независимо (для особо мутных случаев)
  • Чтобы это все потом пускалось одной командой в едином порыве и выдавало суммарный результат.
  • coverage reports

То есть вопрос не в том, какой фреймворк взять и как юзать моки, а в том как все благоустроить.

Если фреймворк имеет значение - склоняюсь к googletest (это уже в отдельной теме обсуждали).

 ,

Vit
()

Объясните про вложеные темплейты

Форум — Development

https://github.com/Vectorized/Static-Sort#usage

Есть забавная библиотека, генерирующая сетку для сортировки. В примере предается размер массива, но не предается тип элементов. Никак не могу понять, как оно тип элементов определяет?

https://github.com/Vectorized/Static-Sort/blob/master/static_sort.h#L107-L111

 

Vit
()

Подскажите официальную документацию по "-l:" опции линкера

Форум — Development

Нужно линковать в проект библиотеку с кривым именем, без префикса lib* (ну так получилось). Это без проблем делается, если к -l добавить двоеточее. Но почему-то не получается найти в документации официальное описание этой фичи.

https://stackoverflow.com/a/10259822/5296568

Можете подсказать ссылку на официальную доку?

 

Vit
()

Посоветуйте совсем мелкий принтер этикеток

Форум — General

Надо печатать этикетки на вот такие пипирки, куда ссыпаются SMD-компоненты. Размер стикера ~ 12*22мм, 2-3 строки.

Есть Epson LW-400 и Brother PT-H105, но с ними некоторые нюансы…

  • Стандартные расходники от круглой поверхности постепенно отклеиваются. А продвинутый выбор есть только для Brother.
  • С выбором размера шрифтов и выравниванием у эпсона немного жопа, а у бразера жопа размером с дом.

Я уже раскатал губень купить новый Brother PT-P300BT, на котором можно с мобильника печатать, но к счастью сначала поставил андроидовское приложение поиграться. За такие интерфейсы надо отрывать руки и выдавливать глаза.

Пока заказал D11 поиграться (не жалко, если что), но там выбор расходников не очень.

Посоветуйте, что мелкое можно взять под мою задачу, с подходящим расходниками (которые будут намертво клеиться). Желательно без возни с линуксовыми драйверами и т.п. Мне вполне подойдет с мобильника 3 строки текста набить. И покомпактнее, т.к. этикетки надо печатать раз в пол года, и заводить офисный принтер мне нафик не вперлось.

 ,

Vit
()

Посоветуйте алгоритм детектирования автоколебаний

Форум — General

Есть P-регулятор для моторчика, и датчик скорости. Надо примерно на средних оборотах автоматически подбирать максимально возможное значение P «пока не задергается».

Ну то то половинным делением подбираем - понятно. Однако вопрос, как проверить наличие колебаний, желательно без магических констант, и максимально быстро.

Существуют ли какие-то проверенные алгоритмы? (налисапедить-то можно, но хотелось бы разобраться, и не гулять по граблям).

 ,

Vit
()

Прикольный реестр пакетов у PlatformIO

Форум — Talks

https://community.platformio.org/t/embedded-template-library-v15-x-dissappeared-from-registry/14096/5

Я часто топлю за PlatformIO для кодинга под эмбеды. Оказывается они те еще затейники. Реестр пакетов отдает только последние 30 версий. То есть, зашпилили версии зависимостей, поставили тег, зарелизили фирмварь. А через пол годика хренак - и какая-нибудь зависимость перестала подтягиваться.

Правда весело :) ?

Вообще они ребята хорошие, и ответы дают внятные. Тут тоже сказали, что через месяцок разберутся, гы :).

 

Vit
()

Посоветуйте мобилку с апдейтами и камерой

Форум — Talks

На Nexus 6P в декабре официально перестали приходить апдейты. Что весьма досадно, специально ведь выбирал с прошивкой «от самого гугла». Посоветуйте аналогичную лопату на замену, только с камерой получше. А то как начинаю погружаться в обзоры, голова пухнет.

Мне НЕ нужна какая-то особая производительность, 2000 герц рефреш экрана и т.п. Интересует:

  • Чтобы security updates приходили долго
  • NFC
  • Камера
    • В идеале, чтобы умела делать снимки вблизи (макро) и в темноте, но можно и без этого.
  • Экран большой (как на нексусе 6p - устраивает)

Что-нибудь в пределах 10-30К.

 

Vit
()

Посоветуйте алгоритм «самонастраивающегося» регулятора.

Форум — General

Есть тиристорный регулятор для коллекторника переменного тока (с последовательным возбуждением). В настойщий момент там PI-регулятор, работающий от ошибки скорости, плюс колхозная линеаризация параметров мотора. Все это работает, но… so-so…

Теоретически, если взять стенд, и для всех нагрузок/скоростей построить функцию

F(скорость, момент) => фаза симистора

то можно по такой табличке рулить с очень хорошей стабильностью.

  • скорость и момент мы опредлять умеем, оставим это за скобками

Но поскольку стенда нет, то хочется взять корявый тормозной PID, и на ходу подстраивать табличку. Если в табличке есть подходящие параметры - берем напрямую, минуя пид. Если нет - тогда на основе пида, и по мере подстройки запоминаем к чему стремиться, чтобы в следующий раз не ждать пока пид устаканится.

Я не знаю, как это описать красивыми и правильными словами, но по-моему должны быть готовые решения для таких адаптивных систем. Подскажите пожалуйста, куда копать.

PS. Речь о регуле бормашинки. По задумке, когда ей начнут бормашинить, она постепенно начнет держать обороты все лучше и лучше. Как-то так.

 

Vit
()

Нужны рекомендации по использованию whatchdog

Форум — General

Сориентируйте пожалуйста, на какого класса задачах используют watchdog и типовые паттерны его приворачивания. Я в общих чертах понимаю что это такое, но не знаю критериев целесообразности.

Проекты хоббийные, на stm32, не медицина-космос. Но может в 2020 уже стало правилом хорошего тона обязательно whatchdog втыкать? Вам приходилось сталкиваться в реальной жизни, когда наличие whatchdog действительно помогало?

 ,

Vit
()

Помогите сделать USB-PD Sink библиотеку под MIT лицезией

Форум — Job

Есть актуальная задача - запитываться от USB зарядника, выбрав нужную мощность. Бывают конечно «триггеры», но во-первых они не всегда удобны, во-вторых не поддерживают PPS. Короче, готовые триггеры для встраивания - не очень. Интересно было бы поставить FUSB302 или юзать STM32G071 со встроенным интерфейсом.

К сожалению, с готовыми библиотеками проблема - либо блобы, как у ST, либо кривая лицензия как у ON, Microchip и т.п. Либо нужна операционка как у Google. И т.п. То есть такого, чтобы просто взять опенсорсную библиотеку и воткнуть ее в проект - нет. А хочется.

Кто-нибудь может взяться сделать свой лисапед, объяв разумом текущие наработки? Полноценной поддержки всех фич USB-PD не надо. Только 1 порт, и только потребитель (sink). С возможностью выбора PPS профиля. Если остального не делать, объем кода сильно уменьшается.

Нужна именно библиотека, чтобы ее могли юзать все желающие. То есть, без привязки к конкретной оси и приложению. Хотя, если что-то совсем микроскопическое вроде прототредов, то можно.

vitaly@rcdesign.ru

Если что-то плохо расписал - задавайте вопросы, постараюсь уточнить.

 ,

Vit
()

ETL, помогите с выбором очереди разобраться

Форум — Development

https://www.etlcpp.com/home.html

Стандартная задача на мелких эмбедах - из прерываний стугать сообщения, чтобы их потом уже в main loop разгребали по мере возможности (но без фатальных залипов). Многозадачку тащить не хочется.

Естественно, у каждой очереди на концах по одному отправителю и получателю, чтобы не искать приключений. Вместо «collision resolution» => «collision avoidance», ценой небольшого резервирования памяти (на «щели» в очереди). Объясните пожалуйста на примере stm32:

  • в какой момент с queue начнутся проблемы, и понадобится заморачиваться с более серьезными блокировками?
    • На M0-M4 для пересылки структур обычная очередь проканает, или там тоже out of order на запись в память лезет?
  • зачем надо было городить queue_spsc_locked, которому надо просовывать блокировщики, если queue_spsc_atomiс вроде и так работает?

PS. Достаточно чтобы работало с gcc/llvm.

 , ,

Vit
()

С/CPP можно ли закодить yeld через longjmp?

Форум — Development

Мне нужно написать функцию с длинной логикой, которая иногда «примораживается» до следующего тика таймера. Фактически - генератор, без необходимости заботиться о локальных переменных. Через switch получается уродски.

Нашел вот такой пример https://gist.github.com/mfoliveira/957805, он хорош, но работает только с GCC. Можно ли вместо указателей на метки использовать setjmp/longjmp? Вот так:

#define yield_start() if (YIELD_ENV != NULL) longjmp(YIELD_ENV, 1);

#define yield(val) if (!setjmp(YIELD_ENV)) return val;

#define yield_end() YIELD_ENV = NULL;

В спеке сказано, что если функция, вызвавшая setjmp() завершилась, то поведение longjmp() не определено. А мне как раз надо чтобы после следующего вызова выполнение продолжилось с места yield().

Тут возможны какие-то косяки кроме потери локальных переменных (меня это устраивает)? Меня и оригинальный вариант устраивает, но интересно разобраться.

Пример текущего кода https://github.com/speedcontrols/ac_sc_grinder/blob/master/src/calibrator.h#L29-L55

Хочется развернуть так:

static jump_buf YIELD_ENV = NULL;

bool tick() {
    yield_begin();

    while (!wait_knob_dial.tick()) { yield(false); }
    while (!calibrate_static.tick()) { yield(true); }    
    while (!calibrate_speed.tick()) { yield(true); }    
    while (!calibrate_pid.tick()) { yield(true); }    

    yield_end();
    return false;
}

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

 , ,

Vit
()

Как платить налоги с пожертвований через патреоны и т.п.?

Форум — Talks

Вопрос СПВ. Хочется завести аккаунт на патреоно-подобном сайте, чтобы получать пожертвования «на занятия всякими опенсорсными ништяками».

Как при этом юридически корректно выводить деньги и платить налоги? И чтобы это не конфликтовало с ИП.

PS. Cейчас кое-то капает с Titelift, но это корпоративная фенька, куда частников не загонишь.

Перемещено a1batross из general

 ,

Vit
()

Билд sdl2 `-m32` падает при запуске (ubuntu 18.04 amd64)

Форум — Development

https://forum.littlevgl.com/t/different-pool-memory-consumption-in-sim-and-bare-metal/1489/14

Я активно использую sdl2 чтобы писать прошивки на PC, без реального железа. Все работает, но хотелось бы использовать 32-битный билд чтобы монитор памяти показывал значения более близкие к реальному железу (stm32). Это из-за того, что много структур с указателями, и если они разного размера, то набегает разница в полтора раза. Проблема в том, что все собирается, но при запуске падает с ошибкой

dbus[30505]: arguments to dbus_message_new_method_call() were incorrect, assertion "path != NULL" failed in file ../../../dbus/dbus-message.c line 1362.
This is normally a bug in some application using the D-Bus library.

  D-Bus not built with -rdynamic so unable to print a backtrace

По ссылке - инструкция как воспроизвести в vscode (при открытии проекта все зависимости поставятся автоматически).

Нашел баг в лаунчпаде и костыли https://bugs.launchpad.net/ubuntu/+source/libsdl2/+bug/1775067/comments/7. Это можно как-то получше зафиксить?

 , ,

Vit
()

Куда валить с Dropbox?

Форум — General

Всем привет из криокамеры. Сегодня на одном из компов переставлял линукс, и обнаружил что дропбокс окончательно всё. В 2018 они покоцали синхронизацию шифрованных файлов. А в 2019 - симлинки. Плюс бесплатные аккаунты ограничили 3 девайсами.

Как-то это совсем грустно. Чем можно заменить? В идеале, чтобы на удаленке не надо было сервер разворачивать, а хватало чего-нибудь вроде гуглодиска. Ну или какой-нибудь готовый образ для digitaloсean и т.п.

Вроде подобия дропбокса делали очень активно, но я не отслеживал, как они продвинулись и что лучше смотреть. Посоветуйте что-нибудь.

 ,

Vit
()

RSS подписка на новые темы