- Status Closed
- Percent Complete
- Task Type Patches
- Category LCD
- Assigned To No-one
- Operating System Sansa e200
- Severity Low
- Priority Very Low
- Reported Version Daily build (which?)
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Opened by PhilippeLatulippe - 2009-02-06
Last edited by bluebrother - 2011-06-05
FS#9874 - sansa - Make lcd_sleep work
This patch allows “Sleep (After Backlight Off)” to work on sansa e200 targets. A change made in revision 13250, during the early days of Sansa development, prevented it from working by automatically turning off the LCD controller in conjunction with the backlight (to save power.)
This patch simply removes the line that turns the LCD controller off, and lets the newer LCD sleep timer to do its job. I’ve kept the call to turn it back on just in case. Wouldn’t want to accidentally keep the LCD controller turned off. It shouldn’t have any negative effect, as lcd_enable(true) immediately returns if the LCD is already powered.
I tested it on my sansa e250, but a simple change like this should work on all Sansa e200 & c200
2011-06-05 09:35
Reason for closing: Out of Date
Additional comments about closing: Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407
"Sleep (After Backlight Off)"
works on the e200 these days.
Loading...
Available keyboard shortcuts
- Alt + ⇧ Shift + l Login Dialog / Logout
- Alt + ⇧ Shift + a Add new task
- Alt + ⇧ Shift + m My searches
- Alt + ⇧ Shift + t focus taskid search
Tasklist
- o open selected task
- j move cursor down
- k move cursor up
Task Details
- n Next task
- p Previous task
- Alt + ⇧ Shift + e ↵ Enter Edit this task
- Alt + ⇧ Shift + w watch task
- Alt + ⇧ Shift + y Close Task
Task Editing
- Alt + ⇧ Shift + s save task
Just to be clear, you mean that presently we turn off the back light but not the LCD controller? Do you know how much this patch improves battery life?
The opposite actually. Currently when the backlight is turned off, so is the LCD controller. However, this is done in _backlight_off(), which shouldn’t be turning off the LCD controller, as it is already implemented in a non-target-specific part of the code.
Because backlight-c200_e200.c always turns off the LCD controller, it breaks the ability for the user to chose how long to wait before turning off the LCD controller.
So:
1. User sets backlight to turn off after 5 seconds of inactivity.
2. User sets LCD controller to sleep 5 seconds after backlight turns off.
5 seconds later:
4. The (non-target-specific) countdown timer calls the (target-specific) method to turn off the backlight.
5. On Sansa, the method to turn off the backlight also turns off the LCD controller.
Both the backlight and LCD are turned off.
5 seconds later:
6. The LCD sleep timer attempts to turn off the LCD controller. Nothing actually happens, as it has already been turned off previously!
The reason I actually care about this is because keeping the LCD on after the backlight shuts off allows me to read the screen when I’m outside and the sun illuminates the screen.
See some of the discussion in
FS#9890. There it was decided that HAVE_LCD_ENABLE shouldn’t be defined if the LCD isn’t turned off with the backlight.Is the Sansa LCD usable without the backlight?
Yes, it’s usable in direct sunlight, which is quite useful for me. I’m not completely certain what
FS#9890would entail for my patch, as I only read part of it (the parts relevant to me are padded by a sea of battery benchmarks and unrelated problems), but I do beleive my patch is still valid. I don’t think the LCD controller should be shutdown in the target-specific _backlight_off(), as it is already done in non-target-specific code (even if takingFS#9890into consideration), and also renders the “Sleep (After Backlight Off)” option useless.