Question History
An answer on your previous question discusses patches for installing the LCD module in your Marlin printer firmware. Note that these patches are very old (around 2015). Many things have changed since then (as is acknowledged there). That answer does not work for recent versions of Marlin source code!
Answer
Yes, your observation of the dogm_lcd_implementation.h
file being missing in the 1.1.9 version of Marlin is correct. But, I believe it is not lost, all code and further development can be found in ultralcd_impl_DOGM.h
. There are some older versions of the file wondering over internet, e.g. here or from this older Marlin cloned repository.
I believe that your 2nd patch:
/*---------------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-----------------------*/
should be placed in ultralcd_impl_DOGM.h
just under:
#elif ENABLED(MINIPANEL)
// The MINIPanel display
//U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0); // 8 stripes
U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes
and before:
#else
// for regular DOGM128 display with HW-SPI
//U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 8 stripes
U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 stripes
#endif
to create:
#elif ENABLED(MINIPANEL)
// The MINIPanel display
//U8GLIB_MINI12864 u8g(DOGLCD_CS, DOGLCD_A0); // 8 stripes
U8GLIB_MINI12864_2X u8g(DOGLCD_CS, DOGLCD_A0); // 4 stripes
#elif ENABLED(U8GLIB_SSD1306)
// SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);
#else
// for regular DOGM128 display with HW-SPI
//U8GLIB_DOGM128 u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 8 stripes
U8GLIB_DOGM128_2X u8g(DOGLCD_CS, DOGLCD_A0); // HW-SPI Com: CS, A0 // 4 stripes
#endif
Do note that there already exists an entry for U8GLIB_SSD1306
! This has to be deleted, or you need to put the code in that section (un-commenting existing code)!
E.g.
#elif ENABLED(U8GLIB_SSD1306)
// Generic support for SSD1306 OLED I2C LCDs
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 8 stripes
U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 stripes
could be altered to:
#elif ENABLED(U8GLIB_SSD1306)
// Generic support for SSD1306 OLED I2C LCDs
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 8 stripes
//U8GLIB_SSD1306_128X64_2X u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_FAST); // 4 stripes
// SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
U8GLIB_SSD1306_128X64 u8g(23, 17, 16, 25);