?

Log in

No account? Create an account
Костерок

eddy_em


Емельянов Эдуард Владимирович


Entries by category: it

[sticky post]Содержание
Костерок
eddy_em
Здесь - краткое содержание моего графоманстваCollapse )

promo eddy_em august 17, 12:33 3
Buy for 10 tokens
Юра намедни напечатал корпус для хронометра. Для первого блина получилось неплохо: И еще немного фотографий:

Заблуждение геймеров на счет HID
Костерок
eddy_em
Почему-то на всех радиофорумах геймеры дружно считают, что "для CDC нужны драйвера, а для HID — нет".
Это что за массовое сумасбродство такое? Как будто бы HID без "драйвера" будет работать... Не будет, конечно!
Зато "драйвер" CDC создает в системе устройство вроде /dev/ttyUSBx или /dev/ttyACMx, с которым можно работать прямо "из коробки": не нужно ничего писать на всевозможных языках программирования! Просто сделай изначальную настройку при помощи stty, а затем echo "команды" > /dev/ttyxxx; cat /dev/ttyxxx (у меня сейчас управление питанием телескопа — будущего робота — так и устроено, на баш-скриптах).
В случае же HID необходимо начинать отладку не с командной строки, а с IDE: писать какой-то менеджер, эдакую прослойку между терминалом и железкой... Кстати, аналогичные проблемы возникнут, если выбрать бинарный, а не текстовый протокол.
И еще один недостаток HID: он не может за один пакет больше ~64 (а то и меньше) байт отправить. А пакеты идут не чаще, чем раз в миллисекунду.

В общем, HID хорош только как эмулятор джойстика, клавиатуры и мыши. Для чего-то серьезней он не нужен.
// вспоминаю, как я "реверсил" турели Edmund Optics: там придумали HID и навесили какой-то угрюмый протокол, с которым я чуть ли не неделю возился!

У Леньки Потного совсем крыша поехала!
Костерок
eddy_em
Пишут, что еще и systemd-homed появился... Ну, теперь юзерам точно крышка. Будут себя в "свободном линуксе" чувствовать не хуже, чем под колпаком винды: поцтеродемоны будут следить за каждым движением юзера и стучать "куда надо".
Я уж молчу о том, что systemd изначально нарушает главные принципы UNIX: UNIX-way и KISS!
В общем, лет через 5 даже внутри линуксоидов будут кардинальные разделения: те, кто не прогнулся под поцтеринга, и остальные.
Какое счастье, что в генте нет этого дерьма (а также pulseaudio, networkmanager'а и прочей дряни)!

Обновленная прошивка хронометра
Костерок
eddy_em
Понемногу допиливаю прошивку хронометра. Исправил некоторые косяки и добавил возможность сохранять логи прямо во флеш-память микроконтроллера! Интересно, что, несмотря на то, что на корпусе написано STM32F103C8T6, фактически у него 128кБ флеша! Сама прошивка занимает почти 15кБ, после нее 2 страницы флеш-памяти отводится на хранение настроек (их туда аж 50 штук влезает, так что, очищать эти 2кБ нужно будет достаточно редко), а уже за ними все свободное место отведено под хранение логов.
Убил довольно-таки приличное количество времени, чтобы разобраться с линкер-скриптом и разместить хранилища именно там, где я хочу! При дебаге даже пришлось несколько раз сливать с камня прошивку после записи параметров и логов, чтобы убедиться, что все находится на своих местах.
Единственное, что мне сейчас не нравится — разбор команд, который у меня реализован тупо в лоб (серией if-else if). Вот чувствую, что можно сделать элегантное решение на вложенных switch'ах, но если это писать вручную, замучаюсь при добавлении новой команды (и лопухнуться легко при удалении ненужной), т.е. нужно писать генератор кода. И это останавливает от прогресса!

Как нонче официально "прошивку" принято обзывать?
Костерок
eddy_em
Что-то голову ломаю: в неофициальной технической документации я просто пишу "исходники прошивки МК смотри в репе на гитхабе", а что написать в официальной? Если писать "исходные коды микрокода МК", получается какая-то тавтология...
Кто что пишет в таких случаях?

Косяк с эмуляцией PL2303
Костерок
eddy_em
Я уже писал, что изредка у меня возникают такие ошибки:
pl2303 ttyUSB0: pl2303_set_line_request - failed: -32

Но на работу они не влияют, и я не обращал внимания, пока не попробовал железку приконнектить к игровой приставке. Не получилось: прошивка считает ее "нераспознанным устройством" и работать с ней отказывается. А вечером я попробовал приконнектить хронометр к смартфону. Попробовал несколько терминальных клиентов — все сообщают, что устройство не опознано (но при этом к китайскому PL2303 нормально подключаются).
Шайтан, однако! Я уже час сижу в логи wireshark гляжу. И не вижу никакой разницы между моей железкой и китайской PL2303! Но при этом в dmesg от китайской ошибок нет, а от моей есть! Возможно, что-то не то с таймингами. Надо еще покорпеть...

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

Оптимальная эмуляция EEPROM во флеш-памяти STM32
Костерок
eddy_em
Работая над более свежей версией хронометра для разнообразных соревнований (пока что все еще на STM32, с ESP32 я немного поковырялся, испугался и забил до поры до времени), опять столкнулся с необходимостью сохранения настроек. Сначала взял свой старый сниппет, немножко подкорректировал (сниппет разрабатывался для STM32F0x2), но потом мне стало как-то неуютно от того, что из более чем 110кБ свободной флеш-памяти я использую лишь 1-2кБ. После поиска решений на разных форумах пришел к такому результату.
ДальшеCollapse )
Tags: ,

Kernel-5.0
Костерок
eddy_em
Товарищи, а кто уже пользуется? Захотел сделать suspend to disk на ноутбуке (правда, свопа у меня нет, нужно будет своп-файл делать), но для этого нужно ведро пересобрать. Раз такая пьянка, решил уже обновить.
Стоит на пятое переходить, или пока 4.20 поюзать?

UPD: поставил 5.0.4, пришлось подредактировать модуль ядра wifi, в остальном проблем нет.
Засыпание не взлетело: нет терпения так долго ждать! Думал, 15секунд хватит...
Tags:

Да это ж просто [censored]!!!
Костерок
eddy_em
Заходим на гитхаб, а там...
> Microsoft is acquiring GitHub!

Просто слов нет! Такое хорошее репохранилище было… Сначала гуглокод скурвился, теперь гитхаб. У меня, конечно, есть клоны всех репозиториев на сосфорже, гитлабе и битбакете, но все это совсем не то.

Когда ж эти проклятые мелкомягкие загнутся?

Установка gentoo
Костерок
eddy_em
Что-то я каждый раз с новой железякой начинаю рыться в интернете, что там да как.
Краткий алгоритмCollapse )
Tags: