From: Michael R. <mi...@re...> - 2009-05-15 15:49:04
|
Hi Scott, > Ok, sorry for sending this twice. I don't know if the first one went > through or not. It's all garbled on the archive. Well, as far as I can see, your first mail did make it perfectly to the list. > I know I know, people are going "Not another one" but it ain't so. I > got good news! I have a patch file here that enables layout > transitions. Well, nothing fancy like, but the layouts do change. Well, this is indeed good news! > Each layout has its own timeout, which defaults to 5000. Now I better > warn people, I don't normally program C, so it's likely I missed some > of the memory management. I think I covered everything, but don't hurt > me too bad if something blows up or worse. Reinforce your LCD's > mounting brackets. >From a quick look over your patch, it looks fine, except a few things... > This also adds temperature and fan plugins for the Crystalfontz driver > (most of the work was already there). I'd like to add this as a seperate patch. I hope you did create the diff against current trunk of svn, otherwise applying will be a hard job... > And here's how to index your layouts. There should always be a Layout0. This one I do not like. your patch would break every existing configuration out there. > One last thing. In order to get things so your screen is cleared > entirely between transitions, you'll have to add a clear callback to > your driver. I only added it to the Crystalfontz driver. This is the second point I don't like: I often thought about a clear() call in the display driver, but in fact it should be not necessary. If you clear the framebuffer, this should be sufficient. And it should speed up things a lot (especially on graphic displays). anyway, I think we should apply your patch, BUT: I'd really like to release 0.11 before. Well, I planned to do the release between cristmas and new year's day 2008 :-( Unfortunately I've been too busy But maybe this could be the right motivation to do the release. @all, especially michu: what do you think? Is the current svn code stable enough? If yes, I would apply the temp and fan extensions, and release 0.11, and afterwards apply your patch. but you should really find a way so lcd4linux runs without a Layout0 (but with a single "Layout") One last point: I have been thinking about a similar solution to this problem. Maybe you patch will be integrated into this concept: I will call it "screens" The trick is that there will be several widgets (buttons, gpo's and stuff) that may be shared by more than one layout, and other widgets (text, bars, timers, buttons) that will be different for each layout. the structure will be like the following: Layout 'Default' { screen 1 { row1.col1 'CPU' row2.col1 'Disk' } screen 2 { row1.col1 'LAN' row2.col1 'WAN' } GPO1 'Test_GPO' } So there will be only one active layout, probably containing more than one screen, and there will be a plugin which allows you to change screens (scroll or directly access one screen), and you can bind this call to a timer, a button, or any other event. bye, Michael -- Michael Reinelt <mi...@re...> http://home.pages.at/reinelt GPG-Key 0xDF13BA50 ICQ #288386781 |
From: Scott F. <sc...@st...> - 2009-05-17 07:24:18
Attachments:
lcd4linux.diff
|
> Ok, good point. I went the route you suggested by clearing the FB, and > it brought up another intrusive point about the patch. It defaulted > all layouts to a timeout. That causes the framebuffer to be cleared, > interrupting the timing, and causing a noticeable change in the > display. I defaulted the timeout to 0 (no timeout), but that can be > overridden in the Display section. > > Display CF635 { > Icons 2 > Driver 'Crystalfontz' > Model '635' > Port '/dev/ttyUSB1' > Speed 115200 > Contrast 120 > Backlight 100 > DefaultTimeout 5000 > } > >> I found that not all drivers use a text framebuffer. I made that assumption and didn't check to see if the text framebuffer existed before trying to clear it. It caused a crash of course. Attached is the updated patch that checks like it should and it also clears any graphic displays. I pulled a fresh copy off the SVN repo for it. |
From: Scott F. <sc...@st...> - 2009-05-17 09:25:15
|
On Sun, May 17, 2009 at 2:24 AM, Scott Flynn <sc...@st...> wrote: >> Ok, good point. I went the route you suggested by clearing the FB, and >> it brought up another intrusive point about the patch. It defaulted >> all layouts to a timeout. That causes the framebuffer to be cleared, >> interrupting the timing, and causing a noticeable change in the >> display. I defaulted the timeout to 0 (no timeout), but that can be >> overridden in the Display section. >> >> Display CF635 { >> Icons 2 >> Driver 'Crystalfontz' >> Model '635' >> Port '/dev/ttyUSB1' >> Speed 115200 >> Contrast 120 >> Backlight 100 >> DefaultTimeout 5000 >> } >> >>> > > I found that not all drivers use a text framebuffer. I made that > assumption and didn't check to see if the text framebuffer existed > before trying to clear it. It caused a crash of course. Attached is > the updated patch that checks like it should and it also clears any > graphic displays. I pulled a fresh copy off the SVN repo for it. > Oops. Sorry, I shouldn't be programming C. Or at least I should be reading more of your code (and more C documentation) before writing anything. ;) Make that: void drv_generic_text_clear(void) { if(LayoutFB == NULL) { return; } memset(LayoutFB, ' ', LROWS * LCOLS * sizeof(*LayoutFB)); drv_generic_text_blit(0, 0, LROWS, LCOLS); } |
From: Marcus B. <mar...@in...> - 2009-05-18 00:33:26
|
Hi, Any chance of adding my layer patch prior to 0.11? (Ref: 20090402) Screens _and_ layers together might be interesting to play with ;) Marcus. On Fri, 2009-05-15 at 17:24 +0200, Michael Reinelt wrote: > Hi Scott, > > > Ok, sorry for sending this twice. I don't know if the first one went > > through or not. It's all garbled on the archive. > > Well, as far as I can see, your first mail did make it perfectly to the list. > > > I know I know, people are going "Not another one" but it ain't so. I > > got good news! I have a patch file here that enables layout > > transitions. Well, nothing fancy like, but the layouts do change. > Well, this is indeed good news! > > > Each layout has its own timeout, which defaults to 5000. Now I better > > warn people, I don't normally program C, so it's likely I missed some > > of the memory management. I think I covered everything, but don't hurt > > me too bad if something blows up or worse. Reinforce your LCD's > > mounting brackets. > >From a quick look over your patch, it looks fine, except a few things... > > > This also adds temperature and fan plugins for the Crystalfontz driver > > (most of the work was already there). > I'd like to add this as a seperate patch. > > I hope you did create the diff against current trunk of svn, otherwise applying will be a hard job... > > > And here's how to index your layouts. There should always be a Layout0. > This one I do not like. your patch would break every existing configuration out there. > > > One last thing. In order to get things so your screen is cleared > > entirely between transitions, you'll have to add a clear callback to > > your driver. I only added it to the Crystalfontz driver. > This is the second point I don't like: I often thought about a clear() call in the display driver, but in fact it should > be not necessary. If you clear the framebuffer, this should be sufficient. And it should speed up things a lot > (especially on graphic displays). > > anyway, I think we should apply your patch, BUT: I'd really like to release 0.11 before. Well, I planned to do the > release between cristmas and new year's day 2008 :-( Unfortunately I've been too busy > > But maybe this could be the right motivation to do the release. > > @all, especially michu: what do you think? Is the current svn code stable enough? > > If yes, I would apply the temp and fan extensions, and release 0.11, and afterwards apply your patch. but you should > really find a way so lcd4linux runs without a Layout0 (but with a single "Layout") > > > One last point: I have been thinking about a similar solution to this problem. Maybe you patch will be integrated into > this concept: I will call it "screens" > > The trick is that there will be several widgets (buttons, gpo's and stuff) that may be shared by more than one layout, > and other widgets (text, bars, timers, buttons) that will be different for each layout. > > the structure will be like the following: > > Layout 'Default' { > screen 1 { > row1.col1 'CPU' > row2.col1 'Disk' > } > screen 2 { > row1.col1 'LAN' > row2.col1 'WAN' > } > GPO1 'Test_GPO' > } > > So there will be only one active layout, probably containing more than one screen, and there will be a plugin which > allows you to change screens (scroll or directly access one screen), and you can bind this call to a timer, a button, or > any other event. > > > > bye, Michael > > |
From: Michael R. <mi...@re...> - 2009-05-19 10:23:44
|
Hi Marcus, > Any chance of adding my layer patch prior to 0.11? (Ref: 20090402) > Screens _and_ layers together might be interesting to play with ;) Sorry, I missed that one. I'll take care of that. bye, Michael -- Michael Reinelt <mi...@re...> http://home.pages.at/reinelt GPG-Key 0xDF13BA50 ICQ #288386781 |
From: Scott F. <sc...@st...> - 2009-05-18 03:24:07
|
You know, Michael, you asked about SVN's state as far as if it was release ready or not. I can't run it in the background. I get the following: May 17 22:20:03 localhost LCD4Linux[25367]: mkstemp(/var/run/lcd4linux.pid.8qKs4S) failed: Permission denied May 17 22:20:03 localhost LCD4Linux[25367]: lcd4linux already running as process -1 It runs fine in the foreground. On Sun, May 17, 2009 at 7:13 PM, Marcus Brown <mar...@in... > wrote: > Hi, > > Any chance of adding my layer patch prior to 0.11? (Ref: 20090402) > Screens _and_ layers together might be interesting to play with ;) > > Marcus. > > > On Fri, 2009-05-15 at 17:24 +0200, Michael Reinelt wrote: > > Hi Scott, > > > > > Ok, sorry for sending this twice. I don't know if the first one went > > > through or not. It's all garbled on the archive. > > > > Well, as far as I can see, your first mail did make it perfectly to the > list. > > > > > I know I know, people are going "Not another one" but it ain't so. I > > > got good news! I have a patch file here that enables layout > > > transitions. Well, nothing fancy like, but the layouts do change. > > Well, this is indeed good news! > > > > > Each layout has its own timeout, which defaults to 5000. Now I better > > > warn people, I don't normally program C, so it's likely I missed some > > > of the memory management. I think I covered everything, but don't hurt > > > me too bad if something blows up or worse. Reinforce your LCD's > > > mounting brackets. > > >From a quick look over your patch, it looks fine, except a few things... > > > > > This also adds temperature and fan plugins for the Crystalfontz driver > > > (most of the work was already there). > > I'd like to add this as a seperate patch. > > > > I hope you did create the diff against current trunk of svn, otherwise > applying will be a hard job... > > > > > And here's how to index your layouts. There should always be a Layout0. > > This one I do not like. your patch would break every existing > configuration out there. > > > > > One last thing. In order to get things so your screen is cleared > > > entirely between transitions, you'll have to add a clear callback to > > > your driver. I only added it to the Crystalfontz driver. > > This is the second point I don't like: I often thought about a clear() > call in the display driver, but in fact it should > > be not necessary. If you clear the framebuffer, this should be > sufficient. And it should speed up things a lot > > (especially on graphic displays). > > > > anyway, I think we should apply your patch, BUT: I'd really like to > release 0.11 before. Well, I planned to do the > > release between cristmas and new year's day 2008 :-( Unfortunately I've > been too busy > > > > But maybe this could be the right motivation to do the release. > > > > @all, especially michu: what do you think? Is the current svn code stable > enough? > > > > If yes, I would apply the temp and fan extensions, and release 0.11, and > afterwards apply your patch. but you should > > really find a way so lcd4linux runs without a Layout0 (but with a single > "Layout") > > > > > > One last point: I have been thinking about a similar solution to this > problem. Maybe you patch will be integrated into > > this concept: I will call it "screens" > > > > The trick is that there will be several widgets (buttons, gpo's and > stuff) that may be shared by more than one layout, > > and other widgets (text, bars, timers, buttons) that will be different > for each layout. > > > > the structure will be like the following: > > > > Layout 'Default' { > > screen 1 { > > row1.col1 'CPU' > > row2.col1 'Disk' > > } > > screen 2 { > > row1.col1 'LAN' > > row2.col1 'WAN' > > } > > GPO1 'Test_GPO' > > } > > > > So there will be only one active layout, probably containing more than > one screen, and there will be a plugin which > > allows you to change screens (scroll or directly access one screen), and > you can bind this call to a timer, a button, or > > any other event. > > > > > > > > bye, Michael > > > > > > |
From: Michael R. <mi...@re...> - 2009-05-19 10:59:34
|
Hi Scott, > You know, Michael, you asked about SVN's state as far as if it was > release ready or not. I can't run it in the background. I get the following: > May 17 22:20:03 localhost LCD4Linux[25367]: > mkstemp(/var/run/lcd4linux.pid.8qKs4S) failed: Permission denied > May 17 22:20:03 localhost LCD4Linux[25367]: lcd4linux already running as > process -1 > > It runs fine in the foreground. Strange. looks like a permission issue. did you set a setuid bit or something? what are the permissions on /var/run? bye, Michael -- Michael Reinelt <mi...@re...> http://home.pages.at/reinelt GPG-Key 0xDF13BA50 ICQ #288386781 |