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

il3897 #8

Open
etrombly opened this issue May 2, 2019 · 7 comments
Open

il3897 #8

etrombly opened this issue May 2, 2019 · 7 comments

Comments

@etrombly
Copy link
Contributor

etrombly commented May 2, 2019

I was going to use your library as a reference to write one for the il3897 used in the Lolin (Wemos) epaper display. They ended up being the same chip though(probably just rebranded). It took minimal work to get this going on that display too, but there are a few things that it would be nice to restructure to support both. Mainly it doesn't need a red buffer, and the initialization is slightly different (VCOM, Driving Voltages, etc). Maybe rename display and graphics to inky_phat, so we can have another display implementation for the lolin?

@etrombly
Copy link
Contributor Author

etrombly commented May 2, 2019

Oh and I used it with an stm32f103 (blue pill) so you can add stm32 to your list of devices where your driver was tested.

@wezm
Copy link
Owner

wezm commented May 3, 2019

Thanks for this. My goal for this crate is for it to provide the bits necessary to communicate with a display that uses the SSD1675. Ideally there would be no display specific stuff in this crate, instead that would live in other crates that depend on this one. I probably let too much Inky pHAT stuff leak into to this one. If you have your changes somewhere they might be good as a reference to identify parts that aren't generic enough.

@etrombly
Copy link
Contributor Author

etrombly commented May 3, 2019

I was testing it here https://github.com/etrombly/screen-test

Also I grabbed the display specific stuff from the arduino driver here https://github.com/wemos/LOLIN_EPD_Library/blob/master/src/LOLIN_IL3897.cpp, It looks like if you use a different LUT to initialize it and use Command::UpdateDisplayOption2(0x0C) instead of Command::UpdateDisplayOption2(0xC7) you can do partial screen updates. Haven't tested it yet, but it might let you have faster screen updates. Not sure if you can find the partial update LUT for the inky_phat anywhere.

@wezm
Copy link
Owner

wezm commented May 3, 2019

Not sure if you can find the partial update LUT for the inky_phat anywhere.

As far as I know it's not possible on tri-colour displays because they need both buffers for the colours. On B/W displays it can apply the partial updates from one buffer to the other.

@JeanBlignaut
Copy link

Hi I am looking for a driver for the il3897 used in the Lolin (Wemos) epaper display, as it turns out...
I am quite new to embedded dev as well as rust but stubbornly wanted to use rust on ESP32 rather than C/C++ (which I have working now thanks to the ESP Rust Book and the rust-esp32-std-demo)
What steps do I take to use this driver and just add some screen specifics as you mentioned previously @etrombly @wezm ?- any help would be appreciated :)

@etrombly
Copy link
Contributor Author

etrombly commented Feb 9, 2022

You should be able to use the code I mentioned here https://github.com/etrombly/screen-test , an example on how to use it is here https://github.com/etrombly/screen-client . I haven't updated either in the last 2 years, I tried around a year ago and there were some pretty substantial changes in the dependencies. You should be able to use it as is though.

edit: Didn't notice you said you wanted to use an ESP32. The stuff I wrote is for stm32 using cortex-m-rtfm. You should still be able to see what I did to modify the LUTs and other values though, they're all at the top of main.rs in screen-test

@JeanBlignaut
Copy link

Thanks I’ll give it a try

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

No branches or pull requests

3 participants