03-05-2009, 11:35 AM | #16 |
ex-IRX developer
Posts: 158
Karma: 224
Join Date: Oct 2008
Device: Irex DR800S, DR1000S, iLiad
|
DR1000 (and Iliad for that matter) set the display controller in a special 'draw mode' when scribbling. In this mode it redraws only small portions of the screen (basically only the "dot" when the stylus point hits the surface). You could take a look into liberscribble and the scribble test app it includes which seems to handle this.
|
03-05-2009, 04:22 PM | #17 |
Junior Member
Posts: 3
Karma: 10
Join Date: Mar 2009
Device: irex 1000s
|
That's a real shame, but there must be an answer?
Perhaps you might post this thread on the Irex Forum as well? I'm sure it is in Irex's interest to get third-party apps like this working, so they might be able to help? Chris http://forum.irexnet.com/viewforum.php?f=41 |
Advert | |
|
04-21-2009, 01:20 PM | #18 |
Member
Posts: 10
Karma: 45
Join Date: Apr 2009
Device: DR1000S
|
Great program. Has any progress been made on the refresh issues?
I added this program to the DR software wiki: https://wiki.mobileread.com/wiki/Digital_Reader_Software |
04-21-2009, 04:21 PM | #19 |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
I have made two small improvements to the xournal port:
1) An icon is now shown in the Task Manager of the DR menu allowing you to switch to another application/document and back again. 2) refresh after each stoke (so when you lift your pen). (Well ... 2 seconds after lifting the pen.) I made an updated version of the xournal_0.4.2.1_arm.ipk -file. So follow the original instructions from UtterInanity but replace the xournal-ipk-file. (Yes I managed to make proper .ipk-files...:-) I also had to disable printing (to pdf), like in the original port, since it requires some extra libraries that need to be ported to DR1000, for which I do not have the experience (yet, nor the time...). I hope this will be a step to an even better port that has a real refresh when writting. PS: for other 'porters' The trick to do 1) I explained here. 2) Is done by a trick I also used in mxSudoku, when you refresh a label (gtk_label_set_text()), so I update ' Layer: ' every time in the finilize_stoke()-function. This seems to trigger an internal refresh after some limited time (<2 seconds) Last edited by Mackx; 04-22-2009 at 03:23 PM. Reason: fixed problem with 2nd row of icons |
04-21-2009, 09:01 PM | #20 | |
Lord
Posts: 177
Karma: 328
Join Date: Feb 2009
Device: Q1 (on way out), PRS505, DR1000S (dead :<), TC1100 (10'' perfection!)
|
Great work, thanks
Quote:
This sort of stuff is critical whenever there is user interaction, and I think the slight delay is not just because its e-ink, but because GTK doesn't update instantly. So scribbling, pushing buttons rapidly etc. all have a small delay. I understand that iRex couldn't have all button push events trigger an instant refresh or something like that, but I'd sure like some developer control. Last edited by Grimulkan; 04-21-2009 at 09:05 PM. |
|
Advert | |
|
04-22-2009, 02:10 AM | #21 |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
I agree with you, as I already wrote, this is a step towards an app that refreshes instantly. I will also add this one also to my (ever growing) todo-list ...
|
04-22-2009, 01:44 PM | #22 |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
I made a mistake in my patch, that caused xournal not to find its local pixmaps (the 2nd line of icons). I fixed that and also managed to create a ipk-file that can be used in the original installation procedure of UtterInanity.
See the first mail in this thread for the installation instructions and my previous post for the updated xournal version. Sorry if I caused problems for someone. (I used the wrong value for the configure --prefix parameter, for those of you that want to know the cause of my mistake.) |
04-23-2009, 03:06 AM | #23 |
Lord
Posts: 177
Karma: 328
Join Date: Feb 2009
Device: Q1 (on way out), PRS505, DR1000S (dead :<), TC1100 (10'' perfection!)
|
I'm sure the community would greatly appreciate the source, preferably the entire Anjuta project folder (and the -- prefix option you finally used for configure)
|
04-23-2009, 06:15 AM | #24 |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
It took me about three weeks to get it compiling... but I have made some notes, let me see if I can reproduce what I did and share it with the community.
|
04-25-2009, 06:41 AM | #25 | |
Lord
Posts: 177
Karma: 328
Join Date: Feb 2009
Device: Q1 (on way out), PRS505, DR1000S (dead :<), TC1100 (10'' perfection!)
|
Quote:
1. Bypass GTK+ refresh calls (or add a non-GTK call) by talking directly to sysd, and fooling sysd into using one of its special refresh modes. There are modes for text entry and scribbles which update very fast, you could trace backwards from display.c and delta.h in sysd to see which signals trigger these, and simulate them in your code. If there is a way to trigger these through some GTK call (such as whatever the text entry widget update does), then that will also work. I suspect it might be as simple as doing what irex_display_update() does (see gtkwindow.c in iRex's modified GTK+, for example), while passing in a text entry or some such widget name as the "widget type". Reverse engineer display.c in sysd to figure it out. 2. Otherwise, one could bypass sysd altogether by directly talking to the delta controller (ioctl() call). Anyone doing this will need to use the correct control/waveform codes as used in display.c in sysd. I am not sure if there is a danger of angering sysd (or the delta controller) by doing this, but I think the worst that could happen is multiple refreshes. The first option is probably easier (and safer?), but the second is incredibly powerful. This allows developers to control exactly how the refresh is done, refresh colors, delay between refresh call and actual refresh, refresh waveforms etc. This is of use in drawing or other apps with non-standard update requirements, like Xournal. There are also other possibilities with this option: it looks like new refresh waveforms can be loaded from files on disk, and a certain "vcom" voltage can also be varied. I don't have the courage to play with these last 2 options however, and I am not even certain if iRex has implemented them. Last edited by Grimulkan; 04-25-2009 at 06:49 AM. |
|
04-25-2009, 03:01 PM | #26 | |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
Quote:
HOWEVER: The DR hangs completely after some time (it is not reacting to keys or stylus) and a reset is needed to get the device working again. I got it working only for less then an hour so I am not sure what triggers the hang-up of the device. I will integrate the code with xournal and post it here so more people can experiment with it. |
|
04-25-2009, 06:37 PM | #27 | |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
Updated PART 3 and 4
Quote:
The 'how-to' consists of 4 part. PART 1: getting it to run PART 2: Improving Refreshes PART 3: Adding icon to Task Manager PART 4: Getting it on the DR Please give me your comments, specially if things are missing or wrong. Also other updates are welcome. Maybe I will also add a PART 5 describing my experiments with erscribble to get 'instant' screen updates. Last edited by Mackx; 05-17-2009 at 02:17 PM. Reason: updated Port Xournal.txt with some small mistakes/updates |
|
04-26-2009, 05:21 AM | #28 |
ex-IRX developer
Posts: 158
Karma: 224
Join Date: Oct 2008
Device: Irex DR800S, DR1000S, iLiad
|
Nice work. Part 3 should be easy. When you send the "startupComplete" IPC with the proper arguments (pid and window id) to system daemon, it will show the xjournal task in the Task Manager. Note that you must call it after the window has been realized and shown.
|
04-26-2009, 06:11 AM | #29 |
Guru
Posts: 999
Karma: 19985
Join Date: Dec 2008
Location: Netherlands
Device: iRex DR1000S
|
I now added Part 3 in the original post, you have been too impatient ...
|
04-27-2009, 03:51 AM | #30 | |
Lord
Posts: 177
Karma: 328
Join Date: Feb 2009
Device: Q1 (on way out), PRS505, DR1000S (dead :<), TC1100 (10'' perfection!)
|
Quote:
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Note-taking: please help! | goldzim | Which one should I buy? | 9 | 06-03-2010 04:59 PM |
Note Taking? | thewriterkid | Which one should I buy? | 6 | 02-10-2010 10:05 PM |
Note Taking? | thewriterkid | Sony Reader | 3 | 02-10-2010 09:26 PM |
note taking | artemisblossom | Sony Reader | 9 | 08-27-2009 09:05 PM |
Note taking | jjtbsomhorst | iRex | 1 | 03-11-2009 10:05 AM |