cpu20 Posted July 5, 2017 Report Share Posted July 5, 2017 Recently I've gotten this little display. It's my first time working with an e-paper display and I have to say it's really neat how it works! The pas few days I have been busy writing a driver for it. Rotation works, but partial refresh is not implemented yet. The reason for this, is that I have no idea how to do this. Currently the driver uses the draw_pixel method to write every pixel into a frame buffer and then flush everything at once to the display. I have no idea if it would be beneficial to implemented partial refresh and if so how to do it. If anyone could give some more info that would be really helpful! WS29EPD.zip Link to comment Share on other sites More sharing options...
cpu20 Posted July 5, 2017 Author Report Share Posted July 5, 2017 (edited) Here are some pictures with two lines, a circle and some text printed on the EPD. Edited July 5, 2017 by cpu20 Link to comment Share on other sites More sharing options...
inmarket Posted July 5, 2017 Report Share Posted July 5, 2017 The easiest way is to just save the x & y coordinate minimum and maximum in the driver pixel draw routine. When the flush happens you then flush based on the rectangle you saved. Some draws will not optimise based on this simple method (eg the diagonal line from corner to corner) but for most workloads it will save refresh time. Another optimization that will help with the diagonal line is to force a flush whenever the pixel to be drawn is outside a certain maximum refresh area size. Link to comment Share on other sites More sharing options...
LGKev Posted May 13, 2018 Report Share Posted May 13, 2018 nice job @cpu20! thank you for posting your work, its a great example! Link to comment Share on other sites More sharing options...
inmarket Posted July 7, 2018 Report Share Posted July 7, 2018 This driver is now in the repository. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now