Подключение ЖК-дисплея OLED 128x64; dogm_lcd_implementation.h отсутствует для исправления
Я пытаюсь установить MKS 12864 0.96 OLED для своего 3D-принтера DIY (см. Этот другой вопрос).
Он не указан в разделе конфигурации ЖК-дисплея Marlin.h
, и в соответствии с некоторыми инструкциями мне нужно внести некоторые изменения в файл с именем dogm_lcd_implementation.h
, который отсутствует в Marlin 1.1.9!
Где это? Как я могу установить свой ЖК-модуль?
@2012User, 👍4
1 ответ
История вопросов
В ответе на ваш предыдущий вопрос обсуждаются исправления для установки ЖК-модуля в прошивку принтера Marlin. Обратите внимание, что эти исправления очень старые (около 2015 года). С тех пор многое изменилось (как там признается). Этот ответ не работает для последних версий исходного кода Marlin!
Ответ
Да, ваше замечание об отсутствии
файла dogm_lcd_implementation.h в версии 1.1.9 Marlin верно. Но, я верю, что это не потеряно, весь код и дальнейшие разработки можно найти в ultralcd_impl_DOGM.h
. Существуют некоторые более старые версии файла, доступные через Интернет, например, здесь или из этого старого клонированного репозитория Marlin.
Я считаю, что ваш 2-й патч:
/*---------------MKS OLED patch_2-----------------------*/ #elif defined(U8GLIB_SSD1306) U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25); // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25 /*---------------MKS OLED patch_2-----------------------*/
должно быть помещено в ultralcd_impl_DOGM.h
прямо под:
#elif ENABLED(MINIPANEL) // Дисплей мини-панели //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0); // 8 полосок U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 полосы
и перед этим:
#else // для обычного дисплея DOGM128 с HW-SPI //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 8 полос U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 полосы #endif
чтобы создать:
#elif ENABLED(MINIPANEL) // Дисплей мини-панели //U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0); // 8 полосок U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 полосы #elif ENABLED(U8GLIB_SSD1306) // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25 U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25); #else // для обычного дисплея DOGM128 с HW-SPI //U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 8 полос U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 полосы #endif
Обратите внимание, что уже существует запись для U8GLIB_SSD1306
! Это должно быть удалено, или вам нужно поместить код в этот раздел (не комментируя существующий код)!
Напр.
#elif ENABLED(U8GLIB_SSD1306) // Универсальная поддержка ЖК-дисплеев SSD1306 OLED I2C //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 8 полос U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 полосы
может быть изменено на:
#elif ENABLED(U8GLIB_SSD1306) // Универсальная поддержка ЖК-дисплеев SSD1306 OLED I2C //U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 8 полос //U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 полосы // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25 U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);
- Как заставить физические кнопки посылать G-код?
- Как работает программное обеспечение/прошивка 3D-принтера
- Откат от Marlin 2.0 к прошивке производителя с закрытым исходным кодом
- Коммутационные компьютеры для 3D-принтера
- Указание смещения Z в прошивке Marlin
- Как добавить параметры меню в жидкокристаллическое меню (прошивка Marlin)?
- Есть ли способ изменить направление двигателя с помощью GCode вместо встроенного ПО в Marlin
- Что такое защита теплового побега?
В "ultralcd_impl_DOGM.h" есть несколько строк, где упоминается "U8GLIB_SSD1306"... Должен ли я раскомментировать их все или только ваш пример?, @2012User
с вашей новой инструкцией по исправлению 2 я получаю эту ошибку: #ошибка "Пожалуйста, выберите не более одного варианта ЖК-контроллера"., @2012User
@2012User Это может означать, что в вашем файле конфигурации включен другой ЖК-контроллер., @0scar
Я раскомментировал каждую строку в части конфигурации "выбор ЖК-дисплея/контроллера". h!, @2012User