Выложил на гитхаб схему и плату для панели версии 3 - с поддержкой резистивного тачскрина. Прошивка также обновлена. Тачскрин уже работает корректно, можно пользоваться. Интерфейс остался классический текстовый, а для редактирования параметров появились "кнопки". Пока для нормальной работы тачскрина нужно собирать прошивку с параметром TEST_TOUCH и при подаче питания на панель нажать на экран - запустится процесс калибровки по вертикали. Полученные значения констант нужно прописать в прошивку и пересобрать, можно уже без TEST_TOUCH. Это временное решение, так как пока не сделал чтение/сохранение коррекции во флеш. Так же пока не сделал для тачскрина учёт ориентации экрана, подразумевается левосторонний шлейф. Плата в проекте разработана под корпус и экран от китайского мини Айфона.
Добрый день! Покупал экран на ILI9325, а мне подсунули на R61509V на нем еще пины тачскрина и экрана совмещены. Есть возможность добавить такой экран в прошивку? Сам пытался добавить ничего не получилось.
Я из какого-то китайского телефона вытащил экран на типа таком же чипе (ID вычитал), но тоже так и не завёл его. Максимум, что могу сделать - выложить инициализацию, которую пробовал, а дальше по мануалу на чип смотрите.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Максимум, что могу сделать - выложить инициализацию, которую пробовал, а дальше по мануалу на чип смотрите.
Выложите пожалуйста.
Ещё такой вопрос: подключил другой экран от телефона с тачскрином, запускают калибровку тачскрина сначала крестик вверху и внизу нажимаю, а потом прямоугольник белый по углам перескакивает от нажатия и все. Как должно быть?
После калибровки экран на нажатия не реагирует или в прошивке что-то нужно включить? Подключил по i2c к Marlin 2.0.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Так и должно быть в режиме калибровки - после калибровки просто проходит проверка как по строкам и сторонам реагирует. Режим калибровки включается только до запуска основной прошивки. При обычном использовании просто до загрузки Марлина не нужно давить на экран. Какая основная плата используется?
Mega2560. Я имею ввиду, что в режиме калибровки реагирует на тачскрин, а после загрузки Марлина не реагирует на касания. Может в прошивке что-то надо включить?
У меня сейчас нет платы на Меге для проверки, когда-то на I2C всё работало нормально, правда на тот момент с энкодером. Но тачскрин эмулирует энкодер и для Марлина разницы нет. Вопрос - после загрузки Марлина панель инициализируется нормально и отображает основное окно? Я посмотрю исходники панели в части I2C. Также будет маленькое изменение в части UBL в самом Марлине и в панели - небольшое упрощение в выводе.
Раз есть вывод на экран значит сам I2C работает. Кстати, если есть подтягивающие резисторы на стороне Меги, то их нужно убрать на всякий случай, так как они подтягивают к +5В. Резисторы должны быть только на стороне панели. Кнопка В1 - это кнопка "назад", в основном окне она ничего не делает. В основном окне нажатие на тачскрин обрабатывается только как нажатие на энкодер для входа в меню. Если после калибровки тачскрина в тесте всё поле экрана обрабатывалось нормально, то и в основном режиме всё должно работать, так как для работы тачскрина используются одни и те же процедуры. Почему не работает - пока не знаю, нужно в отладке посмотреть. Если есть возможность, то проверить работу с подключением по SPI. Честно говоря, я не проверял работу панели V3 с подключением по I2C. Но проблем быть не должно, так как обработка тача никак не связана с используемым интерфейсом.
Если выбираю #define TFTGLCD_PANEL_SPI, компиляция останавливается на ошибке:
СпойлерCompiling .pio\build\mega2560\src\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp.o In file included from c:\1\marlin-bugfix-2.0.x\marlin\src\hal\avr\hal.h:22:0, from Marlin\src\lcd\TFTGLCD\../../inc/../HAL/HAL.h:30, from Marlin\src\lcd\TFTGLCD\../../inc/MarlinConfig.h:31, from Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.h:28, from Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp:45: Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp: In static member function 'static void MarlinUI::init_lcd()': c:\1\marlin-bugfix-2.0.x\marlin\src\hal\avr\fastio.h:87:35: error: 'DIOTFTGLCD_CS_DDR' was not declared in this scope #define _SET_OUTPUT(IO) SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN) ^ c:\1\marlin-bugfix-2.0.x\marlin\src\hal\shared\marduino.h:48:21: note: in definition of macro 'SBI' #define SBI(A,B) (A |= (1 << (B))) ^ Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp:316:5: note: in expansion of macro '_SET_OUTPUT' _SET_OUTPUT(TFTGLCD_CS); ^ c:\1\marlin-bugfix-2.0.x\marlin\src\hal\avr\fastio.h:87:54: error: 'DIOTFTGLCD_CS_PIN' was not declared in this scope #define _SET_OUTPUT(IO) SBI(DIO ## IO ## _DDR, DIO ## IO ## _PIN) ^ c:\1\marlin-bugfix-2.0.x\marlin\src\hal\shared\marduino.h:48:33: note: in definition of macro 'SBI' #define SBI(A,B) (A |= (1 << (B))) ^ Marlin\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp:316:5: note: in expansion of macro '_SET_OUTPUT' _SET_OUTPUT(TFTGLCD_CS); ^ At global scope: cc1plus.exe: warning: unrecognized command line option '-Wno-register' *** [.pio\build\mega2560\src\src\lcd\TFTGLCD\marlinui_TFTGLCD.cpp.o] Error 1
А вот этот тест в калибровке как работает? Прямоугольник следует за нажатием или на него надо нажимать? У меня он перемещается по углам когда на него нажимаешь, может проблема в моем тачскрине.
В тесте тача прямоугольник засвечивается там, куда ткнуть. При удержании нажатия следует за точкой нажатия. Даже если тач подключен не правильно, то на нажатие вроде должен реагировать. Я неправильное подключение не проверял и в прошивке такая ситуация не обрабатывается. Для проверки правильности подключения можно раскомментировать строчку с #define CALIBR_DEBUG_INFO. При этом при нажатии на крестики будут отображаться значения АЦП. АЦП 12-разрядный -> максимум = 4095. Подразумевается, что меньшее значение АЦП сверху. Поэтому значение для верхней точки калибровки должно быть расчётно примерно 400, а для нижней - примерно 3600, плюс-минус несколько сотен в зависимости от качества тача на краях и точности тыкания в крест. Я тыкал карандашом - типа "стилусом". Если значения наоборот, то нужно переставить местами пины для TS_YU и TS_YD. Если и Х наоборот, то и для неё пины переставить.
По ошибке - явно используется НЕ плата с RAMPS, та как я добавил поддержку панели для Меги только для RAMPS. По добавлению панели в другие платы написано на Гитхабе. В принципе за образец можно взять тот же RAMPS - смотреть окрестности строки с TFTGLCD_CS в pins_RAMPS.h. Если плата таки другая, то я попрошу в любом случае проверить панель с ней и по SPI, тогда я добавлю в Марлин и её поддержку.
Приложил видео с калибровкой тача для демонстрации.
Вложения:
Комментарий к файлу: Видео калибровки тачскрина часть 2 Touchscreen-test.part2.rar [812.4 KiB]
Скачиваний: 177
Приложил видео с калибровкой тача для демонстрации.
Теперь понятно. У меня прямоугольник только по углам перемещается. В центр не смещается совсем.
Калибровку победил, теперь как на вашем видео. Подобрал методом тыка пины. Получилось PA0-YU, PA1-XL, PA2-YD, PA3-XR. Но в меню так и не заходит и не реагирует на касания совсем.
Попробовал собрать Марлин под АВР - тоже получил эту ошибку. Решение проблемы - в marlinui_TFTGLCD.срр изменить _SET_OUTPUT(TFTGLCD_CS); на SET_OUTPUT(TFTGLCD_CS); - то есть убрать передний символ подчёркивания. Почему не работает тач в обычном режиме не понимаю. Что, даже не пикает при нажатии?
Попробую позже сделать и проверить по spi. Не пикает, совсем реакции нет никакой. Может я в прошивке экрана или Марлин что-то не включил? Подключал к компу через repetier host иконки на экране становятся цветными при включении в пороге.
Что делают 4 кнопки, у меня только при нажатии на одну пикает базер, но ничего не происходит. На остальные реакции - нет.
По кнопкам - в тачскриновом варианте реально может использоваться только одна - "назад" и, как я уже сказал, в основном окне она не работает, так как некуда возвращаться. Поэтому остальные кнопки для этого варианта я даже не обрабатываю. В принципе все кнопки кроме "назад" дублируются энкодером при его использовании и тоже фактически не нужны. Теоретически на них можно зацепить какой-нибудь свой функционал, но и в Марлин его тоже нужно будет добавлять, причём как-то глобально, ибо панель возвращает только состояние кнопок. Либо привязать в перспективе некий функционал исключительно для панели, например вызов какого-нибудь перспективного конфигуратора. Но это кому надо будет, мне пока такой функционал даже не видится.
Закинул пуллреквест с правками на Марлин - фикс ошибки сборки с АВР и правка для вывода строки редактирования в окне UBL. Также закинул изменения и для панели, но тут в основном оптимизация для UBL, по тачу ничего критичного.
g1obus, как обещал выкладываю старый файл, в которм была попытка завести экран на чипе RV. Из него брать только нужные фрагменты, вместо родного НЕ ИСПОЛЬЗОВАТЬ!!!! Если вдруг удастся завести экран - мне в ответку правленный файл для добавления поддержки такого чипа.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 44
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения