From: Scott F. <sc...@st...> - 2009-05-15 14:44:57
|
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. Anyhow. 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. 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. This also adds temperature and fan plugins for the Crystalfontz driver (most of the work was already there). Here's a layout with a timeout. Layout Default { Row1 { Col1 'OS' } Row2 { Col1 'Temperature' } Row3 { Col1 'Wlan0' Col10 'Wave' Col11 'Wlan0Bar' } Row4 { Col1 'Load' Col11 'LoadBar' } Timeout 1000 } Set Timeout to 0 to keep the layout from transitioning normally. This is to allow people to program buttons to do the transitioning. And here's how to index your layouts. There should always be a Layout0. Layout0 'Default' Layout1 'TestLayer' Layout2 'L20x2' Layout3 'Test2' Layout4 'TestGPO' 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. |
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-15 17:53:13
Attachments:
lcd4linux.diff
|
On Fri, May 15, 2009 at 10:24 AM, Michael Reinelt <mi...@re...> 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. Ok then. It's ugly on the archive at any rate. > >> 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... Yes, I pulled a fresh copy before the diff. > >> 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. Ok, the change I made simply looks for a Layout first, and Layout0 only if that is not found. So if someone has Layout0-Layout10 but also has a Layout, no matter what they won't transition. > >> 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). 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 } > > 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. > Sounds great. Being able to make use out of my LCD's buttons would make me happy. There's a new diff attached. |
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: 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 |