dcer10 Posted October 24, 2006 Report Share Posted October 24, 2006 Hi,Since LCD screens dim with useage and hence have a limited life span I thought it would be good to have the option, even if turned off by default where after a given timeframe in the setup file the screen would have the power turned off {dont know if thats actually possible with the current core and OS??} and the next key press, knob turn etc would turn it back on but not send any data and the next input would be treated normally. This will prolong the life of all of our LCD screens by a lot meaning people wont have to take apart their probably fragile old midiboxes to swap a screen out in years to come. Maybe its not possible but its something which people who leave their gear on a lot would probably like to see.All the best,John Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 24, 2006 Report Share Posted October 24, 2006 Good idea.... PLED users take note :) Quote Link to comment Share on other sites More sharing options...
doc Posted October 24, 2006 Report Share Posted October 24, 2006 Hi,Maybe its not possible but its something which people who leave their gear on a lot would probably like to see.I'm pretty sure this is possible for someone with the skills to change this in MIOS ( so ... not for me ::) )You have to change the circuit a little bit so that a free port of the core (or a dout) via transistor can switch the power of the lcd on or off. The rest is programming a timer and a recognation for pressing a switch ....Funny feature: You also could switch on the display when receiving a midi event. Or you can change the color of the display by a special event ....As a workaround on this issue just wire a switch between the +5V VDD. Switch your display on if you like and switch it off if you don't use it ... ;DgreetsDoc Quote Link to comment Share on other sites More sharing options...
ilmenator Posted October 24, 2006 Report Share Posted October 24, 2006 ...and don't forget to call the Display_Init routine after switching it on again.Best regards, ilmenator Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 24, 2006 Report Share Posted October 24, 2006 I'm pretty sure you can send a command to put the display to sleep... Darnit now I have to read the datasheet again.Yay:The Datasheet says Display On/Off ControlD: The display is on when D is 1 and off when D is 0. When off, the display data remains in DDRAM,but can be displayed instantly by setting D to 1. Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 24, 2006 Author Report Share Posted October 24, 2006 Wow! Amazing that it seems possible, I am not capable of making the modifications myself, but if anyone ever does it please let me know, Quote Link to comment Share on other sites More sharing options...
stryd_one Posted October 24, 2006 Report Share Posted October 24, 2006 Shouldn't be too rough.. MIOS_LCD_Cmd can be used to send the command... You'll need a flag and a counter... This could be done at the OS or application level, the only tricky part is ensuring that you don't increase the load on the core checking for movements all the time...A thought - you might want it to keep running in case you don't touch anything when the device is running, eg if you hit play on the seq and walk off to play a synth. Quote Link to comment Share on other sites More sharing options...
mess Posted October 24, 2006 Report Share Posted October 24, 2006 Interesting thread,I've been thinking about some battery-powered MIOS_applicationsand turning off the display seems a step in the right directionI'm also thinking of using a mosfet to turn backlight on/off since this consumes a lot of power...back to the subject:*implementing the switch off if idle seems feasible:-implement an idle flag in app_flags-clear the flag in DIN_NotifyToggle, AIN_NotifyChange and ENC_NotifyChange (something has changed, not idle)-implement 16bit (int) counter in SR_Service_Finish, wich by default is called every mS clear the counter the counter if idle flag is 0, set flag again, turn on display if display was off if flag is set and the counter reached it's max value, turn off display, reset counterthe max counter value depends on the idle time before turning off the display,for idle time of 5 seconds: MAX_COUNTER_VAL = 5*1000 = 5000it's harder to describe this than to put into code, I will try to make a template applicationI think that the overhead for the counter will be OK, I can't test this right now though...* to turn on/off the display:-turn display on with cursorline:MIOS_LCD_Cmd(0x0E);-turn display on without cursorline:MIOS_LCD_Cmd(0x0C);-turn display off:MIOS_LCD_Cmd(0x08);Michaël Quote Link to comment Share on other sites More sharing options...
mess Posted October 24, 2006 Report Share Posted October 24, 2006 I've made a simple example, you can find it herehttp://webs.hogent.be/~032573mh/lcd_standby.zipcomments/suggestions are appreciated...Michaël*edit: if forgot to initialise the SRIO chain, this version actually works :) Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 24, 2006 Author Report Share Posted October 24, 2006 Wow that was quick, im going to download it and give it a go! Thanks!!! Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 24, 2006 Author Report Share Posted October 24, 2006 Hi Again mess, I loaded it up and it showed "Hello World" but the screen did not turn off. What amount of time is required to wait? I waited for about 5min but nothing happened. Let me know if you need more testing :}John Quote Link to comment Share on other sites More sharing options...
mess Posted October 24, 2006 Report Share Posted October 24, 2006 Damn, I couldn't test this on my own hardwareI will post the working code tomorrow after testing the code this time ::)the idle time is configured for 5seconds (see main.h)thanks for testing the code... Quote Link to comment Share on other sites More sharing options...
Artesia Posted October 24, 2006 Report Share Posted October 24, 2006 Hi,Generally the life of electrical components is proportional to the square root of the drive current/level.. or in that rough ball park. So simply halfing the drive level can extend the expected life by upto 10x.So, this leaves a number of things worth thinking about.. One.. edging off the lcd contrast & brightness from its max will invariably help if you dont need it.. And certainly in battery applications the full backlight power is simply not needed to enable good usability in bad lighting situations.Secondly turning off the display completely may prove frustrating & irritating when glancing over after a while to see what the unit was last doing... Maybe a better comprimise is to have the screen saver switch between two levels of contrast (& brightness maybe) by switching a resistor in and out of the appropriate circuit. A drive reduction of 4-8x max should still remain quite readable ..whilst hardly having any effect on screen life.However if the unit is left on for really long periods of time, maybe a complete idle mode could be implimented. which upon the midibox doing nothing whatsoever... it is permitted to completely turn off the screen.Also.. perceived brightness doubling on backlighting vastly increases current consumption. ..so trimming it back to all that is nessursary saves segnificant power & led life.Also another trick employed by some companys like roland, is to strobe the leds on and off very quickly ..50 to several hundred hertz. so that although they appear to be on constantly, they are not. ..this has two effects, it helps save on power & yet again on led life. Hope this proves to be useful input :) Quote Link to comment Share on other sites More sharing options...
tos Posted October 25, 2006 Report Share Posted October 25, 2006 Also another trick employed by some companys like roland, is to strobe the leds on and off very quickly ..50 to several hundred hertz. so that although they appear to be on constantly, they are not. ..this has two effects, it helps save on power & yet again on led life.Interesting.... Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 25, 2006 Author Report Share Posted October 25, 2006 Artesia,There all great suggestions. I think since different people would use it differently this option should have a place in the menu system so that people can set it to dim after 5min, turn off after 15min and be able to be turned back on with the first input, or to always be on. Maybe a midi message via sysex could trigger these behaviours too? The reason I mentioned the screen saver in the first place is that in my use of the seq so far I spend an amount of time making the sequence, and then walk over to the other side of the studio to tweak the synths etc it is running. If its a good pattern I may be over there for a while! In this situation, the screen is on with no need for maybe a few hours straight with no need. Im also more inclined to leave the power on for all of my gear rather than save things some times too, which leads to prolonged use of LCD's. One of my kurzweils is currently waiting on a backlight board swap over and maybe screen because I work like this. Its not an easy thing to get! Also older gear where the screens are getting dim are no fun to use. Im just thinking in advance ways not to have these problems in the future with my new MIOS gear :}If people do land up making suitable code that could be implemented we will need to try to co ordinate with TK for it to be included if it fits into a newer release of MIOS Im guessing? Is this possible with the current space constraints with the pic or maybe one to leave for the new pic?All the best,John Quote Link to comment Share on other sites More sharing options...
Lall Posted October 25, 2006 Report Share Posted October 25, 2006 Hi all,I would expect that the main problem of screens getting old and less bright is on the backlight side, isn't it?If that is so then using some IO to disable (or reduce) the powering of the backlight will be really necessary next to using this D flag that apparently is not linked with the backlight (at least that's not mentioned in the datasheet).Anyway, that's really a very good idea.Best regards,Lall Quote Link to comment Share on other sites More sharing options...
Artesia Posted October 25, 2006 Report Share Posted October 25, 2006 The backlight is hardware only..it is simply a led / light array of somesort with its power connectors provided sepperately from any other lcd control.also if you are crafty.. you can re-led'ify dead backlights :) Quote Link to comment Share on other sites More sharing options...
mess Posted October 25, 2006 Report Share Posted October 25, 2006 Small update on the example code:I forgot to initialise the DIN/DOUT chain so nothing happened at all...you can find the working code here: http://webs.hogent.be/~032573mh/lcd_standby.zipthe display switches of after 10 secondsso next problem: switching the backlightI'm going to use a MOSFET to controll the backlightaccording to the datasheet my backlight draws 240mAnow I need to find the right mosfet for this job...would a BS170 do the job? Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 26, 2006 Author Report Share Posted October 26, 2006 Hiya,Just downloaded the code and will try it later today when my seq is not in bits all over the workshop :}Also I was wondering, if you can red LED a display, what other repairs if any are possible? I have 4 or 5 40x2 character displays I wanted to use for MIOS which arrived DOA or got that way after very little use. Whats the chances of their repair? Mostly the backlight powers up but either the black blocks appear and nothig else, or the blocks have lines in them, or nothing but the backlight comes on. Not a big deal but if anyone knows how to reapir them maybe I dont need to order my next 4 or 5 :}Maybe if other parts are required to do this task with the screen saver it would be worth making a little LCD utility board which has these parts but also has a "break out" for easy twin LCD connections to avoid a lot of messy wires which mine currently has :} I noticed that the 40x2's never seem to be pin to pin with the core anyway. Perhaps the trim pots could be moved onto that board too for easier access?All the best,John Quote Link to comment Share on other sites More sharing options...
Artesia Posted October 26, 2006 Report Share Posted October 26, 2006 hi,Lall.. curiously enough ...aside of my own expectations ...lcds themselfs do actually fade ..i have a roland jd990 here which has lost alot its contrast over time. A service engineer who i have known for sometime has seen many synths through his door which needed replacing as the screen got too faint to read ..even with the assistance of bright sunlight.Dcer10 funnily enough many lcd parts are pin for pin compatable. i have changed over the lcd elements between a number of screens.. for reasons of broken lcds or defective driver chips. Many if not all lcds of a standard configuration seem to have thieir connections in the same exact places. As for backlights ..these can be replaced easily enough. as for led colour ..sucess will vary ..due to some screens having tinted filters/polarizers ..limiting the useful leds. ..and when it comes to the standard clear black text on white foil.. they only seem to display well with green. ..tho may work ok with blue. red might not be so effective ...although your milage will vary. Just give it a try and see what actually works. if it doesnt ..just switch it back :)also watch out ..some screens use surface mount leds behind a custom diffuser ...might prove difficult to augment ..can but try. Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 26, 2006 Author Report Share Posted October 26, 2006 Hiya Mess,I tried the updated code and it did remove the text from the screen, but obviously did not turn off the backlight. Looking forward to seeing this come to be, cool to see such quick progress!How would the multiple displays be handled?All the best,John Quote Link to comment Share on other sites More sharing options...
mess Posted October 26, 2006 Report Share Posted October 26, 2006 Maybe we could switch of the backlight by the transistor on the core board:if we replace this: (sorry for crappy ascii schem, see core schematic)[tt] ^ +5v ^ + 5v | | -------| |+ | | | |BL | > 10K | _ | < | -------| __ | \ | | \ | |------\/\/\-----\/\/\---- v | _\_ | 1K 10K _|_[tt]with this:[/tt] ^ +5v | -------|+ | | | BL | > 10K- | < -------| __ \ | | \ |------\/\/\-----\/\/\----- J14 of core v | _\_ | 1K 10K _|_[/tt]not shure if this will work...I will try this tomorrow when I have access to my midiboxI never used two displays for a midibox project, how are they connected? Quote Link to comment Share on other sites More sharing options...
moebius Posted October 26, 2006 Report Share Posted October 26, 2006 Maybe we could switch of the backlight by the transistor on the core board:if we replace this: (sorry for crappy ascii schem, see core schematic)The schem didn't look that bad and I can't see why it wouldn't work. (Do some PWM and You could also fade in/out the backlight *grin*)I never used two displays for a midibox project, how are they connected?Hmm.. Guess which "MB Hardware Platform" page at uCApps.de will answer this question...Moebius Quote Link to comment Share on other sites More sharing options...
mess Posted October 26, 2006 Report Share Posted October 26, 2006 Small code update: after 10 seconds the display is disabled and the backlight turns off (J14 goes low):lcd_standbySince both displays are connected to the same backlightterminalno additional changes should be required for two displays...I will document the modifications to the core as soon as I can verify themMichaël*edit: link didn't work Quote Link to comment Share on other sites More sharing options...
dcer10 Posted October 27, 2006 Author Report Share Posted October 27, 2006 Hiya,Tried to download the update but I got a 403 access forbidden.Thanks,John Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.