View Single Post
Old 08-21-2009, 06:45 AM   #124
pwarren
Connoisseur
pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.pwarren can program the VCR without an owner's manual.
 
Posts: 95
Karma: 186186
Join Date: May 2009
Location: Canberra, Australia
Device: Irex Iliad (Dead), EcoReader (Smashed screen), Kobo Touch
that's done the trick! Almost working, now I've got FBReader turning the page in ~4s, but flashing again after another ~1s.

Getting closer!

edit:
Hrm, nothing I'm doing seems to get rid of the second flash, here's the code I'm using:
Code:
extern "C" {
#include "xepdmgrclient.c"
};

sEpd *Epd;

static void doPaint(GtkWidget*, GdkEventExpose*, ZLGtkViewWidget *data) {
  // Turn on the busy LED
  erIpcStartClient(ER_BUSYD_CHANNEL, &erbusyChannel);
  // Turn off xepdmgr auto updates
  EpdRefreshAuto(Epd,0);
  //Refresh the Display after everything has painted      
  data->doPaint();
  display = gdk_x11_display_get_xdisplay(gdk_display_get_default());
  XSync(display, 1);
  dmDisplay(dmCmdPriorUrgent, dmQFull);
  // Turn xepdmgr auto updates back on 
  EpdCancel(Epd);
  EpdRefreshAuto(Epd,1);
  //Turn off the busy LED
  busySetBusy(erbusyChannel, ccBusyState_Off);
}
Adding another EpdCancle(Epd); after the EpdRefreshAuto() call doesn't seem to help

Last edited by pwarren; 08-21-2009 at 07:43 AM.
pwarren is offline   Reply With Quote