Lerdge K EEPROM and TFT (#21812)
Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
parent
adefecca6c
commit
f95f18c8e5
1
.github/workflows/test-builds.yml
vendored
1
.github/workflows/test-builds.yml
vendored
|
@ -86,6 +86,7 @@ jobs:
|
||||||
- FLYF407ZG
|
- FLYF407ZG
|
||||||
- rumba32
|
- rumba32
|
||||||
- LERDGEX
|
- LERDGEX
|
||||||
|
- LERDGEK
|
||||||
- mks_robin_nano35_stm32
|
- mks_robin_nano35_stm32
|
||||||
- NUCLEO_F767ZI
|
- NUCLEO_F767ZI
|
||||||
- REMRAM_V1
|
- REMRAM_V1
|
||||||
|
|
|
@ -30,11 +30,17 @@
|
||||||
#if ENABLED(I2C_EEPROM)
|
#if ENABLED(I2C_EEPROM)
|
||||||
|
|
||||||
#include "eeprom_if.h"
|
#include "eeprom_if.h"
|
||||||
#include <Wire.h>
|
|
||||||
|
#if ENABLED(SOFT_I2C_EEPROM)
|
||||||
|
#include <SlowSoftWire.h>
|
||||||
|
SlowSoftWire Wire = SlowSoftWire(I2C_SDA_PIN, I2C_SCL_PIN, true);
|
||||||
|
#else
|
||||||
|
#include <Wire.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
void eeprom_init() {
|
void eeprom_init() {
|
||||||
Wire.begin(
|
Wire.begin(
|
||||||
#if PINS_EXIST(I2C_SCL, I2C_SDA)
|
#if PINS_EXIST(I2C_SCL, I2C_SDA) && DISABLED(SOFT_I2C_EEPROM)
|
||||||
uint8_t(I2C_SDA_PIN), uint8_t(I2C_SCL_PIN)
|
uint8_t(I2C_SDA_PIN), uint8_t(I2C_SCL_PIN)
|
||||||
#endif
|
#endif
|
||||||
);
|
);
|
||||||
|
|
|
@ -154,6 +154,9 @@ static const uint16_t st7796s_init[] = {
|
||||||
|
|
||||||
static const uint16_t lerdge_st7796s_init[] = {
|
static const uint16_t lerdge_st7796s_init[] = {
|
||||||
DATASIZE_8BIT,
|
DATASIZE_8BIT,
|
||||||
|
ESC_REG(ST7796S_SWRESET), ESC_DELAY(100),
|
||||||
|
ESC_REG(ST7796S_SLPOUT), ESC_DELAY(20),
|
||||||
|
|
||||||
ESC_REG(ST7796S_CSCON), 0x00C3, // enable command 2 part I
|
ESC_REG(ST7796S_CSCON), 0x00C3, // enable command 2 part I
|
||||||
ESC_REG(ST7796S_CSCON), 0x0096, // enable command 2 part II
|
ESC_REG(ST7796S_CSCON), 0x0096, // enable command 2 part II
|
||||||
|
|
||||||
|
@ -165,7 +168,6 @@ static const uint16_t lerdge_st7796s_init[] = {
|
||||||
|
|
||||||
ESC_REG(ST7796S_PWR2), 0x0015,
|
ESC_REG(ST7796S_PWR2), 0x0015,
|
||||||
ESC_REG(ST7796S_PWR3), 0x00AF,
|
ESC_REG(ST7796S_PWR3), 0x00AF,
|
||||||
ESC_REG(0xC3), 0x0009, // Register not documented in datasheet
|
|
||||||
ESC_REG(ST7796S_VCMPCTL), 0x0022,
|
ESC_REG(ST7796S_VCMPCTL), 0x0022,
|
||||||
ESC_REG(ST7796S_VCMOST), 0x0000,
|
ESC_REG(ST7796S_VCMOST), 0x0000,
|
||||||
ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033,
|
ESC_REG(ST7796S_DOCA), 0x0040, 0x008A, 0x0000, 0x0000, 0x0029, 0x0019, 0x00A5, 0x0033,
|
||||||
|
|
|
@ -28,7 +28,14 @@
|
||||||
#define BOARD_INFO_NAME "Lerdge K"
|
#define BOARD_INFO_NAME "Lerdge K"
|
||||||
#define DEFAULT_MACHINE_NAME "LERDGE"
|
#define DEFAULT_MACHINE_NAME "LERDGE"
|
||||||
|
|
||||||
#define I2C_EEPROM
|
// EEPROM
|
||||||
|
#if NO_EEPROM_SELECTED
|
||||||
|
#define I2C_EEPROM
|
||||||
|
#define SOFT_I2C_EEPROM // Force the use of Software I2C
|
||||||
|
#define I2C_SCL_PIN PG14
|
||||||
|
#define I2C_SDA_PIN PG13
|
||||||
|
#define MARLIN_EEPROM_SIZE 0x10000
|
||||||
|
#endif
|
||||||
|
|
||||||
// USB Flash Drive support
|
// USB Flash Drive support
|
||||||
#define HAS_OTG_USB_HOST_SUPPORT
|
#define HAS_OTG_USB_HOST_SUPPORT
|
||||||
|
@ -36,7 +43,7 @@
|
||||||
//
|
//
|
||||||
// Servos
|
// Servos
|
||||||
//
|
//
|
||||||
//#define SERVO0_PIN PB11
|
#define SERVO0_PIN PB11
|
||||||
|
|
||||||
//
|
//
|
||||||
// Limit Switches
|
// Limit Switches
|
||||||
|
@ -96,6 +103,13 @@
|
||||||
// #define E1_CS_PIN PE4
|
// #define E1_CS_PIN PE4
|
||||||
//#endif
|
//#endif
|
||||||
|
|
||||||
|
//#define E2_STEP_PIN PF4 // best guess
|
||||||
|
//#define E2_DIR_PIN PF3 // best guess
|
||||||
|
//#define E2_ENABLE_PIN PF5 // best guess
|
||||||
|
//#ifndef E2_CS_PIN
|
||||||
|
// #define E2_CS_PIN PB2 // best guess
|
||||||
|
//#endif
|
||||||
|
|
||||||
#if HAS_TMC_UART
|
#if HAS_TMC_UART
|
||||||
/**
|
/**
|
||||||
* TMC2208/TMC2209 stepper drivers
|
* TMC2208/TMC2209 stepper drivers
|
||||||
|
@ -163,13 +177,19 @@
|
||||||
#ifndef FAN_PIN
|
#ifndef FAN_PIN
|
||||||
#define FAN_PIN PF7
|
#define FAN_PIN PF7
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FAN1_PIN PF6
|
#define FAN1_PIN PF6
|
||||||
#define FAN2_PIN PF8
|
|
||||||
|
|
||||||
#ifndef E0_AUTO_FAN_PIN
|
#ifndef E0_AUTO_FAN_PIN
|
||||||
#define E0_AUTO_FAN_PIN PF6
|
#define E0_AUTO_FAN_PIN PB1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef E1_AUTO_FAN_PIN
|
||||||
|
#define E1_AUTO_FAN_PIN PB0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define CONTROLLER_FAN_PIN PF8
|
||||||
|
|
||||||
//
|
//
|
||||||
// LED / Lighting
|
// LED / Lighting
|
||||||
//
|
//
|
||||||
|
@ -177,10 +197,10 @@
|
||||||
//#define CASE_LIGHT_PIN_DO -1
|
//#define CASE_LIGHT_PIN_DO -1
|
||||||
//#define NEOPIXEL_PIN -1
|
//#define NEOPIXEL_PIN -1
|
||||||
#ifndef RGB_LED_R_PIN
|
#ifndef RGB_LED_R_PIN
|
||||||
#define RGB_LED_R_PIN PB7
|
#define RGB_LED_R_PIN PB8 // swap R and G pin for compatibility with real wires
|
||||||
#endif
|
#endif
|
||||||
#ifndef RGB_LED_G_PIN
|
#ifndef RGB_LED_G_PIN
|
||||||
#define RGB_LED_G_PIN PB8
|
#define RGB_LED_G_PIN PB7
|
||||||
#endif
|
#endif
|
||||||
#ifndef RGB_LED_B_PIN
|
#ifndef RGB_LED_B_PIN
|
||||||
#define RGB_LED_B_PIN PB9
|
#define RGB_LED_B_PIN PB9
|
||||||
|
@ -197,7 +217,7 @@
|
||||||
//
|
//
|
||||||
#define SDSS PC11
|
#define SDSS PC11
|
||||||
#define LED_PIN PA15 // Alive
|
#define LED_PIN PA15 // Alive
|
||||||
#define PS_ON_PIN -1
|
#define PS_ON_PIN PA4
|
||||||
#define KILL_PIN -1
|
#define KILL_PIN -1
|
||||||
#define POWER_LOSS_PIN PA4 // Power-loss / nAC_FAULT
|
#define POWER_LOSS_PIN PA4 // Power-loss / nAC_FAULT
|
||||||
|
|
||||||
|
@ -213,17 +233,23 @@
|
||||||
// LCD / Controller
|
// LCD / Controller
|
||||||
//
|
//
|
||||||
|
|
||||||
#define TFT_RESET_PIN PD6
|
#if HAS_FSMC_TFT
|
||||||
#define TFT_BACKLIGHT_PIN PD3
|
//#define TFT_DRIVER LERDGE_ST7796
|
||||||
|
|
||||||
#define TFT_CS_PIN PD7
|
#define TFT_RESET_PIN PD6
|
||||||
#define TFT_RS_PIN PD11
|
#define TFT_BACKLIGHT_PIN PD3
|
||||||
|
|
||||||
#define TOUCH_CS_PIN PG15
|
#define TFT_CS_PIN PD7
|
||||||
#define TOUCH_SCK_PIN PB3
|
#define TFT_RS_PIN PD11
|
||||||
#define TOUCH_MOSI_PIN PB5
|
|
||||||
#define TOUCH_MISO_PIN PB4
|
|
||||||
|
|
||||||
#define BTN_EN1 PG10
|
#define TOUCH_CS_PIN PG15
|
||||||
#define BTN_EN2 PG11
|
#define TOUCH_SCK_PIN PB3
|
||||||
#define BTN_ENC PG9
|
#define TOUCH_MOSI_PIN PB5
|
||||||
|
#define TOUCH_MISO_PIN PB4
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if IS_NEWPANEL
|
||||||
|
#define BTN_EN1 PG10
|
||||||
|
#define BTN_EN2 PG11
|
||||||
|
#define BTN_ENC PG9
|
||||||
|
#endif
|
||||||
|
|
18
buildroot/tests/LERDGEK
Executable file
18
buildroot/tests/LERDGEK
Executable file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Build tests for LERDGEK environment
|
||||||
|
#
|
||||||
|
|
||||||
|
# exit on first failure
|
||||||
|
set -e
|
||||||
|
|
||||||
|
#
|
||||||
|
# Build with the typical configuration
|
||||||
|
#
|
||||||
|
restore_configs
|
||||||
|
opt_set MOTHERBOARD BOARD_LERDGE_K SERIAL_PORT 1
|
||||||
|
opt_enable TFT_GENERIC TFT_INTERFACE_FSMC TFT_COLOR_UI
|
||||||
|
exec_test $1 $2 "LERDGE K with Generic FSMC TFT with ColorUI" "$3"
|
||||||
|
|
||||||
|
# clean up
|
||||||
|
restore_configs
|
|
@ -41,6 +41,7 @@ HAS_(FSMC|SPI|LTDC)_TFT = src_filter=+<src/HAL/STM32/tft> +<src/H
|
||||||
HAS_FSMC_TFT = src_filter=+<src/HAL/STM32/tft/tft_fsmc.cpp> +<src/HAL/STM32F1/tft/tft_fsmc.cpp>
|
HAS_FSMC_TFT = src_filter=+<src/HAL/STM32/tft/tft_fsmc.cpp> +<src/HAL/STM32F1/tft/tft_fsmc.cpp>
|
||||||
HAS_SPI_TFT = src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp>
|
HAS_SPI_TFT = src_filter=+<src/HAL/STM32/tft/tft_spi.cpp> +<src/HAL/STM32F1/tft/tft_spi.cpp>
|
||||||
I2C_EEPROM = src_filter=+<src/HAL/shared/eeprom_if_i2c.cpp>
|
I2C_EEPROM = src_filter=+<src/HAL/shared/eeprom_if_i2c.cpp>
|
||||||
|
SOFT_I2C_EEPROM = SlowSoftI2CMaster, SlowSoftWire=https://github.com/felias-fogg/SlowSoftWire/archive/master.zip
|
||||||
SPI_EEPROM = src_filter=+<src/HAL/shared/eeprom_if_spi.cpp>
|
SPI_EEPROM = src_filter=+<src/HAL/shared/eeprom_if_spi.cpp>
|
||||||
HAS_GRAPHICAL_TFT = src_filter=+<src/lcd/tft>
|
HAS_GRAPHICAL_TFT = src_filter=+<src/lcd/tft>
|
||||||
DWIN_CREALITY_LCD = src_filter=+<src/lcd/dwin>
|
DWIN_CREALITY_LCD = src_filter=+<src/lcd/dwin>
|
||||||
|
|
|
@ -308,8 +308,7 @@ build_flags = ${stm_flash_drive.build_flags}
|
||||||
platform = ${lerdge_common.platform}
|
platform = ${lerdge_common.platform}
|
||||||
extends = lerdge_common
|
extends = lerdge_common
|
||||||
board_build.firmware = Lerdge_K_firmware_force.bin
|
board_build.firmware = Lerdge_K_firmware_force.bin
|
||||||
build_flags = ${lerdge_common.build_flags}
|
build_flags = ${lerdge_common.build_flags} -DLERDGEK
|
||||||
-DLERDGEK
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Lerdge K with USB Flash Drive Support
|
# Lerdge K with USB Flash Drive Support
|
||||||
|
|
Loading…
Reference in a new issue