Добрый день.
Похоже на то, что тема умерла, а жаль. Направление интересное.
Хочу оставить след о тех действиях, которые я предпринял, хоть и неудачных. Может кто-то подскажет о тех неточностях или кто-то пройдет дальше и сообщит что он сделал.
Конфигурация и состояние проекта описаны в предыдущем посте, небольшое добавление по биперу, он работал как по мне штатно (сигнализировал о соединении, пищал при нажатии кнопки енкодера) при подключении по I2C.
Настройки, исходя из того как я их понял на основе обсуждения в форуме и
https://github.com/Serhiy-K/Smoothiewar ... _new_panel .
В П.О. панели: Firmware/inc/defines.h :
- надо выбрать вариант панели «#define HW_VER_1»
- тип контроллера TFT «#define ILI9341»
- выбрать тип соединения I2C или SPI (я так понял можно выбирать оба), в процессе своих попыток выбиралось раздельно и вместе, результат один и тот же.
- проверить адрес для I2C он должен быть 0х33
Есть возможность уменьшить объем ПО, чтобы оно поместилось в память используемой STM32F1хх, я его не трогал т.к. размер .bin файла был в районе 48kb.
Других настроек в ПО панели я не делал. Осталось непонятным назначение «TEST_PIN PC13» со светодиодом, он должен что-то показывать, у меня он просто светится.
П.О. MARLIN
Файл: Marlin/Configuration.h раздел «LCD and SD support (строка ~ 2250)»:
Выбрать «#define LCD_LANGUAGE en/ru»
« #define DISPLAY_CHARSET_HD44780 CYRILLIC » - если хотим русский , либо можно не выбирать при английском, в этом случае первый выбор должен быть «en»
В разделе «LCD / Controller Selection (I2C and Shift-Register LCDs) (строка ~ 2472)»:
Выбрать //#define TFTGLCD_PANEL_SPI либо
#define TFTGLCD_PANEL_I2C
В файле: Marlin/Marlin/src/inc/Conditionals_LCD.h проверить правильность адреса I2C 0x33 (строка ~ 205)
Остальные настройки согласно используемой платы.
Что я заметил: для варианта соединения по I2C, если в фале «pins_xxxxxx» своей платы остались настройки кнопки енкодера
#if HAS_WIRED_LCD
#define BTN_ENC EXP1_02_PIN
То кнопка работает, открывает меню возвращает в основной экран. Работает данный вариант только в таком определении, если записать #define BTN_ENC РВх кнопка перестает работать. Данные настройки остались от предыдущих вариантов подключений монитора LCD2004, пробовал также записать ножки енкодера, вариант не прошел.
По дополнительным кнопкам в панели, PA11,12,15 и PB 3,4, откликается в режиме соединения I2C PA11, осуществляет возврат из меню в основной экран, другие не откликаются.
На основной плате пытался менять ножки портов ввода вывода, результат тот же, I2C работает без енкодера, SPI не работал вообще. Проверял работу енкодера осциллографом на ножках платы панели, все нормально.
Извиняюсь за длинный пост.