Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix STM32F1 SPI device init, MKS_LCD12864 #19271

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion Marlin/src/HAL/STM32F1/SPI.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,9 @@
#include <boards.h>
#include <wirish.h>

#include "../../inc/MarlinConfig.h"
#include "spi_pins.h"

/** Time in ms for DMA receive timeout */
#define DMA_TIMEOUT 100

Expand Down Expand Up @@ -710,6 +713,6 @@ static spi_baud_rate determine_baud_rate(spi_dev *dev, uint32_t freq) {
return baud_rates[i];
}

SPIClass SPI(1);
SPIClass SPI(SPI_DEVICE);

#endif // __STM32F1__
1 change: 1 addition & 0 deletions Marlin/src/lcd/dogm/u8g_dev_uc1701_mini12864_HAL.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ static const uint8_t u8g_dev_uc1701_mini12864_HAL_init_seq[] PROGMEM = {
U8G_ESC_CS(1), // enable chip
UC1701_ALL_PIX(0), // normal display
U8G_ESC_CS(0), // disable chip
U8G_ESC_DLY(150), // delay 150 ms before sending any data
U8G_ESC_END // end of sequence
};

Expand Down
60 changes: 28 additions & 32 deletions Marlin/src/lcd/dogm/ultralcd_DOGM.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -240,39 +240,35 @@ bool MarlinUI::detected() { return true; }

// Initialize or re-initialize the LCD
void MarlinUI::init_lcd() {
#if DISABLED(MKS_LCD12864)

#if PIN_EXISTS(LCD_BACKLIGHT)
OUT_WRITE(LCD_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); // Illuminate after reset or right away
#endif

#if ANY(MKS_12864OLED, MKS_12864OLED_SSD1306, FYSETC_242_OLED_12864, ZONESTAR_12864OLED)
SET_OUTPUT(LCD_PINS_DC);
#ifndef LCD_RESET_PIN
#define LCD_RESET_PIN LCD_PINS_RS
#endif
#endif

#if PIN_EXISTS(LCD_RESET)
// Perform a clean hardware reset with needed delays
OUT_WRITE(LCD_RESET_PIN, LOW);
_delay_ms(5);
WRITE(LCD_RESET_PIN, HIGH);
_delay_ms(5);
u8g.begin();
#if PIN_EXISTS(LCD_BACKLIGHT)
OUT_WRITE(LCD_BACKLIGHT_PIN, DISABLED(DELAYED_BACKLIGHT_INIT)); // Illuminate after reset or right away
#endif

#if ANY(MKS_12864OLED, MKS_12864OLED_SSD1306, FYSETC_242_OLED_12864, ZONESTAR_12864OLED)
SET_OUTPUT(LCD_PINS_DC);
#ifndef LCD_RESET_PIN
#define LCD_RESET_PIN LCD_PINS_RS
#endif

#if PIN_EXISTS(LCD_BACKLIGHT) && ENABLED(DELAYED_BACKLIGHT_INIT)
WRITE(LCD_BACKLIGHT_PIN, HIGH);
#endif

TERN_(HAS_LCD_CONTRAST, refresh_contrast());

TERN_(LCD_SCREEN_ROT_90, u8g.setRot90());
TERN_(LCD_SCREEN_ROT_180, u8g.setRot180());
TERN_(LCD_SCREEN_ROT_270, u8g.setRot270());

#endif // !MKS_LCD12864
#endif

#if PIN_EXISTS(LCD_RESET)
// Perform a clean hardware reset with needed delays
OUT_WRITE(LCD_RESET_PIN, LOW);
_delay_ms(5);
WRITE(LCD_RESET_PIN, HIGH);
_delay_ms(5);
u8g.begin();
#endif

#if PIN_EXISTS(LCD_BACKLIGHT) && ENABLED(DELAYED_BACKLIGHT_INIT)
WRITE(LCD_BACKLIGHT_PIN, HIGH);
#endif

TERN_(HAS_LCD_CONTRAST, refresh_contrast());

TERN_(LCD_SCREEN_ROT_90, u8g.setRot90());
TERN_(LCD_SCREEN_ROT_180, u8g.setRot180());
TERN_(LCD_SCREEN_ROT_270, u8g.setRot270());

uxg_SetUtf8Fonts(g_fontinfo, COUNT(g_fontinfo));
}
Expand Down
3 changes: 0 additions & 3 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_E3_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@

//#define DISABLE_DEBUG
#define DISABLE_JTAG
#define ENABLE_SPI2

//
// EEPROM
Expand Down Expand Up @@ -152,8 +151,6 @@
#define DOGLCD_SCK PB13
#define DOGLCD_MOSI PB15

#undef SHOW_BOOTSCREEN

#else

#define LCD_PINS_D4 PA6
Expand Down
2 changes: 0 additions & 2 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_LITE3.h
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,6 @@
#define DOGLCD_SCK PB13
#define DOGLCD_MOSI PB15

#undef SHOW_BOOTSCREEN

#else // !MKS_MINI_12864

#define LCD_PINS_D4 PA6
Expand Down
4 changes: 0 additions & 4 deletions Marlin/src/pins/stm32f1/pins_MKS_ROBIN_NANO_V2.h
Original file line number Diff line number Diff line change
Expand Up @@ -351,10 +351,6 @@
#define DOGLCD_SCK PA5
#define DOGLCD_MOSI PA7

// Required for MKS_MINI_12864 with this board
#define MKS_LCD12864B
#undef SHOW_BOOTSCREEN

#else // !MKS_MINI_12864

#define LCD_PINS_D4 PE14
Expand Down