You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm adding support for the Good Display GDEY0213B74 (same as GDEQ0213B74) display that I will be using in a project. I used the epd2in13_v2 driver as a base as both seem to be based on a SSD1680 (or similar?) controller.
Among things, I found a problem with my display when sleeping: the image was retained, but at a lower contract (albeit slightly).
The original sleep code included:
// All sample code enables and disables analog/clocks...self.set_display_update_control_2(
spi,DisplayUpdateControl2::new().enable_analog().enable_clock().disable_analog().disable_clock(),)?;self.command(spi,Command::MasterActivation)?;self.set_sleep_mode(spi,self.sleep_mode)?;
After calling Command::MasterActivation immediately the device is sent to sleep by set_sleep_mode, resulting in the lowered contrast image. Adding a self.wait_until_idle() before set_sleep_mode fixes the contrast issue with my display. Possibly (probably?) this is also the case with the Waveshare modules (which look to be Good Display devices slapped onto a PCB with and sold with nondescript names i.e. no mention of the original GD part number)?
Note. The whole DisplayUpdateControl2 and MasterActivation sequence in sleep function seems redundant. I don't really know why this sequence is needed, it is not mentioned in the manual and the comment says it was transferred into this crate as it was part of some other sample code.. What's against just removing this code?
The text was updated successfully, but these errors were encountered:
I'm adding support for the Good Display GDEY0213B74 (same as GDEQ0213B74) display that I will be using in a project. I used the
epd2in13_v2
driver as a base as both seem to be based on a SSD1680 (or similar?) controller.Among things, I found a problem with my display when sleeping: the image was retained, but at a lower contract (albeit slightly).
The original sleep code included:
After calling
Command::MasterActivation
immediately the device is sent to sleep byset_sleep_mode
, resulting in the lowered contrast image. Adding aself.wait_until_idle()
beforeset_sleep_mode
fixes the contrast issue with my display. Possibly (probably?) this is also the case with the Waveshare modules (which look to be Good Display devices slapped onto a PCB with and sold with nondescript names i.e. no mention of the original GD part number)?Note. The whole
DisplayUpdateControl2
andMasterActivation
sequence in sleep function seems redundant. I don't really know why this sequence is needed, it is not mentioned in the manual and the comment says it was transferred into this crate as it was part of some other sample code.. What's against just removing this code?The text was updated successfully, but these errors were encountered: