Наброски #17: клавиатура без единого гвоздя
Было бы интересно сделать корпуса для какого-нибудь из следующих проектов без применения винтов. Корпус из двух половинок: верхней и нижней. По широкой стороне размещаем подобие ласточкина хвоста, при сборке половинки просто надвигается одна на другую, фиксация от разъезжания с помощи вставки фиксирующих пинов или печатных щеколд, может быть какие-то пружинные фиксаторы. Места для сдвига требуется чуть больше чем толщина стенки, так что это не приведет к существенному увеличению размеров. По узким сторонам можно сделать подобие рельсов, чтобы зафиксировать движение по горизонтальной оси. В целом ничего не мешает такое же провернуть с фрезерованным корпусам, главная сложность это подбор рабочих зазоров.
#Наброски
Было бы интересно сделать корпуса для какого-нибудь из следующих проектов без применения винтов. Корпус из двух половинок: верхней и нижней. По широкой стороне размещаем подобие ласточкина хвоста, при сборке половинки просто надвигается одна на другую, фиксация от разъезжания с помощи вставки фиксирующих пинов или печатных щеколд, может быть какие-то пружинные фиксаторы. Места для сдвига требуется чуть больше чем толщина стенки, так что это не приведет к существенному увеличению размеров. По узким сторонам можно сделать подобие рельсов, чтобы зафиксировать движение по горизонтальной оси. В целом ничего не мешает такое же провернуть с фрезерованным корпусам, главная сложность это подбор рабочих зазоров.
#Наброски
👾12
/dev/AlphaSierra
c!n tester #2 Добавил возможность залить прошивку из приложения с помощью adafruit-nrfutil. Думаю стоит подробнее описать работу тестера. Программа ждет готовности контроллеров начать тест, после этого запускается тесты: * все пины вверх * все пины вниз…
c!n tester #3: Релиз
Проект выложен на github
На данный момент работа скомпилированных бинарников проверена на Windows 10, Windows 11 и Fedora 41. В скором времени ожидается бинарник для macOS.
Для работы достаточно один раз прошить мастер-контроллер — тестируемый микроконтроллер прошивается автоматически через приложение.
В процессе разработки возникло огромное количество различных проблем: начиная с того, что библиотеки для работы с nRF52 в Arduino IDE и PlatformIO просто не работали «из коробки». Для Arduino IDE, вроде бы, описано решение проблемы, но оно, конечно же, не помогло. Под PlatformIO в итоге я сам догадался, как все починить.
Впереди еще много работы, но уже сейчас приложением можно пользоваться.
#cn_tester
Проект выложен на github
На данный момент работа скомпилированных бинарников проверена на Windows 10, Windows 11 и Fedora 41. В скором времени ожидается бинарник для macOS.
Для работы достаточно один раз прошить мастер-контроллер — тестируемый микроконтроллер прошивается автоматически через приложение.
В процессе разработки возникло огромное количество различных проблем: начиная с того, что библиотеки для работы с nRF52 в Arduino IDE и PlatformIO просто не работали «из коробки». Для Arduino IDE, вроде бы, описано решение проблемы, но оно, конечно же, не помогло. Под PlatformIO в итоге я сам догадался, как все починить.
Впереди еще много работы, но уже сейчас приложением можно пользоваться.
#cn_tester
👾17
/dev/AlphaSierra
КЛ413а #2: Диоды С чем уж точно не будет проблем, так это с диодами. Куча приличных смд варианто, начиная от одиночных диодов (КД-105Б), и простеньких сборок из двух диодов (КД706АС9), заканчивая монструозными золотыми сборками на 8 диодов (2Д917А) #КЛ413а…
КЛ413а #3: К1986ВЕ92FI
Еще один интересный вариант отечественного МК. Он используется в отечественной клавиатуре Lightcom Type K1W.
Вроде как в документации сказано что МК умеет тактироваться от USB, но на плате явно стоит отдельный кварц.
К сожалению никаких вариантов купить чип, кроме как в составе отладочной платы за 3 тысяч рублей я не нашел.
Из приятного отмечу: до 16 аналоговых каналов, до 96 цифровых входов/выходов.
Документация на К1986ВЕ92FI ( MDR1211FI )
Обзор клавиатуры на Хабр
#КЛ413а
Еще один интересный вариант отечественного МК. Он используется в отечественной клавиатуре Lightcom Type K1W.
Вроде как в документации сказано что МК умеет тактироваться от USB, но на плате явно стоит отдельный кварц.
К сожалению никаких вариантов купить чип, кроме как в составе отладочной платы за 3 тысяч рублей я не нашел.
Из приятного отмечу: до 16 аналоговых каналов, до 96 цифровых входов/выходов.
Документация на К1986ВЕ92FI ( MDR1211FI )
Обзор клавиатуры на Хабр
#КЛ413а
👾5
/dev/AlphaSierra
c!n tester #3: Релиз Проект выложен на github На данный момент работа скомпилированных бинарников проверена на Windows 10, Windows 11 и Fedora 41. В скором времени ожидается бинарник для macOS. Для работы достаточно один раз прошить мастер-контроллер —…
c!n tester #4: СМИ и github actions
Про тестер написали в СМИ.
Тем временем я реализовал сборку приложения с помощь github actions. Как всегда проблемы возникли только с windows. Теперь есть готовые бинарники для 3х ОС.
На очереди сборка прошивок в облаке. Учитывая то как плохо реализована поддержка nrf52840, я думаю это будет непросто, даже не смотря на наличие примеров.
#cn_tester
Про тестер написали в СМИ.
Тем временем я реализовал сборку приложения с помощь github actions. Как всегда проблемы возникли только с windows. Теперь есть готовые бинарники для 3х ОС.
На очереди сборка прошивок в облаке. Учитывая то как плохо реализована поддержка nrf52840, я думаю это будет непросто, даже не смотря на наличие примеров.
#cn_tester
👾7
Affinity
Несмотря на все старания комьюнити Krita/GIMP/Inkscape, они остаются немного сырыми, и в иногда возникают трудности даже с базовыми задачами.
Для меня Adobe Photoshop/Illustrator/InDesign всегда были чем-то монструозным. Даже на современном компьютере с SSD они умудрялись открываться по полминуты, да и политика Adobe мне не по душе.
Affinity Photo/Designer/Publisher в свое время стали для меня настоящим открытием: полноценный набор графических редакторов без подписок, работа с файлами Adobe, почти мгновенный запуск, огромное количество обучающих материалов и большой форум поддержки. К сожалению, какое-то время назад Affinity купила компания Canva — и стало только лучше. Теперь это единое приложение Affinity Studio, причем базовая версия бесплатна, а подписка нужна только для AI-функций. Файлы проектов Photo/Designer открываются без каких-либо проблем. Единственный минус — необходимость авторизации при первом запуске, но говорят, что и она не обязательна.
Несмотря на все старания комьюнити Krita/GIMP/Inkscape, они остаются немного сырыми, и в иногда возникают трудности даже с базовыми задачами.
Для меня Adobe Photoshop/Illustrator/InDesign всегда были чем-то монструозным. Даже на современном компьютере с SSD они умудрялись открываться по полминуты, да и политика Adobe мне не по душе.
Affinity Photo/Designer/Publisher в свое время стали для меня настоящим открытием: полноценный набор графических редакторов без подписок, работа с файлами Adobe, почти мгновенный запуск, огромное количество обучающих материалов и большой форум поддержки. К сожалению, какое-то время назад Affinity купила компания Canva — и стало только лучше. Теперь это единое приложение Affinity Studio, причем базовая версия бесплатна, а подписка нужна только для AI-функций. Файлы проектов Photo/Designer открываются без каких-либо проблем. Единственный минус — необходимость авторизации при первом запуске, но говорят, что и она не обязательна.
👾8
/dev/AlphaSierra
Наброски #17: клавиатура без единого гвоздя Было бы интересно сделать корпуса для какого-нибудь из следующих проектов без применения винтов. Корпус из двух половинок: верхней и нижней. По широкой стороне размещаем подобие ласточкина хвоста, при сборке половинки…
Наброски #18: РИСАТЕНО-брелок
Появилась идея сделать небольшую партию брелков с открывалкой для лимонада в виде РИСАТЕНО. По материалам: титан/тимаскус/нержавеющий дамаск/макуме. Хотелось бы конечно титан с авторским финишем, но пока я не уверен что наберется достаточное число участников чтобы было целесообразно что-то делать.
Есть также вопросы как наносить серийный номер на брелок, лазерная гравировка не очень хорошо смотрится поверх анода.
#Наброски
#PNCATEHO
Появилась идея сделать небольшую партию брелков с открывалкой для лимонада в виде РИСАТЕНО. По материалам: титан/тимаскус/нержавеющий дамаск/макуме. Хотелось бы конечно титан с авторским финишем, но пока я не уверен что наберется достаточное число участников чтобы было целесообразно что-то делать.
Есть также вопросы как наносить серийный номер на брелок, лазерная гравировка не очень хорошо смотрится поверх анода.
#Наброски
#PNCATEHO
👾22
ZMK мышка: анонс
Я давно хотел трекбол на ZMK, но не хотел использовать 3D-печатный корпус, поэтому пришлось встраивать ZMK в готовое устройство. Для этого нужно либо подходящее железо, либо разрабатывать свое, что существенно усложняет задачу: замена сенсора тянет за собой замену всей корзины шара. Писать драйвера для сенсора или портирование ZMK на китайский STM32 писать тоже не хотелось.
После долгого изучения оптимальным оказался набор nRF52840 + PAW3395, часто встречающийся в китайских игровых мышках. В трекболах же обычно стоит слишком бюджетное железо, поэтому выбор пал именно на мышки. Хотелось, чтобы любой человек с программатором за 200 рублей мог перепрошить свою мышку и получить изделие заводского уровня с открытой прошивкой. Пул подходящих моделей достаточно большой. Сейчас не работает только родной донгл, но функционируют USB (1000 Hz), BT/ZMK dongle (125 Hz) и ESB (1000 Hz).
Выражаю благодарность @esyuninmax, который проделал значимую часть работы над проектом
#zmkMouse
Я давно хотел трекбол на ZMK, но не хотел использовать 3D-печатный корпус, поэтому пришлось встраивать ZMK в готовое устройство. Для этого нужно либо подходящее железо, либо разрабатывать свое, что существенно усложняет задачу: замена сенсора тянет за собой замену всей корзины шара. Писать драйвера для сенсора или портирование ZMK на китайский STM32 писать тоже не хотелось.
После долгого изучения оптимальным оказался набор nRF52840 + PAW3395, часто встречающийся в китайских игровых мышках. В трекболах же обычно стоит слишком бюджетное железо, поэтому выбор пал именно на мышки. Хотелось, чтобы любой человек с программатором за 200 рублей мог перепрошить свою мышку и получить изделие заводского уровня с открытой прошивкой. Пул подходящих моделей достаточно большой. Сейчас не работает только родной донгл, но функционируют USB (1000 Hz), BT/ZMK dongle (125 Hz) и ESB (1000 Hz).
Выражаю благодарность @esyuninmax, который проделал значимую часть работы над проектом
#zmkMouse
👾24
/dev/AlphaSierra
ZMK мышка: анонс Я давно хотел трекбол на ZMK, но не хотел использовать 3D-печатный корпус, поэтому пришлось встраивать ZMK в готовое устройство. Для этого нужно либо подходящее железо, либо разрабатывать свое, что существенно усложняет задачу: замена сенсора…
ZMK мышка: поддерживаемые мышки
По идее подходит любая мышь на nRF52833/nRF52840 + PAW3395/PMW3610. Ищу видео с разборкой. Очень желательно, чтобы на плате были пады для прошивки (VDD | GND | DIO | CLK), иначе придется снимать чип с платы и прошивать отдельно. У VGN и VXE чип залит компаундом, похожим на эпоксидную смолу, поэтому снять его проблематично, но пады прошивки есть. Разная экзотика вроде дисплеев или оптических энкодеров усложняет полноценное портирование ZMK, но в базовом случае проблем быть не должно.
Ниже список, который мне удалось собрать.
* VGN f1 pro/pro max/moba
* VXE R1 Pro/R1 Pro Max
* LAMZU Atlantis Mini 4K / Maya
* Pulsar X2V2
* Hitscan Hyperlight
* Zaopin z2
Если можете его дополнить — свяжитесь со мной!
#zmkMouse
По идее подходит любая мышь на nRF52833/nRF52840 + PAW3395/PMW3610. Ищу видео с разборкой. Очень желательно, чтобы на плате были пады для прошивки (VDD | GND | DIO | CLK), иначе придется снимать чип с платы и прошивать отдельно. У VGN и VXE чип залит компаундом, похожим на эпоксидную смолу, поэтому снять его проблематично, но пады прошивки есть. Разная экзотика вроде дисплеев или оптических энкодеров усложняет полноценное портирование ZMK, но в базовом случае проблем быть не должно.
Ниже список, который мне удалось собрать.
* VGN f1 pro/pro max/moba
* VXE R1 Pro/R1 Pro Max
* LAMZU Atlantis Mini 4K / Maya
* Pulsar X2V2
* Hitscan Hyperlight
* Zaopin z2
Если можете его дополнить — свяжитесь со мной!
#zmkMouse
👾11
/dev/AlphaSierra
ZMK мышка: поддерживаемые мышки По идее подходит любая мышь на nRF52833/nRF52840 + PAW3395/PMW3610. Ищу видео с разборкой. Очень желательно, чтобы на плате были пады для прошивки (VDD | GND | DIO | CLK), иначе придется снимать чип с платы и прошивать отдельно.…
ZMK мышка: находим нужные пины
Как известно, существуют три способа выполнения задачи: правильный, неправильный и с помощью перебора и комбинирования предыдущих вариантов.
Самый простой и правильный способ — снять чип с платы, прозвонить все пады под ним, нарисовать схему и установить чип обратно. Однако, поскольку чип был залит эпоксидной смолой, а на обратной стороне платы располагалась россыпь компонентов, был применён иной подход.
Был взят другой работоспособный чип nRF52840. Произведено измерение падения напряжения на всех его пинах, и полученные данные были занесены в таблицу. Значения заметно различались между разными группами пинов.
Напряжение также было измерено на всех контактах кнопок мыши и энкодера. Путём сравнения были найдены соответствующие пины. В некоторых случаях были сразу определены точные пины, в других — диапазоны подходящих пинов. Данный подход значительно упростил работу на следующем этапе.
Естественно, таким образом измерять падение напряжения на пинах сенсора и других активных элементах не имеет смысла. Самое главное на этом этапе — найти хотя бы одну кнопку, на которую может быть назначен вход в режим DFU (Device Firmware Update).
Конфигурируется бутлоадер, указываются пины светодиодов и кнопку DFU. Кнопка DFU срабатывает только при одновременном зажатии кнопки и подключении USB-кабеля. Это позволяет полноценно задействовать её в основной прошивке для других функций.
Используя пады (VDD/DIO/CLK/GND), подключается программатор. При необходимости предпринимается попытка сохранения оригинальной прошивки. Затем производится стирание чипа и прошивка бутлоадера.
Следующий этап — использование данных о диапазонах возможных пинов для создания тестовой прошивки с прямым опросом пинов (direct pin). Прошивка должна записывать имя пина при его замыкании. Затем производится замыкание интересующих пинов.
Таким образом, формируется полный итоговый список пинов. После этого выполняется корректировка конфигурационных файлов и сборка финальной прошивки.
На текущий момент пинаут известен для VGN F1 MOBA и VXE R1 Pro. Он является идентичным, предполагается, что схемотехника в других мышках может быть аналогичной.
#zmkMouse
Как известно, существуют три способа выполнения задачи: правильный, неправильный и с помощью перебора и комбинирования предыдущих вариантов.
Самый простой и правильный способ — снять чип с платы, прозвонить все пады под ним, нарисовать схему и установить чип обратно. Однако, поскольку чип был залит эпоксидной смолой, а на обратной стороне платы располагалась россыпь компонентов, был применён иной подход.
Был взят другой работоспособный чип nRF52840. Произведено измерение падения напряжения на всех его пинах, и полученные данные были занесены в таблицу. Значения заметно различались между разными группами пинов.
Напряжение также было измерено на всех контактах кнопок мыши и энкодера. Путём сравнения были найдены соответствующие пины. В некоторых случаях были сразу определены точные пины, в других — диапазоны подходящих пинов. Данный подход значительно упростил работу на следующем этапе.
Естественно, таким образом измерять падение напряжения на пинах сенсора и других активных элементах не имеет смысла. Самое главное на этом этапе — найти хотя бы одну кнопку, на которую может быть назначен вход в режим DFU (Device Firmware Update).
Конфигурируется бутлоадер, указываются пины светодиодов и кнопку DFU. Кнопка DFU срабатывает только при одновременном зажатии кнопки и подключении USB-кабеля. Это позволяет полноценно задействовать её в основной прошивке для других функций.
Используя пады (VDD/DIO/CLK/GND), подключается программатор. При необходимости предпринимается попытка сохранения оригинальной прошивки. Затем производится стирание чипа и прошивка бутлоадера.
Следующий этап — использование данных о диапазонах возможных пинов для создания тестовой прошивки с прямым опросом пинов (direct pin). Прошивка должна записывать имя пина при его замыкании. Затем производится замыкание интересующих пинов.
Таким образом, формируется полный итоговый список пинов. После этого выполняется корректировка конфигурационных файлов и сборка финальной прошивки.
На текущий момент пинаут известен для VGN F1 MOBA и VXE R1 Pro. Он является идентичным, предполагается, что схемотехника в других мышках может быть аналогичной.
#zmkMouse
👾6
/dev/AlphaSierra
ZMK мышка: находим нужные пины Как известно, существуют три способа выполнения задачи: правильный, неправильный и с помощью перебора и комбинирования предыдущих вариантов. Самый простой и правильный способ — снять чип с платы, прозвонить все пады под ним…
ZMK мышка: схемотехника
Написанное ниже актуально для изученных на данный момент VGN F1 MOBA и VXE R1 Pro.
Первичное питание МК и сенсора обеспечивается внешним импульсным DC/DC-преобразователем с выходным напряжением 2.0 В. У сенсора и МК также есть свои встроенные DC/DC-преобразователи. nRF52 использует низковольтный DC/DC №1.
Поскольку для питания RGB-светодиодов требуется напряжение выше 2.0 В, на плате предусмотрены два линейных стабилизатора, выдающих 3.3 В.
Управление двумя светодиодами реализовано с использованием двух различных схем. Верхний светодиод коммутируется непосредственно выводами МК, а нижний светодиод управляется через внешние транзисторные ключи.
Для подтяжки сигнальных линий энкодера используются внешние высокоомные резисторы. Вероятно, это сделано с целью минимизации тока потребления, учитывая, что энкодер непрерывно замыкает пины МК на землю.
Для зарядки АКБ используется TP4056. Сигнал об окончании цикла заряда (CHRG) с TP4056 поступает на дискретный вход МК для программной обработки и индикации. Текущий уровень заряда АКБ отслеживается путем измерения напряжения на АКБ через резистивный делитель, подключенный к АЦП МК.
На плате реализованы различные схемные решения для обеспечения защиты от повышенного напряжения.
На плате отсутствует защита от электростатического разряда (ESD).
#zmkMouse
Написанное ниже актуально для изученных на данный момент VGN F1 MOBA и VXE R1 Pro.
Первичное питание МК и сенсора обеспечивается внешним импульсным DC/DC-преобразователем с выходным напряжением 2.0 В. У сенсора и МК также есть свои встроенные DC/DC-преобразователи. nRF52 использует низковольтный DC/DC №1.
Поскольку для питания RGB-светодиодов требуется напряжение выше 2.0 В, на плате предусмотрены два линейных стабилизатора, выдающих 3.3 В.
Управление двумя светодиодами реализовано с использованием двух различных схем. Верхний светодиод коммутируется непосредственно выводами МК, а нижний светодиод управляется через внешние транзисторные ключи.
Для подтяжки сигнальных линий энкодера используются внешние высокоомные резисторы. Вероятно, это сделано с целью минимизации тока потребления, учитывая, что энкодер непрерывно замыкает пины МК на землю.
Для зарядки АКБ используется TP4056. Сигнал об окончании цикла заряда (CHRG) с TP4056 поступает на дискретный вход МК для программной обработки и индикации. Текущий уровень заряда АКБ отслеживается путем измерения напряжения на АКБ через резистивный делитель, подключенный к АЦП МК.
На плате реализованы различные схемные решения для обеспечения защиты от повышенного напряжения.
На плате отсутствует защита от электростатического разряда (ESD).
#zmkMouse
👾3
Zed, Helix, Kakoune, Xi и Lapce
В очередной раз решил попробовать новый редактор. Я что-то слышал и, возможно, даже пробовал несколько из этих редакторов раньше, но тогда они были довольно сырыми. Спойлер:несмотря на то, что некоторым из этих редакторов уже по 5 лет, они всё ещё сырые.
Думаю, надо сразу оговориться: я не особо пользовался Emacs. В базовом своём варианте его невозможно использовать. Если начать обвешивать его плагинами, это займёт несколько лет. Если пробовать различные сборки, то приятно, что за тебя настроена большая часть. Но Emacs, конечно, очень быстрый, если мы говорим о нём как об операционной системе, но для редактора он ощущается довольно медлительным при запуске или поиске.
Я очень люблю Vim. Мне нравится то, насколько в нём продуманы все движения. Но с ним у меня две проблемы.
Во-первых, у Vim абсолютно особенное управление, которое больше нигде не встречается. Часто можно видеть в других программах Vim-режим, но, как правило, он очень базовый, и дальше hjkl дело не заходит. Поэтому весь твой опыт работы с Vim нигде, кроме самого Vim, применить нельзя.
Во-вторых, Vim, чувствуется немного устаревшим во многих моментах. Оба проекта активно развиваются, но несмотря на регулярные обновления, что Vim, что NeoVim не демонстрируют какого-то значительного прогресса. Для пользователя текущий билд и билд десятилетней давности ничем, кроме номера версии, не отличается, разве что добавили оффициальный менеджер расширений в NeoVIM.
Одно время я сидел на Sublime Text. Он был действительно хорош. Потом вышли Atom и VS Code. По сравнению с Sublime они были очень медленные, у них было мало плагинов. В какой-то момент Atom исчез, а у VS Code заметно подтянули производительность, да и сообщество выросло. Теперь под него есть вообще все. А главное что все это синхронизируется между разными устройствами, и работает прямо в браузере. Так как он построен на веб-технологиях в нем можно сделать предпросмотр чего угодно, хоть 3д модели и видео крути. Но, конечно, все еще чувствуется, что он не очень быстрый.
Xi — поначалу звучали грозные заявления о том, что сейчас мы построим новый стандарт индустрии, но потом энтузиазм разработка закончился и проект свернули. Появился преемник Lapce. У него, к сожалению, очень маленькое сообщество, и не то чтобы он сильно продвинулся за 3 года, хотя в нём были интересные идеи. Документации фактически нет.
Kakoune — тоже вроде интересный проект, но у него маленькое сообщество, да и в целом мне как-то не зашёл интерфейс.
Helix — интересное переосмысление Vim. Многое работает приятно прямо из коробки. Есть подсказки прямо на экране, которые сильно упрощают первое знакомство. Но при этом нет поддержки non-Latin раскладок и плагинов.
Zed — действительно быстрый и приятный редактор. У него очень долгое время не было версии для Windows, но какое-то время назад её наконец добавили. Буквально пару дней назад добавили цветные скобки. Мне действительно нравится Zed, я активно использую его последнее время. Но отладчик не очень удобен, рефакторинг тоже не полноценный. Плагинов мало (практически нет), и то, что их надо писать на Rust, не позволяет надеяться, что их станет сильно больше. Отдельно хочется отметить, что Zed, написанный на модном языке, весь из себя такой производительный, не смог открыть 7 ГБ TXT-файл, а предпросмотрщик в Total Commander открыл его даже не задумываясь. Не то чтобы это часто нужно — просто забавный факт. Файлы в 2 ГБ Zed открывает без проблем.
Зайти сейчас на рынок текстовых редакторов очень сложно. Даже если у тебя есть какая-то уникальная функция, то, скорее всего, её со временем портируют в другие редакторы (как это произошло с Sublime). Наверное, самое важное для редактора — это возможность легко создавать плагины и большое сообщество. За последнее время можно отметить только появление VS Code. У него это получилось во многом из-за больших финансовых вливаний со стороны Microsoft и из-за использования доступностых веб-технологий. Я не вижу причин, почему Zed или Helix могли бы в ближайшее время занять существенную долю рынка.
В очередной раз решил попробовать новый редактор. Я что-то слышал и, возможно, даже пробовал несколько из этих редакторов раньше, но тогда они были довольно сырыми. Спойлер:
Думаю, надо сразу оговориться: я не особо пользовался Emacs. В базовом своём варианте его невозможно использовать. Если начать обвешивать его плагинами, это займёт несколько лет. Если пробовать различные сборки, то приятно, что за тебя настроена большая часть. Но Emacs, конечно, очень быстрый
Я очень люблю Vim. Мне нравится то, насколько в нём продуманы все движения. Но с ним у меня две проблемы.
Во-первых, у Vim абсолютно особенное управление, которое больше нигде не встречается. Часто можно видеть в других программах Vim-режим, но, как правило, он очень базовый, и дальше hjkl дело не заходит. Поэтому весь твой опыт работы с Vim нигде, кроме самого Vim, применить нельзя.
Во-вторых, Vim, чувствуется немного устаревшим во многих моментах. Оба проекта активно развиваются, но несмотря на регулярные обновления, что Vim, что NeoVim не демонстрируют какого-то значительного прогресса. Для пользователя текущий билд и билд десятилетней давности ничем, кроме номера версии, не отличается, разве что добавили оффициальный менеджер расширений в NeoVIM.
Одно время я сидел на Sublime Text. Он был действительно хорош. Потом вышли Atom и VS Code. По сравнению с Sublime они были очень медленные, у них было мало плагинов. В какой-то момент Atom исчез, а у VS Code заметно подтянули производительность, да и сообщество выросло. Теперь под него есть вообще все. А главное что все это синхронизируется между разными устройствами, и работает прямо в браузере. Так как он построен на веб-технологиях в нем можно сделать предпросмотр чего угодно, хоть 3д модели и видео крути. Но, конечно, все еще чувствуется, что он не очень быстрый.
Xi — поначалу звучали грозные заявления о том, что сейчас мы построим новый стандарт индустрии, но потом энтузиазм разработка закончился и проект свернули. Появился преемник Lapce. У него, к сожалению, очень маленькое сообщество, и не то чтобы он сильно продвинулся за 3 года, хотя в нём были интересные идеи. Документации фактически нет.
Kakoune — тоже вроде интересный проект, но у него маленькое сообщество, да и в целом мне как-то не зашёл интерфейс.
Helix — интересное переосмысление Vim. Многое работает приятно прямо из коробки. Есть подсказки прямо на экране, которые сильно упрощают первое знакомство. Но при этом нет поддержки non-Latin раскладок и плагинов.
Zed — действительно быстрый и приятный редактор. У него очень долгое время не было версии для Windows, но какое-то время назад её наконец добавили. Буквально пару дней назад добавили цветные скобки. Мне действительно нравится Zed, я активно использую его последнее время. Но отладчик не очень удобен, рефакторинг тоже не полноценный. Плагинов мало (практически нет), и то, что их надо писать на Rust, не позволяет надеяться, что их станет сильно больше. Отдельно хочется отметить, что Zed, написанный на модном языке, весь из себя такой производительный, не смог открыть 7 ГБ TXT-файл, а предпросмотрщик в Total Commander открыл его даже не задумываясь. Не то чтобы это часто нужно — просто забавный факт. Файлы в 2 ГБ Zed открывает без проблем.
Зайти сейчас на рынок текстовых редакторов очень сложно. Даже если у тебя есть какая-то уникальная функция, то, скорее всего, её со временем портируют в другие редакторы (как это произошло с Sublime). Наверное, самое важное для редактора — это возможность легко создавать плагины и большое сообщество. За последнее время можно отметить только появление VS Code. У него это получилось во многом из-за больших финансовых вливаний со стороны Microsoft и из-за использования доступностых веб-технологий. Я не вижу причин, почему Zed или Helix могли бы в ближайшее время занять существенную долю рынка.
👾16
/dev/AlphaSierra
Наброски #18: РИСАТЕНО-брелок Появилась идея сделать небольшую партию брелков с открывалкой для лимонада в виде РИСАТЕНО. По материалам: титан/тимаскус/нержавеющий дамаск/макуме. Хотелось бы конечно титан с авторским финишем, но пока я не уверен что наберется…
Наброски #19: донгл из Pebble
Вышли новые умные часы Pebble 2 Duo и они теперь с открытым исходным кодом по прошивке и железу. В качестве основного процессора там используется nRF52840. Так что в целом ничего не машает использовать их как ZMK донгл. Понятно, что это не очень оправдано экономически, но все же возможно.
#Наброски
Вышли новые умные часы Pebble 2 Duo и они теперь с открытым исходным кодом по прошивке и железу. В качестве основного процессора там используется nRF52840. Так что в целом ничего не машает использовать их как ZMK донгл. Понятно, что это не очень оправдано экономически, но все же возможно.
#Наброски
GitHub
hardware/watch/Pebble 2 Duo (asterix)/2025-05-26 Pebble 2 Duo - Kicad project.zip at main · coredevices/hardware
Public hardware files related to Core Devices products - coredevices/hardware
👾5
Наброски #20: reset это gpio
Пин P0.18 на nRF52 может быть использован не только в качестве Pin Reset, но и как стандартный GPIO, в зависимости от состояния регистра CONFIG_GPIO_AS_PINRESET.
Если в бутлоадере отключить CONFIG_GPIO_AS_PINRESET и назначить на P0.18 кнопку DFU, то замыкание этого пина на землю при подаче питания будет переводить МК в режим прошивки. При этом P0.18 можно будет использовать как обычный GPIO в ZMK. Его можно задействовать для переключения BT-профилей, индикации заряда батареи или для перехода в глубокий сон.
Однако использование P0.18 в качестве DFU-кнопки накладывает ограничение на его использования для пробуждения МК из глубокого сна. Замыкание пина на землю в этом случае будет инициировать режим DFU вместо пробуждения. Если же пин используется в составе матрицы клавиатуры, то никаких проблем не возникает.
При использовании &bootloader в конфигурации ZMK можно программно снять с пина P0.18 функцию DFU. Это позволяет полноценно использовать пин, в том числе и для пробуждения микроконтроллера.
На n!n v2 пины P0.14, P0.16 и P0.18 замкнуты между собой, это сделано для упрощения разводки печатной платы.
К сожалению, возможность отключения регистра CONFIG_GPIO_AS_PINRESET недоступна из стандартного файла конфигурации. Требуется прямое редактирование исходного кода бутлоадера, включая его подмодули. И получившийся бутлодер можно прошить только через прогромматор.
#Наброски
Пин P0.18 на nRF52 может быть использован не только в качестве Pin Reset, но и как стандартный GPIO, в зависимости от состояния регистра CONFIG_GPIO_AS_PINRESET.
Если в бутлоадере отключить CONFIG_GPIO_AS_PINRESET и назначить на P0.18 кнопку DFU, то замыкание этого пина на землю при подаче питания будет переводить МК в режим прошивки. При этом P0.18 можно будет использовать как обычный GPIO в ZMK. Его можно задействовать для переключения BT-профилей, индикации заряда батареи или для перехода в глубокий сон.
Однако использование P0.18 в качестве DFU-кнопки накладывает ограничение на его использования для пробуждения МК из глубокого сна. Замыкание пина на землю в этом случае будет инициировать режим DFU вместо пробуждения. Если же пин используется в составе матрицы клавиатуры, то никаких проблем не возникает.
При использовании &bootloader в конфигурации ZMK можно программно снять с пина P0.18 функцию DFU. Это позволяет полноценно использовать пин, в том числе и для пробуждения микроконтроллера.
На n!n v2 пины P0.14, P0.16 и P0.18 замкнуты между собой, это сделано для упрощения разводки печатной платы.
К сожалению, возможность отключения регистра CONFIG_GPIO_AS_PINRESET недоступна из стандартного файла конфигурации. Требуется прямое редактирование исходного кода бутлоадера, включая его подмодули. И получившийся бутлодер можно прошить только через прогромматор.
#Наброски
👾4
Термосы
На улице уже достаточно холодно, поэтому можно поговорить про термосы.
Есть два основных мировых производителя термосов — Stanley и THERMOS. В России также существуют два крупных производителя: АМЕТ и Арктика. Они, конечно, сохраняют меньше сохраняют тепло, но цены вполне сопоставимы. Что касается цветового разнообразия и возможностей кастомизации, западные производители предлагают гораздо больше свободы выбора. Впрочем, у "Арктики" есть весьма приятные дизайны, например, в серии "Этно", хотя это скорее термокружки.
Термосы объемом меньше 1 литра довольно бесполезны — стоит ли носить с собой такую тяжесть ради пары чашек чая на природе? Чем больше объем, тем дольше сохраняется тепло. У термоса обязательно должна быть ручка для удобного наливания и переноски. Пробка только винтовая, никаких кнопок — они ненадежные и непрактичные. Сегодня большинство нормальных термосов позволяют налить напиток, повернув пробку на пол-оборота.
Что на самом деле означают заявляемые в рекламных буклетах 40 часов сохранения тепла? Об этом нигде не написано: у каждого производителя своя, нераскрываемая методика тестирования. Тем не менее, есть общие рекомендации, чтобы увеличить сохранность тепла: перед использованием обязательно прогрейте колбу (залить кипяток, потрясти и слеть воду). Термос должен находиться вертикально, это помогает снизить теплопотери через пробку. Также важно, чтобы при закручивании пробки между жидкостью и самой пробкой оставался зазор около одного сантиметра.
Отечественные производители готовы продавать буквально каждую резиночку отдельно. У THERMOS с этим тоже неплохо, хотя чаще детали продаются блоками. Ассортимент доступных запчастей у Stanley самый скромный, но он, все же, присутствует.
И, конечно же, все эти новодельные термосы не идут ни в какое сравнение с китайским термосом бренда "Олень" со стеклянной колбой.
На улице уже достаточно холодно, поэтому можно поговорить про термосы.
Есть два основных мировых производителя термосов — Stanley и THERMOS. В России также существуют два крупных производителя: АМЕТ и Арктика. Они, конечно, сохраняют меньше сохраняют тепло, но цены вполне сопоставимы. Что касается цветового разнообразия и возможностей кастомизации, западные производители предлагают гораздо больше свободы выбора. Впрочем, у "Арктики" есть весьма приятные дизайны, например, в серии "Этно", хотя это скорее термокружки.
Термосы объемом меньше 1 литра довольно бесполезны — стоит ли носить с собой такую тяжесть ради пары чашек чая на природе? Чем больше объем, тем дольше сохраняется тепло. У термоса обязательно должна быть ручка для удобного наливания и переноски. Пробка только винтовая, никаких кнопок — они ненадежные и непрактичные. Сегодня большинство нормальных термосов позволяют налить напиток, повернув пробку на пол-оборота.
Что на самом деле означают заявляемые в рекламных буклетах 40 часов сохранения тепла? Об этом нигде не написано: у каждого производителя своя, нераскрываемая методика тестирования. Тем не менее, есть общие рекомендации, чтобы увеличить сохранность тепла: перед использованием обязательно прогрейте колбу (залить кипяток, потрясти и слеть воду). Термос должен находиться вертикально, это помогает снизить теплопотери через пробку. Также важно, чтобы при закручивании пробки между жидкостью и самой пробкой оставался зазор около одного сантиметра.
Отечественные производители готовы продавать буквально каждую резиночку отдельно. У THERMOS с этим тоже неплохо, хотя чаще детали продаются блоками. Ассортимент доступных запчастей у Stanley самый скромный, но он, все же, присутствует.
👾16
/dev/AlphaSierra
Термосы На улице уже достаточно холодно, поэтому можно поговорить про термосы. Есть два основных мировых производителя термосов — Stanley и THERMOS. В России также существуют два крупных производителя: АМЕТ и Арктика. Они, конечно, сохраняют меньше сохраняют…
Telegram
/dev/AlphaSierra/pics
Stanley Classic 1.4L
У Stanley наблюдаются определенные проблемы с модельным рядом. Есть две очень похожие серии Adventure To-Go и Classic. Из отличий разве то что у Classic есть ручка, точнее даже два варианта ручки на выбор, хотя конструкция одинаковая, заявлено разное время удержания тепла. Я, конечно же, выбрал Classic в веселой расцветке.
По большей части термос мне нужен для чая. Некоторые предпочитают термосы со встроенным ситечком для чая, но Stanley такую опцию не предлагает. Отдельные ситечки, которые просто бросаются в колбу и звенят на каждой кочке, я даже не рассматривал. Более того, даже штатно закрепленное ситечко бесполезно: после заваривания чая термос все равно требует тщательной промывки, и есть в нем ситечко или листья прямо в колбе плавают — не имеет значения. Гораздо удобнее хранить в термосе только кипяток, а сам чай заваривать в чашке — так и вкус насыщеннее, и термос остается чище.
К самому изделию нареканий практически нет, можно отметить лишь отсутствие защитных резиновых покрытий на дне крышки-кружки и на дне колбы. Из-за этого они могут скользить на некоторых гладких поверхностях и царапаться. Я решил эту проблему, наклеив на дно стикеры. В остальном термос показал себя отлично: он очень долго держит тепло.
У Stanley наблюдаются определенные проблемы с модельным рядом. Есть две очень похожие серии Adventure To-Go и Classic. Из отличий разве то что у Classic есть ручка, точнее даже два варианта ручки на выбор, хотя конструкция одинаковая, заявлено разное время удержания тепла. Я, конечно же, выбрал Classic в веселой расцветке.
По большей части термос мне нужен для чая. Некоторые предпочитают термосы со встроенным ситечком для чая, но Stanley такую опцию не предлагает. Отдельные ситечки, которые просто бросаются в колбу и звенят на каждой кочке, я даже не рассматривал. Более того, даже штатно закрепленное ситечко бесполезно: после заваривания чая термос все равно требует тщательной промывки, и есть в нем ситечко или листья прямо в колбе плавают — не имеет значения. Гораздо удобнее хранить в термосе только кипяток, а сам чай заваривать в чашке — так и вкус насыщеннее, и термос остается чище.
К самому изделию нареканий практически нет, можно отметить лишь отсутствие защитных резиновых покрытий на дне крышки-кружки и на дне колбы. Из-за этого они могут скользить на некоторых гладких поверхностях и царапаться. Я решил эту проблему, наклеив на дно стикеры. В остальном термос показал себя отлично: он очень долго держит тепло.
👾7
XML vs JSON vs YAML vs TOML
Довольно удивительно видеть, что в новых проектах продолжают использовать формат JSON. Ещё более удивительно видеть его в Zed, который написан на Rust, при том что Rust продвигает формат TOML.
Многие ошибочно считают, что JSON человекочитаемый формат, но это справедливо разве что по сравнению с XML. Существуют два отличных формата — YAML и TOML, — которые лишены бессмысленного нагромождения скобочек и тегов, а также поддерживают комментарии. Но, несмотря на наличие парсеров для обоих форматов в любом современном языке программирования, разработчики с упорством, достойным лучшего применения, продолжают везде использовать JSON.
Довольно удивительно видеть, что в новых проектах продолжают использовать формат JSON. Ещё более удивительно видеть его в Zed, который написан на Rust, при том что Rust продвигает формат TOML.
Многие ошибочно считают, что JSON человекочитаемый формат, но это справедливо разве что по сравнению с XML. Существуют два отличных формата — YAML и TOML, — которые лишены бессмысленного нагромождения скобочек и тегов, а также поддерживают комментарии. Но, несмотря на наличие парсеров для обоих форматов в любом современном языке программирования, разработчики с упорством, достойным лучшего применения, продолжают везде использовать JSON.
👾17
Слепые шахматы
В ходе ожесточенной дискуссии неожиданно родилась идея слепых шахмат. Наша небольшая инди-студия решилась воплотить ее в жизнь. В этой игре два игрока делают ходы, не видя фигур противника. Все действия фиксируются в отдельные файлы, которые затем загружаются в программу для воспроизведения партии.
Предусмотрены два режима: в первом невозможный ход превращается в пропуск хода, во втором — просто игнорируется и заменяется следующим валидным действием. Победитель определяется по сумме очков за уцелевшие фигуры, а также зачитываются бонусы за шахи и мат. Эта концепция перевернула наше представление о шахматах, открыв их с неожиданной стороны. Теперь это стратегия выживания с неявным финалом.
Мы создавали игру только для себя, не рассчитывая на успех. Но теперь в нее играют миллионы, проводятся международные турниры, а Международная шахматная федерация включила Слепые шахматы в официальный список дисциплин.
В ходе ожесточенной дискуссии неожиданно родилась идея слепых шахмат. Наша небольшая инди-студия решилась воплотить ее в жизнь. В этой игре два игрока делают ходы, не видя фигур противника. Все действия фиксируются в отдельные файлы, которые затем загружаются в программу для воспроизведения партии.
Предусмотрены два режима: в первом невозможный ход превращается в пропуск хода, во втором — просто игнорируется и заменяется следующим валидным действием. Победитель определяется по сумме очков за уцелевшие фигуры, а также зачитываются бонусы за шахи и мат. Эта концепция перевернула наше представление о шахматах, открыв их с неожиданной стороны. Теперь это стратегия выживания с неявным финалом.
Мы создавали игру только для себя, не рассчитывая на успех. Но теперь в нее играют миллионы, проводятся международные турниры, а Международная шахматная федерация включила Слепые шахматы в официальный список дисциплин.
👾14
/dev/AlphaSierra
Наброски #20: reset это gpio Пин P0.18 на nRF52 может быть использован не только в качестве Pin Reset, но и как стандартный GPIO, в зависимости от состояния регистра CONFIG_GPIO_AS_PINRESET. Если в бутлоадере отключить CONFIG_GPIO_AS_PINRESET и назначить…
Наброски #21: reset это gpio #2
Выложил подробный гайд: какие файлы нужно менять, чтобы сделать P0.18 обычным gpio пином.
В релизах лежит собранный бутлодер для Кабарги с отключенным ресетом. За пару дней использования никаких проблем с этим бутлодером не заметил.
#Наброски
Выложил подробный гайд: какие файлы нужно менять, чтобы сделать P0.18 обычным gpio пином.
В релизах лежит собранный бутлодер для Кабарги с отключенным ресетом. За пару дней использования никаких проблем с этим бутлодером не заметил.
#Наброски
GitHub
GitHub - aroum/nRF52_Bootloader_custom_LED: USB-enabled bootloaders for the nRF52 BLE SoC chips
USB-enabled bootloaders for the nRF52 BLE SoC chips - aroum/nRF52_Bootloader_custom_LED
👾4
ZMK мышка: проект UFA
Опубликовал документацию со ссылками на все необходимое для перепрошивки мышек на ZMK. За прошедшее время уже проверено 3 мышки: VGN F1 MOBA / VXE R1 Pro / Zaopin z2.
Если у вас есть информация о других мышках, пожалуйста помогите проекту.
#zmkMouse
Опубликовал документацию со ссылками на все необходимое для перепрошивки мышек на ZMK. За прошедшее время уже проверено 3 мышки: VGN F1 MOBA / VXE R1 Pro / Zaopin z2.
Если у вас есть информация о других мышках, пожалуйста помогите проекту.
#zmkMouse
GitHub
GitHub - aroum/ufa: Project UFA brings the open ZMK firmware to gaming mice with compatible hardware, enabling deeper customization…
Project UFA brings the open ZMK firmware to gaming mice with compatible hardware, enabling deeper customization, transparency, and improved security. Its goal is to create a fully open, user-contro...
👾4
Keychron выпускает низкопрофильные клавиатуры на zmk
Линейка состоит из 3х моделей: b1, b5, b6. Последние две близки к 100% и поэтому интереса не представляют, а вот b1, куда интереснее, она очень похоже на клавиатуру среднего ноутбука. А за счет zmk можно попробовать сделать какую-то вменяемую раскладку. Клавиатура использует nRF52840. Исходники: arm и shields.
Конечно очень хотелось бы чтобы они выпустили 40%, да еще и на ulp свитчах, вместо ножничного механизма, но даже сейчас это выглядит довольно интересно за свои $40.
Линейка состоит из 3х моделей: b1, b5, b6. Последние две близки к 100% и поэтому интереса не представляют, а вот b1, куда интереснее, она очень похоже на клавиатуру среднего ноутбука. А за счет zmk можно попробовать сделать какую-то вменяемую раскладку. Клавиатура использует nRF52840. Исходники: arm и shields.
Конечно очень хотелось бы чтобы они выпустили 40%, да еще и на ulp свитчах, вместо ножничного механизма, но даже сейчас это выглядит довольно интересно за свои $40.
👾16