fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

/dev/AlphaSierra

/dev/AlphaSierra

رفتن به کانال در Telegram

Заметки про клавиатуры и прочее. Канал с красивыми картинками @kbdAE

نمایش بیشتر
605
مشترکین
اطلاعاتی وجود ندارد24 ساعت
اطلاعاتی وجود ندارد7 روز
-230 روز
آرشیو پست ها
DMK #13 HHKB Classic Как я уже писал, еще несколько лет назад на МК HHKB Classic запустили QMK. Но, на мой вкус, сделано это довольно варварским способом: с разборкой клавиатуры, пайкой и затиранием родной прошивки. Когда у тебя есть своя прошивка, любая железка выглядит как то, на что обязательно нужно залить твою прошивку. Просто залить программатором прошивку в HHKB, даже DMK, — в этом нет ничего, кроме томления духа и суеты. Включить аппаратный оверсемплинг, настройку точки срабатывания, VIA, rapid trigger и поднять частоту сканирования матрицы в 20 раз — в этом есть известный каприз, но нет никакого пафоса. А вот залить свою прошивку не разбирая клавиатуру, используя штатный софт HHKB, да так еще, чтобы не затереть родную прошивку и в один клик можно было вернуть сток, — в этом есть и каприз, и идея, и пафос, и сверх того еще метафизический намек. За время работы над этим небольшим проектом у меня образовался какой-то гигантский массив информации, который, вероятно, я буду выплескивать на неблагодарного читателя в течение последующих постов. Думаю, надо начать издалека. В 2019 году появляется HHKB HYBRID. Она пока нас не особо интересует, разве что тем, что, по сути, HHKB Classic является упрощенной версией HYBRID, из которой убрали BT. У них по сути одинаковые платы с МК STM32L072RB, только на Classic не распаян модуль Taiyo Yuden EYSHCNZWZ (Nordic nRF52832) и его питание. Даже прошивки у них практически идентичные. Прошивки на эти клавиатуры накатываются с помощью родной утилиты для прошивки и ремапа кнопок для Win/Mac, при этом прошивка качается отдельно от утилиты. Формат прошивки .hfb по сути представляет собой бинарный файл самой прошивки + CRC16-X25 + префикс + сигнатура модели + версия прошивки. В случае HHKB HYBRID в .hfb еще находится и прошивка для nRF со своим CRC, который прошивается по SPI основным МК. Пока что сконцентрируемся на STM. У него есть DFU-bootloader, для его активации надо замкнуть два пина на плате, также на плате есть пины для подключения SWD. Обычному пользователю это ни к чему, но мне это позволило сделать полные бекапы до начала экспериментов. Сама прошивка на МК представлена двумя банками по 64 КБ. При подаче питания всегда грузится первый банк, он проверяет второй банк по CRC: если все нормально, он передает управление второму банку, если нет — остается первый банк. Обновление прошивки всегда ставится во второй банк. Из забавного: так как Classic позиционировался как урезанная версия, у него изначально не было Type-S версии и редактирования раскладки из софта. Первое чинилось установкой китайских колечек, а второе — редактированием JSON-конфига в папке программы. Но когда спустя 6 лет вышла Classic Type-S, ей все-таки позволили менять раскладку из софта и выдали отдельный идентификатор модели, поэтому для нее прошивка отличается от обычной Classic. DMK уже поддерживает оба варианта. Собственно, это все и позволило собрать свой бинарный файл, который понравится клавиатуре и родному софту для прошивки. Тут важно отметить, что софт делает проверку на то, чтобы прошиваемый файл был новее, чем тот, что установлен. #DMK #HHKB

Байкал EVU-LI-2.1 Совершенно случайно на маркетплейсе была обнаружена партия компактных отладочных плат. До этого физическим лицам была доступна только большая версия EVU-BA-2.5 за не очень понятные деньги. Переписки с производителем и торговыми представителями, которые длились несколько месяцев, не увенчались успехом: либо голый чип, либо большая плата — и это при том, что исходники компактной платы лежали на сайте производителя. Но в этой плате мне, честно говоря, не все нравилось, а переразводить ее сложно и долго: там 4 слоя и очень много компонентов. Формально нигде в документации не заявлено, что это форм-фактор Pro Micro, так что в целом все дальнейшие замечания — не проблемы, а скорее особенности. * на плате не mid-mount USB-разъем; * плата поставляется с распаянной гребенкой; * на плате очень много компонентов с обеих сторон. Есть и DIP-переключатель, и кнопка сброса, которые существенно увеличивают габариты платы. А что самое печальное — плату нельзя припаять плашмя на другую плату без спейсера: мешают компоненты у первого пина (с одной стороны это предохранитель, с другой — диод). Мне пришлось выпаивать кнопку и выгрызать дырку в плате «Кабарги», чтобы установить МК от «Байкал»; * высокое потребление и нагрев. Без подсветки МК потребляет 143 мА. Это на два порядка больше, чем nRF52 или любой другой привычный контроллер. Плата теплая. Если включить подсветку, потребление около 235 мА, и это я сильно ограничил яркость (50/255). В общем, на всякий случай добавил термопрокладку, которая отведет тепло на медный полигон на днище. Не то чтобы там были какие-то запредельные температуры, но мне так точно спокойнее будет. Теперь про хорошее: * PIO — это, конечно, не совсем то же самое, что у RP2040: тут отдельное третье ядро, которое может быстро дергать ноги порта C. Это же ядро можно использовать как встроенный отладчик. * Чип довольно мощный: 2x200 МГц, 192 КБ (TCMA 64, TCMB 96, SRAM 32). * Большой выбор опций загрузки. Именно из-за этого пришлось поставить DIP-переключатель. * High-Speed USB: можно делать USB HID с 8 кГц опроса. Стоит ли выбирать «Байкал» вместо RP2040? Микроконтроллер и правда получился хорошим, если, конечно, не учитывать доступность и цену, но этот момент я обсуждать не буду. В целом цена EVU-LI-2.1 относительно вменяемая, учитывая цену чипа и время на сборку платы. Я в целом доволен, что у меня есть клавиатура на редком чипе. #DMK #Байкал

Отечественные МК Раз я уж начал собирать отечественные МК, наверное, надо как-то собрать в одном месте информацию, какие они бывают. Сразу оговорюсь, что мой интерес ограничен исключительно чипами с железной поддержкой USB. Отдельно хочу выразить благодарность производителям за понятные названия, особенно когда один чип имеет несколько вариантов или когда в одном названии и кириллические, и латинские символы. Самое что интересное: несмотря на явно в разы отличающуюся мощность чипов, стоят все 3 доступных варианта практически одинаково. Хотя про «доступность» я, конечно, погорячился — когда простым смертным надо по полгода ждать девборды за не самые гуманные деньги, это сложно назвать доступностью. НИИЭТ К1921ВГ015: наличие USB в нем совсем номинальное, один еле живой ep. Упомянут просто, чтобы читатель не подумал, что я его забыл. Миландр К1986ВЕ92FI (MDR1211FI) / К1986ВЕ92F1I /К1986ВЕ92QI: всего 3 ep, но этого хватает за глаза для клавиатурных задач. Поддержка вроде не лучшая, но вот недавно, спустя 12 лет после выпуска чипа они сделали бутлодер и портировали tinyUSB. BE-U1000 / BE-U1200 / BE-U1300: по сути, все версии U1100–U1300 являются удешевленными версиями U1000. Так, у U1100 нет USB. На мой вкус, самый интересный и мощный из отечественных МК, есть бутлодер, нормальный SDK. MIK32 Амур К1948ВК015: планируется, что выйдет в 28 году, особых подробностей пока нет. #КЛ413а #DMK

ironOS для Sequre Спустя пару лет наконец в предрелизной версии появились прошивки для Sequre S99 и T55. Не то чтобы мне сильно нравилось управление в ironOS, но оно минимально раздражает и теперь оно одинаковое на трех моих устройствах. На T55 в режим использования профилей есть графические артифакты, а на S99 стабилизация температуры немного дерганая, но я думаю это поправят со временем. github #Паяльники

DMK #12 рефакторинг и Байкал В DMK проведен большой рефакторинг, обновлены версии tinyUSB, freeRTOS и версии SDK, миландр переведен на полноценный tinyUSB, добавлена реализация 8 кГц опроса для Байкала. Спустя какое-то довольно продолжительное время, мне удалось купить плату EVU-LI-2.1 в форм-факторе proMicro на Baikal BE-U1000. До этого что компания что диллеры предлагали только большую отладочную плату, за абсолютно не гуманные деньги. Я даже уже начал сам рисовать плату. И тут они появляются на маркетплейса за вполне вменяемые (в рамках отечественных плат деньги), про саму плату я думаю будет отдельный пост. Сейчас скажу только, что МК запаян в кабаргу и полноценно работает: RGB, индикаторные светодиоды (с помощью модуля показывают текущий слой), VIAL/VIA. DMK Производитель сделал даже UF2 бутлодер, только там не было индикаци и бутлодер занимал 64 кб, я добавил индикацию и ужал до 16 кб. Остается свободно 240 кб памяти. #DMK

Миландр выложили исходники загручика и примеры USB Миландр наконец добавили снизу статей ссылки на скачивания исходников. Помимо просто записи прошивки через DFU у них была реализована возможность чтения и альтернативный режим для записи и чтения заводских калибровок АЦП. Я не уверен, что это было сильно нужно но реализовал все это в версии 2.2, мой загрузчик все еще в два раза компактнее, хотя умеет все то же самое. Также Миландр наконец портировали TinyUSB под свои микроконтроллеры и сделали примеры USB! МК больше 10 лет на рынке и спустя 6 месяцев после того как я сделал USB примеры и DFU бутлодер компания релизит свои версии. И причем я сам им отправлял ссылки, когда столкнулся со сложностями записи в память. Вероятно это совпадение.. Ну и резисторы 5.1k в новых версиях они вроде тоже починили. github

Миландр сделали DFU загрузчик Ну как сделали, они вероятно вдохновлялись моим репозиторием. Я даже не уверен что они сделали загрузчик есть только описание, ни исходников, ни бинарников нет. Страница согласно логам сайта была создана 13.10.2026 и до сих пор активное редактируется. Мой проект был выложен на 4 месяца раньше. Пока Миландр вдохновлялся 8кб загрузчиком я сделал 4кб загрузчик, что позволило выделить под саму прошивку на 4 кб больше места, что при наличии всего 128 кб довольно существенно. Посмотрим сколько потребуется Миландру времени на вдохновление и выпуск 4кб бутлодера... ну или хотя бы релиз исходников 8кб. github

M-Vave FM-1: Злобные корпораты Я, правда, не планировал в ближайшее время писать про FM1, на очереди еще много других постов, но тут случилось что-то из ряда вон, и, раз уж я тут взялся поддерживать список прошивок, наверное, придется что-то сказать и про это. Все же любят истории, как герой в одиночку противостоит злобной корпорации? Так вот, когда для FM1 вышло больше 60 (!!!) прошивок, вдруг объявились разработчики синтезатора и говорят, что теперь они тоже делают открытую прошивку! Причем это не та старая стоковая FM-прошивка, это совершенно новая грувбокс-прошивка. Это довольно неожиданное поведение. Пока я это писал, репозиторий исчез из публичного доступа. Но веб-версия доступна. Надо, наверное, отметить, что, кроме FM1, прошивки делаются и на SMK-37, который уже с полноценной клавиатурой на 37 кнопок, но активности там явно меньше. Также начались движения по взлому прошивок Electron и teenage engineering. На Electron, ОКАЗЫВАЕТСЯ, использовалось одно и то же железо для разных устройств, и теперь можно одно устройство перешить в другое, также можно какие-то программные фишки тасовать между прошивками, хотя производитель упорно уверял, что это невозможно. Я думаю, что нас ждет еще много интересных открытий. github #FM1

M-Vave FM-1: еще прошивки Довольно скоро после BAUD GIRL появилась еще одна прошивка, а за ней еще одна... Каждый раз как я хотел написать пост выходили еще прошивки. Сейчас их 9 штук не считая стоковой. Собрал все в список на github. У меня есть идеи портировать свои прошивки с #Omsk на FM-1, очень хотелось бы поиграться с семплами и кастомными формами волны. #FM1

kazuar #7: сплит режим Добавил сплит режим, он включается в настройках отдельно для портретной и альбомной ориентации. Также
kazuar #7: сплит режим Добавил сплит режим, он включается в настройках отдельно для портретной и альбомной ориентации. Также немного поправил работу автокоррекции. github #kazuar

M-Vave FM-1: BAUD GIRL Первый полноценный мод родной прошивки. К сожалению, исходники закрыты. Из изменений: переосмысление м
M-Vave FM-1: BAUD GIRL Первый полноценный мод родной прошивки. К сожалению, исходники закрыты. Из изменений: переосмысление многих спорных решений оригинальной прошивки, добавление Virtual Analog синтезаторов, секвенсор на 64 шага. Установка производится прямо с сайта в пару кликов. baud girl #FM1

droidulator & kazuar Добавил для обоих приложений сборку split версий под каждую платформу, благодаря этому удалось снизить размер пакетов в два раза. Так же другие незначительные улучшения и оптимизации. Например продолжаем вычищать из kazuar неиспользуемые остатки AOSP клавиатуры. В droidulator немного оптимизировал подсказки по Tab. droidulator kazuar #droidulator #kazuar

DMK #11 обновление С момента релиза прошивка существенно обновилась. Был проведен большой рефакторинг. А также было очень много оптимизаций по работе с памятью. Потребление ОЗУ сократилось процентов на 30. Теперь есть поддержка vial и via v3. Пришлось добавить via v3, потому что в нем есть возможность создавать кастомные контролы, чтобы можно было удобно калибровать и настраивать HE свитчи. Добавилась поддержка мышки и геймпада, расширилась поддержка MIDI. Появилась поддержка модулей, настоящих модулей, не как в zmk. Так как dmk крутится на всех МК на одном ядре, при наличии второго его можно целиком отдать, например, под движок синтезатора, причем у движка будет доступ к экрану, ЦАП, usb midi, нажатиям кнопок. Безусловно, можно добавлять поддержку различных необычных матриц. Например, вот конфиг для mk doze версии рисатено, в других прошивках приходится что-то выдумывать на аккордах, а тут мы можем сделать кастомную матрицу, и это будет абсолютно понятно отображаться в vial. Функционал модулей по-настоящему безграничен, реализовать что-то подобное в других прошивках, может быть, и можно, но я даже представить боюсь, каких колоссальных это потребует усилий, а главное, как быстро это сломается с обновлениями. Добавлен веб-конфигуратор, можно за пару минут мышкой натыкать конфиг для своей клавиатуры, вообще не разбираясь с синтаксисом и не читая документацию. github #DMK

Разделочные доски Есть огромное количество различных материалов для разделочных досок, и это позволяет выбрать наименее неподходящий именно вам. Давайте коротко пройдемся по стальным, каменным и стеклянным доскам: это не разделочные доски, это сервировочные доски. На них ничего не режут, на них подают готовые блюда. Полипропилен (ПП) — простой и понятный выбор, не требует ухода, но есть некоторая вероятность попадания пластика в продукты, в остальном отличный выбор. Деревянные доски выбирают те, кого запугали микропластиком. Если в целом говорить про дерево, то оно впитывает влагу и запахи, требует ухода, доска может рассыхаться, менять геометрию. Конечно, все мы втайне мечтаем о толстенной торцевой доске, однако цена, вес и недолговечность этого изделия делают его неприменимым в быту. Нет, конечно же, если вам нравятся циклевание, обработка маслом и вы считаете, что тяжесть — это надежно, тогда, возможно, это ваш выбор. А вы можете быть уверены, что доски, склеенные и пропитанные чем-то в гараже, значительно безопаснее микропластика? Древесные композиты можно воспринимать как компромисс между ПП и деревом. Там, конечно, все еще используется смола в производстве, но если вы используете не самые дешевые варианты, там используются сертифицированные пищевые смолы, да и шанс попадания в пищу у композитных досок сильно ниже, чем у ПП. Канавка по периметру на самом деле больше мешает, чем приносит пользу, лучше поискать доску без нее. Размер доски зависит от размеров продуктов, техники нарезки, размеров ножа, тут сложно что-то конкретное советовать, но лучше пару раз подумать, прежде чем брать большую и тяжелую доску во весь стол. Как и где ее хранить? Как ее мыть?

Наброски 38: тачпады и матрицы Topre. Расчет емкости тачпада/тачскрина ничем принципиально не отличается от описанного выше м
Наброски 38: тачпады и матрицы Topre. Расчет емкости тачпада/тачскрина ничем принципиально не отличается от описанного выше метода, так что ничего не мешает реализовать их, используя только сетку и rp2040/rp2350. Такая идея уже частично протестирована на тачскрине, сейчас готовится тачпад на rp2350. В связи с этим возникла идея использовать ту же самую матрицу для Topre. Тут уже возникли сложности: 4 пары падов, наклеенных на картонку, которые отлично работали в режиме директ-пин, в режиме матрицы начали показывать слишком большие перекрестные засветки на соседних свитчах. Может быть, на нормально разведенной плате с хорошим экранированием проблема будет не такая заметная, но все же технология изначально была разработана не для дискретного определения емкости конденсатора в матрице. #Наброски #EC

Наброски 38: Varmilo EC Varmilo уже несколько лет развивает линейку mx подобных ec переключателей, по сути это обычные mx сви
Наброски 38: Varmilo EC Varmilo уже несколько лет развивает линейку mx подобных ec переключателей, по сути это обычные mx свитчи в которых контакты не соприкасаются при любой глубине нажатия. Причем уже вышло 3 поколения, в каждом по десятку разновидностей и среди них даже есть клики, что не очень часто встречается в емкостных свитчах, я могу разве, что IBM Beam Springs вспомнить. Учитывая то что они поддерживают обычные mx сокеты их можно точно также использовать в гибридных футпринтах из предыдущего поста. #Наброски #EC

Наброски 37: гибридные платы MX/EC Сама по себе идея не первой свежести, но всё-таки надо упомянуть, что в варианте реализаци
Наброски 37: гибридные платы MX/EC Сама по себе идея не первой свежести, но всё-таки надо упомянуть, что в варианте реализации EC чисто силами одного МК как бонус появляется возможность исключительно программными методами переключиться на сканирование direct pin матрицы MX/Choc свитчей, хотя, безусловно, лишние отверстия явно не лучшим образом сказываются на ёмкости. По горячим следам прошлого поста отмечу, что есть подвижки в сторону реализации тачпада на рп2350 без использования внешнего контроллера. #Наброски #EC

Наброски 36: измерение емкости цифровыми пинами Немного изучив, как устроено измерение емкости на esp32, я понял, что это можно повторить на любом чипе, и реализовал опрос topre на rp2040 через pio. Алгоритм довольно прост: сначала мы заряжаем конденсатор, подавая на него HIGH, потом разряжаем через встроенный Pull-Down и считаем такты, за которые конденсатор разрядился. Повторяем это много раз для каждого раза, для того чтобы после обработки получить более точное значение, и так мы получаем одно из 1000 значений в секунду. Из этого следует, что можно сделать EC-клавиатуру на RP2040 или Baikal без использования внешних чипов вообще. А что еще более интересно, можно добавлять сенсорные полоски на плейт, например для скролла, или вообще сделать тачпад без внешних контроллеров, где можно прошивкой контролировать каждый аспект работы сенсора. #Наброски #EC

Наброски 35: topre — это сенсорные кнопки esp32 и stm32 имеют возможность подключать сенсорные кнопки напрямую к пинам микрок
Наброски 35: topre — это сенсорные кнопки esp32 и stm32 имеют возможность подключать сенсорные кнопки напрямую к пинам микроконтроллера, например, esp32 s3, который стоит в cardputer adv, поддерживает до 14 таких кнопок с частотой опроса до 1 кГц. И в отличие от классических diy схем, нам не требуются операционные усилители, мультиплексоры и что-либо еще. При этом разрешение порядка 11+ бит (2-3к отсчетов), и, возможно, мы можем даже поднять его еще выше. Это как минимум не хуже, чем у классической схемы, вероятно, даже заметно лучше. На текущий момент вырезаны пады из медной фольги, и сделана тестовая прошивка для cardputer, которая читает все 6 доступных каналов и выводит данные в usb cdc с частотой до 1000 Гц, на хосте python строит график по этим данным в режиме реального времени. Для РИСАТЕНО на EC все готово. Остался вопрос с прошивкой. Я без проблем могу добавить поддержку esp32 и драйвер чтения емкостных сенсоров в DMK, однако мне все еще не хочется заниматься BLE. #EC #PNCATEHO #Наброски

Как выбрать сковороду из нержавейки По размеру стоит ориентироваться на 26 см. Три или пять слоев, алюминий или медь — это в
Как выбрать сковороду из нержавейки По размеру стоит ориентироваться на 26 см. Три или пять слоев, алюминий или медь — это в целом не важно, смотрите по своему бюджету. Главное, чтобы эти слои были не только на дне, а полноценными, по всей поверхности сковороды. Желательно, чтобы края были завальцованными и слои не торчали на срезе. Ручка должна быть из нержавеющей стали, она должна быть приклепана. В идеале — чтобы с внутренней стороны сковороды заклепки были плоскими, а не полукруглыми, так будет проще мыть сковороду. Форма ручки должна быть такой, чтобы она не прокручивалась в руке. Чем проще форма, тем проще мыть. Все декоративные элементы вроде имитации следов ковки могут усложнять этот процесс. Касательно процесса готовки и мытья, я думаю, лучше посмотреть пару видео и попробовать самому, описывать текстом подобные вещи мне кажется бессмысленным. Сложного ничего нет, как-то испортить сковородку даже при очень неправильном использовании мне кажется невероятным, поэтому не бойтесь пробовать.