bigtreetech / BIGTREETECH-SKR-E3-Turbo

79 stars 53 forks source link

SKR E3 Turbo incompatible w/ BTT mini-12864 screen #55

Open Deebatts opened 2 years ago

Deebatts commented 2 years ago

When attempting to compile current Marlin 2.0.9 for my Ender 3 Pro w/ SKR E3 Turbo mainboard to account for adding BTT 12864 screen, autobuild marlin in VSCode displays an error: In file included from g:\marlin-2.0.x\marlin\src\pins\pins.h:409, from g:\marlin-2.0.x\marlin\src\inc\marlinconfig.h:34, from buildroot/share/PlatformIO/scripts/common-dependencies.h:29: g:\marlin-2.0.x\marlin\src\pins\lpc1769/pins_BTT_SKR_E3_TURBO.h:264:6: error: #error "Only ZONESTAR_LCD, MKS_MINI_12864, ENDER2_STOCKDISPLAY, and CR10_STOCKDISPLAY are currently supported on the BTT_SKR_E3_TURBO."

It seems pretty ass-backwards that your BTT SKR E3 Turbo would not support your own BTT branded 12864 screen; please resolve this conflict. Directions in the user manual lead to a failure to compile firmware, and I now have a screen that's useless with my printer.

mayrstefan commented 2 years ago

The E3 Turbo board has no connector for EXP2 and the useable pins on EXP1 don't match. But if you can create a custom cable and recycle maybe the Z-Probe connector you could extend Marlin to support this display as well.

Try to extend pins/lpc1769/pins_BTT_SKR_E3_TURBO.h starting at line 261 with your own custom definition like this

#if ENABLED(FYSTEC_MINI_12864_2_1)
  #error "BTT mini 12864 display requires a custom cable to connect required pins from EXP1 and EXP2 cable to EXP1 on the E3 Turbo board. It is also necessary to reuse some pins from other connectors. Comment out this line to continue."

 /**
  *               SKR E3 Turbo (EXP1) 
  *                       ------
  *                   5V | 1  2 | GND
  *       (LCD_CS) P0_18 | 3  4 | P0_17 (LCD_A0)
  *      (LCD_SCK) P0_15 | 5  6   P0_20 (LCD_MOSI)
  *                Reset | 7  8 | P0_19 (LCD_RS)
  *      (BTN_ENC) P0_16 | 9 10 | P2_08 (BEEPER)
  *                       ------
  *
  *               SKR E3 Turbo (Z-PROBE) 
  *                       ---
  *      (BTN_EN1) P1_22 | 1 |
  *                  GND | 2 |
  *       (BTN_EN2) P1_23| 3 |
  *                  PWR | 4 |
  *                  GND | 5 |
  *                       ---            
  */

      #define DOGLCD_CS              EXP1_03_PIN
      #define DOGLCD_A0              EXP1_04_PIN
      #define DOGLCD_SCK             EXP1_05_PIN
      #define DOGLCD_MOSI            EXP1_06_PIN
      #define LCD_BACKLIGHT_PIN      -1
      #define FORCE_SOFT_SPI                     // Use this if default of hardware SPI causes display problems
                                                 //  results in LCD soft SPI mode 3, SD soft SPI mode 0
      #define LCD_RESET_PIN          EXP1_08_PIN // Must be high or open for LCD to operate normally.
      #define BEEPER_PIN             EXP1_10_PIN
      #define BTN_EN1                P1_22_PIN
      #define BTN_EN2                P1_23_PIN
      #define BTN_ENC                EXP1_09_PIN

This is just an example copy&pasted from other board definitions like pins/lpc1768/pins_BTT_SKR_V1_4.h. I'm not sure if this will work but I think this could be a way to get at least the display working. I skipped the sd card pins because this would require even more pins.

mayrstefan commented 2 years ago

Or you try to use the pinout for an MKS_MINI_12864, ENDER2_STOCKDISPLAY which seems to be quite similar and is already supported for this board.