PINE64
How to turn off and wake up display? - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PINE A64(+) (https://forum.pine64.org/forumdisplay.php?fid=4)
+--- Forum: Android on Pine A64(+) (https://forum.pine64.org/forumdisplay.php?fid=5)
+--- Thread: How to turn off and wake up display? (/showthread.php?tid=185)

Pages: 1 2


RE: How to turn off and wake up display? - JulianM - 01-24-2016

Hi tllim,

I'm very interested in it!

Best regards
Julian


RE: How to turn off and wake up display? - tllim - 01-25-2016

(01-24-2016, 11:26 PM)JulianM Wrote: Hi tllim,

I'm very interested in it!

Best regards
Julian

Noted


RE: How to turn off and wake up display? - patrickhwood - 01-28-2016

(01-24-2016, 01:39 PM)JulianM Wrote: Hi Zoidiano0,

there are some apps in Google Play Store to get a "Knock Off" feature, which means you can turn off the screen by double-tap on it.
That's absolutely no problem and don't need any extra processor or battery usage.
This feature has also be implemented into CyanogenMod (since version 11? I don't know exactly).

The main "problem" in your topic is "Knock On".
The device needs an extra processor for this, if the battery should not drain.

But please come back to the main topic.
Feel free to contact me, if you have any questions about Android and Android-running devices Wink

Best regards
Julian

Most capacitive touch panels have an I2C interface and don't require any CPU resources other than an active IRQ to monitor touch events.  It's possible to put the CPU to sleep and leave the touch panel active with the touch panel's IRQ set to wake up the CPU on touch activity by calling enable_irq_wake().

The Solomon Systech driver here: https://github.com/patrickhwood/linux/blob/kk4.4.2_1.0.0-ga-uib/drivers/input/touchscreen/ssd2543.c sets up the touch panel to wake up the android system on a touch interrupt.


RE: How to turn off and wake up display? - tllim - 01-28-2016

(01-28-2016, 09:49 AM)patrickhwood Wrote:
(01-24-2016, 01:39 PM)JulianM Wrote: Hi Zoidiano0,

there are some apps in Google Play Store to get a "Knock Off" feature, which means you can turn off the screen by double-tap on it.
That's absolutely no problem and don't need any extra processor or battery usage.
This feature has also be implemented into CyanogenMod (since version 11? I don't know exactly).

The main "problem" in your topic is "Knock On".
The device needs an extra processor for this, if the battery should not drain.

But please come back to the main topic.
Feel free to contact me, if you have any questions about Android and Android-running devices Wink

Best regards
Julian

Most capacitive touch panels have an I2C interface and don't require any CPU resources other than an active IRQ to monitor touch events.  It's possible to put the CPU to sleep and leave the touch panel active with the touch panel's IRQ set to wake up the CPU on touch activity by calling enable_irq_wake().

The Solomon Systech driver here: https://github.com/patrickhwood/linux/blob/kk4.4.2_1.0.0-ga-uib/drivers/input/touchscreen/ssd2543.c sets up the touch panel to wake up the android system on a touch interrupt.

Bingo, the TP (Touch Panel) port is a dedicated I2C with interrupt circuit.


RE: How to turn off and wake up display? - JulianM - 01-28-2016

That sounds great!
Will this feature be implemented into Android?


RE: How to turn off and wake up display? - patrickhwood - 01-29-2016

(01-28-2016, 11:52 PM)JulianM Wrote: That sounds great!
Will this feature be implemented into Android?

Which feature? Wake on touch? Depends on the touch panel that's used, whether the driver source is available, whether the panel's datasheet is available, and whether anyone wants to implement it.

Also, even though the cpu is sleeping, the touch panel's controller continues to run. The Solomon Systech controller drew about 10ma when set to a slow scan rate of 100ms.


RE: How to turn off and wake up display? - Zoidiano0 - 01-29-2016

i found this code in the /liche/linux3.10/drivers/input/touchscreen/tsc2007.c file in the file liche_A64_5.1_V1

static int tsc2007_open(struct input_dev *input_dev)
{
struct tsc2007 *ts = input_get_drvdata(input_dev);
int err;

ts->stopped = false;
mb();

enable_irq(ts->irq);

/* Prepare for touch readings - power down ADC and enable PENIRQ */
err = tsc2007_xfer(ts, PWRDOWN);
if (err < 0) {
tsc2007_stop(ts);
return err;
}

return 0;
}



and this code in the file provided by @patrickhwood


static void ssd2543_ts_early_suspend(struct early_suspend *early_s)
{
unsigned char buf[4]={0};
int i;
struct ssl_ts_priv *ts = container_of(early_s, struct ssl_ts_priv, early_suspend);

dev_info(&ts->client->dev, "%s\n", __func__);
ts->suspended = true;

// write Suspend commands to touch IIC
for (i = 0; i < sizeof(Suspend)/sizeof(Suspend[0]); i++)
{
buf[0] = Suspend[i].Data1;
buf[1] = Suspend[i].Data2;
ssd_i2c_write(ts->client, Suspend[i].Reg, buf, Suspend[i].No);
}

// enable system wakeup on the touch panel's IRQ
enable_irq_wake(ts->irq);
}

i think that its a way to implement this on our board Big Grin

the good think is that, the hole android source is available Big Grin |
link: http://www.cnx-software.com/2015/12/10/allwinner-a64-android-5-1-sdk-and-linux-source-code/


RE: How to turn off and wake up display? - SkimMilk - 02-02-2016

(01-24-2016, 05:23 PM)tllim Wrote:
(01-24-2016, 02:43 PM)T_ech Wrote: Hey tllim, when is this power and reset button circuit on the store here, or do I just buy it online somewhere, if I do buy it online somewhere, do you have a specific brand or exact product you would recommend?

Just a simple two wire push button. Very easy to DIY. We can sell them if somebody interested.

Hi tllim, how about adding them as an add-on on Backerkit so that we can get it free for those who want it from the stretch goals?


RE: How to turn off and wake up display? - tllim - 02-02-2016

(02-02-2016, 09:32 PM)SkimMilk Wrote:
(01-24-2016, 05:23 PM)tllim Wrote:
(01-24-2016, 02:43 PM)T_ech Wrote: Hey tllim, when is this power and reset button circuit on the store here, or do I just buy it online somewhere, if I do buy it online somewhere, do you have a specific brand or exact product you would recommend?

Just a simple two wire push button. Very easy to DIY. We can sell them if somebody interested.

Hi tllim, how about adding them as an add-on on Backerkit so that we can get it free for those who want it from the stretch goals?

We already order one batch of push button and will include into all KS pledge as stretch goal :-) Hopefully the push button will arrive on time when we start deploy out the KS shipment.


RE: How to turn off and wake up display? - SkimMilk - 02-02-2016

(02-02-2016, 10:36 PM)tllim Wrote:
(02-02-2016, 09:32 PM)SkimMilk Wrote:
(01-24-2016, 05:23 PM)tllim Wrote:
(01-24-2016, 02:43 PM)T_ech Wrote: Hey tllim, when is this power and reset button circuit on the store here, or do I just buy it online somewhere, if I do buy it online somewhere, do you have a specific brand or exact product you would recommend?

Just a simple two wire push button. Very easy to DIY. We can sell them if somebody interested.

Hi tllim, how about adding them as an add-on on Backerkit so that we can get it free for those who want it from the stretch goals?

We already order one batch of push button and will include into all KS pledge as stretch goal :-) Hopefully the push button will arrive on time when we start deploy out the KS shipment.

That's great! I was still hunting the button u posted in the other thread.
Hope we'll be able to get the buttons! (I think I will, since mine's the March batch)

And I think it'll be good if this information is posted somewhere (maybe in the next ks update?)