Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Реализовать прогрессбар на неопикселе #44

Closed
DrOnJD opened this issue Mar 30, 2020 · 4 comments
Closed
Assignees

Comments

@DrOnJD
Copy link

DrOnJD commented Mar 30, 2020

Возможные фичи к реализации:

  1. Цветовые статусы подготовки к печати и окончании печати
  2. Процентный статус окончания печати по средством заполнения ленты неопикселя.
  3. Возможность выбора цветов для тех или иных статусов
@ursoft ursoft self-assigned this Mar 30, 2020
@ursoft
Copy link
Owner

ursoft commented Mar 30, 2020

Первое и третье в некотором смысле Марлин уже имеет (только цвета закодированы, т.е. конфигурирование производится перед компиляцией, а не через меню). Даже поддержка адресного неопикселя есть (в дисплее Fysetc Mini 12864 2.1 три светодиода RGBW). Осталось понять, как проще всего соединить ленту с процентом (который, к слову, в марлине тоже есть уже).

@DrOnJD
Copy link
Author

DrOnJD commented Mar 30, 2020

Ну цвета было бы здорово выбирать HEX'ом. Но это просо хотелка, хотя и не беспочвенная.

Осталось понять, как проще всего соединить ленту с процентом (который, к слову, в марлине тоже есть уже).

Вот это для меня как раз загадка

@ursoft
Copy link
Owner

ursoft commented Mar 30, 2020

Ну цвета было бы здорово выбирать HEX'ом. Но это просо хотелка, хотя и не беспочвенная.

найдите в Marlin\src\feature\leds\leds.h комментарий
Color helpers and presets
в нем все RGB-запчасти именованных цветов

@ursoft
Copy link
Owner

ursoft commented Mar 30, 2020

Вот это для меня как раз загадка

Отгадку вижу в файле Marlin\src\feature\leds\neopixel.cpp. Следует использовать метод set_pixel_color(const uint16_t n, const uint32_t c) класса Marlin_NeoPixel. Общее количество пикселей NEOPIXEL_PIXELS, процент выполнения файла хранится в глобальной переменной static uint8_t lastProgress модуля Marlin\src\lcd\dogm\status_screen_DOGM.cpp (есть и альтернативные способы его получить - зависит от конфига).

У меня ленты нет пока что, но написанного достаточно, чтобы Вы уже смогли попробовать

@ursoft ursoft closed this as completed Jun 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants