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

Mks-Robin TFT LCD V1.0 ILI9328 Support. Is it possible? #15871

Closed
wants to merge 1,875 commits into from
Closed

Conversation

3Dangel
Copy link
Contributor

@3Dangel 3Dangel commented Nov 11, 2019

(Sorry, not sure why the pull request is saying merge request...If not correspond, Pls delete or close)

Description

The Marlin bugfix - 2.0 contain 2 supported TFT LCD ILI9413 and st7789v.
it is noted in the comment section that the ILI9328 is not supported.
Would it be possible to support the ILI9328?

In the early stage of the development, jmz52's branch had these two ILI9328 and st7789v supported and the coded for.
after the merge, not sure why the ILI9328 was left out and not been supported.

Benefits

It would enable owners of such STM32's Mian board combo kit to be able to use Marlin 2.

Related Issues

here is jmz52's repository of his code. tested o my MksRobin V2.1 TFT 1.0 and it works.

When using the nowadays' (Nov-10-19) it will compile correctly but I get "booting" on the screen.
I'm able to connect via ponterface and access eeprom's data by M503.

I'm not a programmer, so I'm not able to write codes.
hopping the team could help me out if possible and time allow.

Thanks

https://github.com/jmz52/Marlin/tree/MKS-Robin-Touch-POC

partial code from : Marlin\src\lcd\dogm\u8g_dev_tft_320x240_upscale_from_128x64.cpp

static const uint16_t ili9328_init[] = {
ESC_REG(0x0001), 0x0100,
ESC_REG(0x0002), 0x0400,
ESC_REG(0x0003), 0x1038,
ESC_REG(0x0004), 0x0000,
ESC_REG(0x0008), 0x0202,
ESC_REG(0x0009), 0x0000,
ESC_REG(0x000A), 0x0000,
ESC_REG(0x000C), 0x0000,
ESC_REG(0x000D), 0x0000,
ESC_REG(0x000F), 0x0000,
ESC_REG(0x0010), 0x0000,
ESC_REG(0x0011), 0x0007,
ESC_REG(0x0012), 0x0000,
ESC_REG(0x0013), 0x0000,
ESC_REG(0x0007), 0x0001,
ESC_DELAY(200),
ESC_REG(0x0010), 0x1690,
ESC_REG(0x0011), 0x0227,
ESC_DELAY(50),
ESC_REG(0x0012), 0x008C,
ESC_DELAY(50),
ESC_REG(0x0013), 0x1500,
ESC_REG(0x0029), 0x0004,
ESC_REG(0x002B), 0x000D,
ESC_DELAY(50),
ESC_REG(0x0050), 0x0000,
ESC_REG(0x0051), 0x00EF,
ESC_REG(0x0052), 0x0000,
ESC_REG(0x0053), 0x013F,
ESC_REG(0x0020), 0x0000,
ESC_REG(0x0021), 0x0000,
ESC_REG(0x0060), 0x2700,
ESC_REG(0x0061), 0x0001,
ESC_REG(0x006A), 0x0000,
ESC_REG(0x0080), 0x0000,
ESC_REG(0x0081), 0x0000,
ESC_REG(0x0082), 0x0000,
ESC_REG(0x0083), 0x0000,
ESC_REG(0x0084), 0x0000,
ESC_REG(0x0085), 0x0000,
ESC_REG(0x0090), 0x0010,
ESC_REG(0x0092), 0x0600,
ESC_REG(0x0007), 0x0133,
ESC_REG(0x0022),
ESC_END

thinkyhead and others added 30 commits June 12, 2018 22:53
[1.1.x] Extra insurance against endstop false positives
Fix message to long for 12864 display
The registers within the Max7219 can get corrupted a number of ways.  This allows the Max7219 to be reset and fully initialized.
And...  it also allows the user to see the initialization pattern.
* Fix planner/stepper race condition

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Co-Authored-By: AnHardt <github@kitelab.de>

* Fix stepper pulse timing

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Fixed for cycle used to initialize default values
Co-Authored-By: gloomyandy <andy-git@gloomy-place.com>
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
Co-Authored-By: ejtagle <ejtagle@hotmail.com>
- Allow planner to alter the deceleration phase of the currently executing block.
- Remove BUSY flag, as it is NON ATOMIC to set bits in the Stepper ISR and Planner at the same time.

Co-Authored-By: ejtagle <ejtagle@hotmail.com>
To allow for the case where a Z endstop (e.g., hall effect) is higher than the probe trigger point, don't check the Z min endstop during probe moves. See #11134
thinkyhead and others added 16 commits September 2, 2019 05:38
Followup to #13136 by @Ludy87
V3 of the BLTouch has an [Alarm Release & Touch mode](https://docs.wixstatic.com/ugd/f5a1c8_77037f55e5d542309d9fc178165c9f3f.pdf) to activate after the probe is deployed. If this mode isn't activated, the BLTouch keeps deploying, ends up detecting a collision and gets itself in error mode.

Tested on a Creality Ender-3.
Counterpart to #13595

Co-Authored-By: swilkens <stefanwilkens@gmail.com>
Co-Authored-By: InsanityAutomation <insanityautomation@users.noreply.github.com>
Co-Authored-By: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com>
Make the configs zip file requirement more prominent
@tpruvot
Copy link
Contributor

tpruvot commented Nov 11, 2019

the 9328 is already ok ... in marlin 2.0 branch

@3Dangel
Copy link
Contributor Author

3Dangel commented Nov 11, 2019

Unless I’m doing something wrong. Or the board v2.1 is a bit different ( don’t have the pin out from MKS)
But I don’t believe I did, since flashing the Jmz52’s works and fresh Marlin2 won’t.
Will be uploading my Config files for your review if needed to be.

Thank you all again!!!
.
I’m very sorry that if this is not considered as pull request.
I though since it was “not supported” then I would need to request a pull or feature request.

@tpruvot
Copy link
Contributor

tpruvot commented Nov 11, 2019

cp config/examples/Mks/Robin/Configuration* Marlin/

Please close this PR... tx

The FSMC connector to drive the LCD is the same for all boards

@3Dangel 3Dangel closed this Nov 11, 2019
@3Dangel
Copy link
Contributor Author

3Dangel commented Nov 11, 2019

Closing PR as requested.
Then the initialization is different for The ILI9328.
And in the coding only has 2 LCD’s initialization and none of them is for the ILI9238.

In this case will I need to open bug report to report, right?

@tpruvot
Copy link
Contributor

tpruvot commented Nov 11, 2019

https://drive.google.com/file/d/19zjFjk2XoG93TN7go9lv5q_XIunrDD6u/view?usp=sharing

I know its the v2.4 but the FSMC pins are dedicated on the STM chip... and its a 9328... not 9238

@3Dangel
Copy link
Contributor Author

3Dangel commented Nov 11, 2019

You are right!
9328
It was very late night. Sorry for that.
Yes, I know the board should work. But different LCD controller wouldn’t need different initialization sequences?
The coding in Marlin only provide support for 2 LCD type initialization.
Hence mine is not in there. That is why I was having trouble and seeking help here.

No, mine does not work yet. :-(

@3Dangel 3Dangel reopened this Nov 13, 2019
@3Dangel
Copy link
Contributor Author

3Dangel commented Nov 13, 2019

re-open my request.
after digging into old and jmz52's coding, I found more information that the ILI9328 is not the same as ILI9341.

would it be possible to add codings for the ILI9328 TFT controller?
the main differences is that the initialization is totally different.
my screen stays at booting....

really thank you for your time....
if we cannot support this ILI9328 chipset, please let me know, then I will close my request for good.....
again thank you very much !!!!!

u8g_dev_tft_320x240_upscale_from_128x64.zip

@thinkyhead thinkyhead closed this Nov 13, 2019
@thinkyhead
Copy link
Member

You might be able to do what you want. But before we can review your PR you will need to start over and try again. Be sure to start with an up-to-date bugfix-2.0.x before making your changes, and be sure to target bugfix-2.0.x when creating your PR.

See http://marlinfw.org/docs/development/getting_started_pull_requests.html for full instructions.

@3Dangel
Copy link
Contributor Author

3Dangel commented Nov 13, 2019 via email

@3Dangel
Copy link
Contributor Author

3Dangel commented Dec 31, 2019

Just wanted to cross post the solution provided by Jmz52 in the below post.
Confirmed to work beautifully.

#16159

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.