-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Somebody in the thread at some point said:
I cc'd Will who can be interested in this. The context is that we figure by suspending the CPU and turning off the LCM during a call, we can get a significant increase in talk time, maybe 20 - 30%. >> One way or another moving the phone from your ear to where you can see >> the display to change states (or even see the battery state or call >> duration or buttons for DTMF or volume) is a "gesture" we can detect and >> react to by waking the CPU. > > Yep, waking isn't the problem, like you say, by detecting "gesture". It still needs thinking about from the various angles. I guess if you need to use the applications you can just touch the touchscreen to unsuspend at any time. When you want to end a call: Phone-on-ear: gesture of taking it from your ear should wake it (which is good because it starts to wake before you have it in front of your face), if it falsely wakes it can time out and go back to sleep. Headset: maybe the current HOLD button or similar on headset should wake and end the call in one step so you don't have to fumble around finding the phone Handsfree: One of the physical buttons could do it, or if that is too much overload on button semantics and we don't want a dedicated hangup button, touchscreen wake and hang up using touchscreen. Since we consider the MPU managing touchscreen, it can even think about "touchscreen gestures" while the CPU is down, ie, corner - corner diagonal finger movement = wake + hangup in one step during CPU and LCM off. > The point is when to switch off the display. There's no way to relyably > detect "on ear" by using G-meters. > Anyway this thread is about things we need in GTA03+. Obviously a proximity > detector (like in some nokia phone) to detect "on ear" is very useful. IR > refektion, capacitive, or ultrasonic type comes to mind. Probably IR is best, > to distinguish "on ear" from approaching hand when pressing a key. > On nokia (also IR, forgot the model) this was used to switch off freehand, > not > to blow your ear, IIRC. I take your point about it but a lot of people will use the headset thing and any work dedicated to ears will not always give information. We also need to take care about people using it lying down or changing between sitting, walking etc, so absolute G sensing isn't enough either. Handsfree mode also won't give this information at all if it is on a car sunshade or whatever. But much simpler we already know logically if we made a call or we are answering a call, and can infer that if we are in that state and we transmitted audio for a little while, 99% of the time we are not going to be using the LCM or CPU again until we want to end the call. So we can simply sleep the CPU and LCM shortly after a call starts and leave it like that until one of the call end scenarios above. > A simple echo-suppression by inverse leveling of speaker and mic (adaptive > half duplex, used by vast majority of cheap handsfree phones) is easily done > with 1MHz CPU clock (or MPU, if it may access wolfson mixer). Yes I prefer this half-duplex solution from the MPU if we don't find some cheap integrated acoustic echo canceller solution and to definitely ask nothing of CPU and LCM as part of any call (at least by default). - -Andy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iD8DBQFH5O9mOjLpvpq7dMoRApPgAJ0S0Nzo7Da2IF1RM0I6DydcEpcy0gCgjwP8 oBPkygioTMtSGY40/opkTos= =ZS0M -----END PGP SIGNATURE-----
