Browse Source

GT2560 v4.1B, YHCB2004 SPI character LCD (#21091)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
vanilla_fb_2.0.x
Vert 4 years ago
committed by Scott Lahteine
parent
commit
2e040d03df
  1. 8
      Marlin/Configuration.h
  2. 4
      Marlin/src/inc/Conditionals_LCD.h
  3. 5
      Marlin/src/inc/SanityCheck.h
  4. 4
      Marlin/src/lcd/HD44780/marlinui_HD44780.cpp
  5. 5
      Marlin/src/lcd/HD44780/marlinui_HD44780.h
  6. 31
      Marlin/src/pins/mega/pins_GT2560_V3.h
  7. 2
      Marlin/src/pins/mega/pins_GT2560_V3_A20.h
  8. 6
      Marlin/src/pins/mega/pins_GT2560_V3_MC2.h
  9. 2
      Marlin/src/pins/mega/pins_HJC2560C_REV2.h
  10. 3
      Marlin/src/pins/stm32f1/pins_GTM32_MINI.h
  11. 3
      Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h
  12. 6
      Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h
  13. 5
      Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h
  14. 1
      platformio.ini

8
Marlin/Configuration.h

@ -1953,6 +1953,14 @@
// //
//#define REPRAP_DISCOUNT_SMART_CONTROLLER //#define REPRAP_DISCOUNT_SMART_CONTROLLER
//
// GT2560 (YHCB2004) LCD Display
//
// Requires Testato, Koepel softwarewire library and
// Andriy Golovnya's LiquidCrystal_AIP31068 library.
//
//#define YHCB2004
// //
// Original RADDS LCD Display+Encoder+SDCardReader // Original RADDS LCD Display+Encoder+SDCardReader
// http://doku.radds.org/dokumentation/lcd-display/ // http://doku.radds.org/dokumentation/lcd-display/

4
Marlin/src/inc/Conditionals_LCD.h

@ -50,6 +50,10 @@
#define MINIPANEL #define MINIPANEL
#elif ENABLED(YHCB2004)
#define IS_ULTIPANEL 1
#elif ENABLED(CARTESIO_UI) #elif ENABLED(CARTESIO_UI)
#define DOGLCD #define DOGLCD

5
Marlin/src/inc/SanityCheck.h

@ -2296,8 +2296,6 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
#if 1 < 0 \ #if 1 < 0 \
+ ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \ + ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER) \
+ ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) \ + ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) \
+ ENABLED(ULTIPANEL) \
+ ENABLED(ULTRA_LCD) \
+ (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \ + (ENABLED(U8GLIB_SSD1306) && DISABLED(IS_U8GLIB_SSD1306)) \
+ (ENABLED(MINIPANEL) && NONE(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \ + (ENABLED(MINIPANEL) && NONE(MKS_MINI_12864, ENDER2_STOCKDISPLAY)) \
+ (ENABLED(MKS_MINI_12864) && DISABLED(MKS_LCD12864)) \ + (ENABLED(MKS_MINI_12864) && DISABLED(MKS_LCD12864)) \
@ -2346,6 +2344,9 @@ static_assert(hbm[Z_AXIS] >= 0, "HOMING_BUMP_MM.Z must be greater than or equal
+ ENABLED(U8GLIB_SH1106_EINSTART) \ + ENABLED(U8GLIB_SH1106_EINSTART) \
+ ENABLED(ULTI_CONTROLLER) \ + ENABLED(ULTI_CONTROLLER) \
+ ENABLED(ULTIMAKERCONTROLLER) \ + ENABLED(ULTIMAKERCONTROLLER) \
+ ENABLED(ULTIPANEL) \
+ ENABLED(ULTRA_LCD) \
+ ENABLED(YHCB2004) \
+ ENABLED(ZONESTAR_LCD) + ENABLED(ZONESTAR_LCD)
#error "Please select only one LCD controller option." #error "Please select only one LCD controller option."
#endif #endif

4
Marlin/src/lcd/HD44780/marlinui_HD44780.cpp

@ -93,6 +93,10 @@
LCD_CLASS lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); LCD_CLASS lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
#elif ENABLED(YHCB2004)
LCD_CLASS lcd(YHCB2004_CLK, 20, 4, YHCB2004_MOSI, YHCB2004_MISO); // CLK, cols, rows, MOSI, MISO
#else #else
// Standard direct-connected LCD implementations // Standard direct-connected LCD implementations

5
Marlin/src/lcd/HD44780/marlinui_HD44780.h

@ -90,6 +90,11 @@
#include <LiquidCrystal_I2C.h> #include <LiquidCrystal_I2C.h>
#define LCD_CLASS LiquidCrystal_I2C #define LCD_CLASS LiquidCrystal_I2C
#elif ENABLED(YHCB2004)
#include <LiquidCrystal_AIP31068_SPI.h>
#define LCD_CLASS LiquidCrystal_AIP31068_SPI
#else #else
// Standard directly connected LCD implementations // Standard directly connected LCD implementations

31
Marlin/src/pins/mega/pins_GT2560_V3.h

@ -22,7 +22,7 @@
#pragma once #pragma once
/** /**
* GT2560 RevB + GT2560 V3.0 + GT2560 V3.1 + GT2560 V4.0 pin assignment * Geeetech GT2560 RevB + GT2560 3.0/3.1 + GT2560 4.0/4.1 pin assignments
*/ */
#if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__) #if NOT_TARGET(__AVR_ATmega1280__, __AVR_ATmega2560__)
@ -30,7 +30,7 @@
#endif #endif
#ifndef BOARD_INFO_NAME #ifndef BOARD_INFO_NAME
#define BOARD_INFO_NAME "GT2560 V3.0" #define BOARD_INFO_NAME "GT2560 RevB/3.x/4.x"
#endif #endif
// //
@ -142,7 +142,10 @@
#define SDSS 53 #define SDSS 53
#define LED_PIN 13 // Use 6 (case light) for external LED. 13 is internal (yellow) LED. #define LED_PIN 13 // Use 6 (case light) for external LED. 13 is internal (yellow) LED.
#define PS_ON_PIN 12 #define PS_ON_PIN 12
#if NUM_RUNOUT_SENSORS < 3
#define SUICIDE_PIN 54 // This pin must be enabled at boot to keep power flowing #define SUICIDE_PIN 54 // This pin must be enabled at boot to keep power flowing
#endif
#ifndef CASE_LIGHT_PIN #ifndef CASE_LIGHT_PIN
#define CASE_LIGHT_PIN 6 // 21 #define CASE_LIGHT_PIN 6 // 21
@ -153,6 +156,17 @@
// //
#define BEEPER_PIN 18 #define BEEPER_PIN 18
#if ENABLED(YHCB2004)
#ifndef YHCB2004_SCK
#define YHCB2004_SCK 5
#endif
#ifndef YHCB2004_MOSI
#define YHCB2004_MOSI 21
#endif
#ifndef YHCB2004_MISO
#define YHCB2004_MISO 36
#endif
#elif HAS_WIRED_LCD
#ifndef LCD_PINS_RS #ifndef LCD_PINS_RS
#define LCD_PINS_RS 20 #define LCD_PINS_RS 20
#endif #endif
@ -171,8 +185,19 @@
#ifndef LCD_PINS_D7 #ifndef LCD_PINS_D7
#define LCD_PINS_D7 36 #define LCD_PINS_D7 36
#endif #endif
#endif
#if IS_NEWPANEL #if ENABLED(YHCB2004)
#ifndef BTN_EN1
#define BTN_EN1 16
#endif
#ifndef BTN_EN2
#define BTN_EN2 17
#endif
#ifndef BTN_ENC
#define BTN_ENC 19
#endif
#elif IS_NEWPANEL
#ifndef BTN_EN1 #ifndef BTN_EN1
#define BTN_EN1 42 #define BTN_EN1 42
#endif #endif

2
Marlin/src/pins/mega/pins_GT2560_V3_A20.h

@ -22,7 +22,7 @@
#pragma once #pragma once
/** /**
* Geeetech A20M pin assignment * Geeetech A20M board pin assignments
*/ */
#define LCD_PINS_RS 5 #define LCD_PINS_RS 5

6
Marlin/src/pins/mega/pins_GT2560_V3_MC2.h

@ -21,9 +21,9 @@
*/ */
#pragma once #pragma once
/***************************************************************** /**
* GT2560 V3.0 pin assignment (for Mecreator 2) * Geeetech GT2560 V 3.0 board pin assignments (for Mecreator 2)
*****************************************************************/ */
#define BOARD_INFO_NAME "GT2560 V3.0 (MC2)" #define BOARD_INFO_NAME "GT2560 V3.0 (MC2)"

2
Marlin/src/pins/mega/pins_HJC2560C_REV2.h

@ -22,7 +22,7 @@
#pragma once #pragma once
/** /**
* HJC2560-C Rev2.x pin assignments * Geeetech HJC2560-C Rev 2.x board pin assignments
*/ */
#if NOT_TARGET(__AVR_ATmega2560__) #if NOT_TARGET(__AVR_ATmega2560__)

3
Marlin/src/pins/stm32f1/pins_GTM32_MINI.h

@ -22,8 +22,7 @@
#pragma once #pragma once
/** /**
* 24 May 2018 - @chepo for STM32F103VET6 * Geeetech GTM32 Mini board pin assignments
* Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf
*/ */
#if NOT_TARGET(__STM32F1__) #if NOT_TARGET(__STM32F1__)

3
Marlin/src/pins/stm32f1/pins_GTM32_MINI_A30.h

@ -22,8 +22,7 @@
#pragma once #pragma once
/** /**
* 24 May 2018 - @chepo for STM32F103VET6 * Geeetech GTM32 Mini A30 board pin assignments
* Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf
*/ */
#if NOT_TARGET(__STM32F1__) #if NOT_TARGET(__STM32F1__)

6
Marlin/src/pins/stm32f1/pins_GTM32_PRO_VB.h

@ -22,15 +22,15 @@
#pragma once #pragma once
/** /**
* 24 May 2018 - @chepo for STM32F103VET6 * Geeetech GTM32 Pro VB/VD board pin assignments
* Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf * http://www.geeetech.com/wiki/index.php/File:Hardware_GTM32_PRO_VB.pdf
*/ */
#if NOT_TARGET(__STM32F1__) #if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#endif #endif
#define BOARD_INFO_NAME "GTM32 Pro VB" #define BOARD_INFO_NAME "GTM32 Pro VB/VD"
#define DEFAULT_MACHINE_NAME "STM32F103VET6" #define DEFAULT_MACHINE_NAME "STM32F103VET6"
#define BOARD_NO_NATIVE_USB #define BOARD_NO_NATIVE_USB

5
Marlin/src/pins/stm32f1/pins_GTM32_REV_B.h

@ -22,15 +22,14 @@
#pragma once #pragma once
/** /**
* 24 May 2018 - @chepo for STM32F103VET6 * Geeetech GTM32 Rev. B board pin assignments
* Schematic: https://github.com/chepo92/Smartto/blob/master/circuit_diagram/Rostock301/Hardware_GTM32_PRO_VB.pdf
*/ */
#if NOT_TARGET(__STM32F1__) #if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'" #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#endif #endif
#define BOARD_INFO_NAME "GTM32 Pro VB" #define BOARD_INFO_NAME "GTM32 Rev B"
#define DEFAULT_MACHINE_NAME "M201" #define DEFAULT_MACHINE_NAME "M201"
#define BOARD_NO_NATIVE_USB #define BOARD_NO_NATIVE_USB

1
platformio.ini

@ -219,6 +219,7 @@ lib_deps =
# Feature Dependencies # Feature Dependencies
# #
[features] [features]
YHCB2004 = red-scorp/LiquidCrystal_AIP31068@^1.0.4, red-scorp/SoftSPIB@^1.1.1
HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip HAS_TFT_LVGL_UI = lvgl=https://github.com/makerbase-mks/LVGL-6.1.1-MKS/archive/master.zip
src_filter=+<src/lcd/extui/lib/mks_ui> src_filter=+<src/lcd/extui/lib/mks_ui>
extra_scripts=download_mks_assets.py extra_scripts=download_mks_assets.py

Loading…
Cancel
Save