Я сейчас совсем немного поменял протокол обмена с панелью для бОльшей универсальности и для возможности последующих добавлений других протоколов, но ещё работаю, поэтому, чтобы не соломать то что есть, поменяйте в ultralcd_TFTGLCD.h в конце подпрограммы
lcd_implementation_drawmenu_setting_edit_generic lcd_print(data); на lcd_print_utf(data);, а в конце
lcd_implementation_drawmenu_setting_edit_generic_P lcd_printPGM(data); на lcd_printPGM_utf(data); и иероглифы станут текстом.
В процессе работы вылез пока не понятный мне глюк - прошивка Смузи начала выводить только стартовый экран, а дальше экран не обновляется. При этом отсутствует именно вывод информации, а ввод с энкодера работает. По какой-то причине перестал обрабатываться счётчик циклов для обновления экрана в TFTGLCDAdapter::on_refresh. Если закоментировать условие проверки, то информация начинает выводиться. Но я эту часть вообще не трогал и она одинаковая для всех панелей и не связана с протоколом обмена, который я поменял.
Добавлено after 5 hours 14 minutes 43 seconds:Проблему с прошивкой Смузи решил небольшим обходным путём, работает, но увеличилась частота обновления экрана до 20Гц. Добавил для Смузи автоопределение самой панели и её разрешения и возможность работать с мультипротокольными панелями - добавился параметр при инициализации панели. Исходники на Гитхабе обновил. Аналогично и для Марлина. Теперь займусь поддержкой Марлина-2. Там практически всё как в первом, но так как поддерживаются платы на разных архитектурах, то попробую реализовать работу и через шину SPI. Новый драйвер для Марлина-1 в приложении, на Гитхаб пока не выкладываю - тестируйте. Исходники прошивки панели на Гитхабе обновил.
- Вложения
-
- ultralcd_TFTGLCD.rar
- (7.77 KiB) Скачиваний: 229