-
-
Notifications
You must be signed in to change notification settings - Fork 19.1k
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
[BUG] ZONESTAR_12864OLED No Longer Works in 2.1.x BUGFIX But Works in 2.0.7 Branch #27213
Comments
the lcd pin out matches what is in https://github.com/ZONESTAR3D/source-code-for-3d-printer/blob/main/Marlin/src/pins/stm32f1/pins_ZM3E2_V1_0.h Please confirm this is your motherboard The pins also seem to match the silk screen on this image. |
That is indeed the motherboard. And some layman detective work: from Zonestars 2.0.7 source, inside ultralcd_DOGM.h, starting at line 140:
from Zonestars 2.0.7 source, "U8GLIB_SH1106_128X64_SW_SPI_HAL" Defined in HAL_LCD_class_defines.h:
|
Just to note, I've tried marlinfirmware/[email protected]. 5 to version 0.5.4 |
I think your on to something here. |
I have updated the HAL_LCD_class_defines.h to include the updated functions
I've also included u8g_dev_ssd1306_sh1106_128x64_SWSPI.cpp from Zonestars repo to /Marlin/src/lcd/dogm/u8g/u8g_dev_ssd1306_sh1106_128x64_SWSPI.cpp I've also modified marlinui_DOGM.h from this:
To this:
The display now works. there's a little glitch on the right side but it might be because its slightly cracked. Please add this fix to the repo. |
This 'fix' as is would break all other i2c SH1106 displays on any stm32 controllers so it needs to be made to play nice for everyone |
@jutochoppa please test https://github.com/ellensp/Marlin/tree/zonestar-spi-oleds |
Pr created so everyone gets the fix |
Sorry. I'm a bit of an under-qualified dummy at this. I barley know how to use GitHub. To get your fix working (which itself does) /// Marlin 2.1.x itself, I also had to
Again, I am a professional dummy, so there are probably better solutions to the modifications made. |
While the LCD issue was a bug, the rest of this sounds like a Feature Request to port ZONESTAR Z6 / ZM3E2 support upstream and should be requested separately. Edit: We already support the ZM3E2: Marlin/Marlin/src/core/boards.h Line 395 in f84a97f
I created a diff of this file so it's easier to tell what changed: diff --git a/Marlin/src/module/stepper.cpp b/Marlin/src/module/stepper.cpp
index f5a9f6d..d8090d9 100644
--- a/Marlin/src/module/stepper.cpp
+++ b/Marlin/src/module/stepper.cpp
@@ -2948,6 +2948,29 @@ void Stepper::init() {
// Init Microstepping Pins
TERN_(HAS_MICROSTEPS, microstep_init());
+
+ #ifdef OPTION_MICROSTEP
+ #if(PIN_EXISTS(MS1) && PIN_EXISTS(MS2))
+ SET_OUTPUT(MS1_PIN);
+ SET_OUTPUT(MS2_PIN);
+ #if (OPTION_MICROSTEP == 128)
+ WRITE(MS1_PIN, LOW);
+ WRITE(MS2_PIN, LOW);
+ #elif(OPTION_MICROSTEP == 64)
+ WRITE(MS1_PIN, LOW);
+ WRITE(MS2_PIN, HIGH);
+ #elif(OPTION_MICROSTEP == 32)
+ WRITE(MS1_PIN, HIGH);
+ WRITE(MS2_PIN, LOW);
+ #else
+ WRITE(MS1_PIN, HIGH);
+ WRITE(MS2_PIN, HIGH);
+ #endif
+ #else
+ #error "Need Micro step pins MS1 & MS2 when you endabled OPTION_MICROSTEP"
+ #endif
+ #endif
+
// Init Dir Pins
TERN_(HAS_X_DIR, X_DIR_INIT());
TERN_(HAS_X2_DIR, X2_DIR_INIT()); It looks like they should really be using the "Custom Microstepping" options instead of this new Marlin/Marlin/Configuration_adv.h Lines 1396 to 1405 in f84a97f
|
Okay, thank you. |
Did you test the latest
bugfix-2.1.x
code?Yes, and the problem still exists.
Bug Description
I'm migrating to marlin 2.1.x bugfix branch from 2.0.7 lts and for some reason the display is not working for my Z6 ZM3E2 Board.
The display is black as if it has no power.
I have configured it successfully so everything else works. I just finished a print with it too.
If anyone could assist with this, I'd greatly appreciate the help. I've spent hours trying to figure this out.
Bug Timeline
No response
Expected behavior
Display to work/ show life
Actual behavior
No response
Steps to Reproduce
No response
Version of Marlin Firmware
2.1.x BUGFIX
Printer model
ZONESTAR Z6, ZM3E2 motherboard
Electronics
No response
LCD/Controller
ZONESTAR_12864OLED
Other add-ons
No response
Bed Leveling
UBL Bilinear mesh
Your Slicer
None
Host Software
None
Don't forget to include
Configuration.h
andConfiguration_adv.h
.Additional information & file uploads
Configuration.zip
Configuration_adv.zip
The text was updated successfully, but these errors were encountered: