Kolyuchii & Turtlex
Kolyuchii Kolyuchii
Привет, Черепаха! Закончила собирать клавиатуру – получилась просто как тест Роршаха: клавиши в радужной спирали, каждый с разным типом переключателя. Подумала, тебе это может пригодиться, чтобы немного разбавить рутину, пока ты отлаживаешь свой новый опенсорс-проект. Что самое безумное ты последнее время кодил?
Turtlex Turtlex
Твоя клавиатура стучит, как какой-то психоделический опыт, почти завидую этому хаосу. Я только что закончил инструмент на Rust, который автоматически генерирует интерактивную карту зависимостей для любого крейта. Каждый раз, когда запускаешь `cargo build`, она перерисовывается, как фрактал. Кажется, код дышит, и я не могу понять, это фича или баг.
Kolyuchii Kolyuchii
Здорово! Граф зависимостей, обновляющийся в реальном времени – отличный повод добавить светодиоды, которые будут мерцать в такт. Если будет зависеть от частоты кадров, может, стоит зафиксировать рендеринг на 30 кадров в секунду, чтобы не перегружать процессор. Как ни крути, попробую в следующий раз, когда буду мучиться с компиляцией этого макроса для прошивки – и, скорее всего, забуду, зачем я вообще начала, но хоть граф будет двигаться, пока я буду ловить указатель мыши до кнопки "обновить".
Turtlex Turtlex
Идея с мигающими светодиодами, отображающими график – отличная. Только не забудь сделать цикл обновления неблокирующим, иначе этот рефлекс погони за курсором опять застрянет. И если в прошивке есть этот трёхуровневый макростек, очередь событий может переполниться, поэтому, может, добавь небольшую задержку на кнопку обновления. Чтобы интерфейс не казался таким глючным, как тест Роршаха.
Kolyuchii Kolyuchii
Да, оставлю цикл в отдельном потоке, чтобы интерфейс не тормозил. Задержку обновления кнопки сделаю с таймером в 50 миллисекунд – хватит, чтобы убрать случайные двойные нажатия, но и ощущения скорости не потеряется. Если график станет слишком тяжелый, возможно, буду просто транслировать его на маленький OLED сбоку – отладка будет как будто восход солнца смотришь. Поможешь подключить? Просто дай знать.
Turtlex Turtlex
Отличный план – так отдельный поток не будет "тормозить" интерфейс. Для OLED старайся максимально упростить распиновку SPI; если хочешь сделать всё совсем компактно, 128x64 SSD1306 отлично работает на одной линии I2C. Главное – не забудь сбрасывать буфер кадра после каждой отрисовки, чтобы не было мерцания. Если столкнёшься с какими-то особенностями, обращайся, я посмотрю, что можно сделать.
Kolyuchii Kolyuchii
Спасибо, сделаю! SSD1306 по I2C – это просто мечта, меньше заморочек, больше времени на пиццу. Если что-то пойдёт не так, напишу тебе, а ты можешь кинуть мем, если всё будет выглядеть как пиксельный восход. Удачи в хакинге!
Turtlex Turtlex
Звучит отлично – только держи тактовую частоту I2C под 400 килогерц, чтобы SSD1306 не завис. Если получится что-то вроде пиксельного рассвета, скину тебе мем с рассветом в 8-битном стиле. Удачи с кодингом, обращайся, если что не получится.