Корректно проверять и отображать таймаут Layer LED - #147
Conversation
|
Проверил PR на синтетическом слиянии с текущим Перед слиянием нужно:
Версию и общий changelog можно оформить в общем release-коммите Entropy. После rebase и зелёного CI PR готов к approval. |
813973b to
e9abdb6
Compare
|
Обновил ветку на актуальный Связку Entropy с firmware PR ergohaven/vial-qmk#39 проверили по USB на реальном M4CR0Pad v3:
Профильные тесты очереди записи и readback прошли: 23/23. Release-сборка также прошла. Со стороны связки Entropy и прошивки сценарий проверен полностью. |
kissetfall
left a comment
There was a problem hiding this comment.
Проверил актуальный head e9abdb61c9003e019aab3514a6c462ce704f3351 после rebase.
- локально прошли 565/565 тестов, Clippy и проверка i18n;
- GitHub Actions зелёный на Linux, Windows, macOS Apple Silicon и Intel;
- автор подтвердил USB readback и работу таймаута на M4CR0Pad v3;
- связанное firmware-изменение ergohaven/vial-qmk#39 уже слито в ветку
ergohaven(cb48b91787fc47767d2fda263286873d3e438ea5).
Блокеров не осталось.
Воспроизведение
Проверено на Ergohaven M4CR0Pad v3 по USB.
На firmware 4.0.5:
0или другое значение.SET, хотя повторныйGETвозвращал прежнее значение.После обновления Entropy до 0.3.4 UI мог показывать
128m: firmware M4CR0Pad v3 не включала описание LED timeout в Vial schema, а legacy fallback отображал QSID317как произвольное байтовое значение.Первопричина
Проблема состояла из двух частей:
SetOnly, поэтому успешный ответ на команду не подтверждал, что устройство фактически применило значение.variantsполя сtype: selectпри вычислении диапазона и отображении значения Layer LED.Отдельная причина отсутствия сохранения находилась в firmware M4CR0Pad v3: QSID
317был зарегистрирован, но из-за конфигурацииRGB_MATRIXиспользовал weak setter без записи. Исправление firmware: ergohaven/vial-qmk#39Что исправляет этот PR
SetOnly, потому что немедленныйGETможет конфликтовать с асинхронным сохранением RMK во flash.selectдиапазон вычисляется по числуvariants, а UI показывает label выбранного варианта вместо сырого индекса.С firmware из связанного PR M4CR0Pad v3 предлагает варианты
Never,1 min,2 min,5 min,10 min,15 min,30 min,60 min;Neverкодируется индексом0.Автоматическая проверка
0..7и labels select-схемы.SET, но несовпадающимGET, не получает ложный статус сохранения.cargo +1.92.0 test layer_led— 5 тестов прошли.cargo +1.92.0 clippy --all-targets— код возврата 0, с существующими предупреждениями репозитория.rustfmt +1.92.0 --check --edition 2021для пяти изменённых файлов — успешно.cargo +1.92.0 build --release— успешно.Проверка на реальном устройстве
С firmware из ergohaven/vial-qmk#39:
128mпоказывает label фактического варианта.Neverобычным drag в UI даёт readback QSID317=0; после полного USB-переподключения и нового запуска UI снова показываетNever.10 minдаёт readback QSID317=4; после полного USB-переподключения Entropy снова показывает10 min.1 minRGB-подсветка клавиш физически выключается через минуту бездействия и включается после нажатия клавиши.Neverи подтверждено readback0.MacropadDisplayбыл приостановлен на время изолированной проверки; актуальный кодcodex-macropadобращается только к Vial RGB effect/speed/hue/saturation/brightness и не использует QSID317.Refs #146