Jump to content

Advent Vega kernel source code now available!


Guest PaulOBrien

Recommended Posts

Hi Eduardo,

sorry, I've been on holidays, but now I'm back.

According to my investigation, the problem with Gtalk is that Gtalk is very "sensitive" to operations with native window, so:

- do not iterate through all color formats, just set the YV12 format, otherwise the Gtalk will not be working correctly (preview will be empty or with messy colors...)

- do not use the win.get()->perform(...) call to set the windows geometry, it causes that Gtalk will crash.. use the ANativeWindow_setBuffersGeometry(), it works fine...

- do not use the win.get()-->perform(...) call to set the cropping area, buffers count, transform, etc.. otherwise the GTalk will crash...

Here are my camera sources, please look at them (especially at the setPreviewWindow method)...

Regards,

Kamil

Thanks a lot, Kamil... I really hope this will make possible to get a merged libcamera version that works with all apps out there ... I really want to start closing issues regarding this ROM. I already habe USB slave/host mode working and dynamic switching (it was one of the biggest points left to be solved) ... I plan to write a simple android app to trigger touchscreen recalibration, and also to switch USB modes... And, well, try to close the remaining kernel related issues... as soon as possible ;)

Regards,

Eduardo

Link to comment
Share on other sites

Well, so you know where i am:

I still have to do some testing, but:

-USB host/peripheral dynamic switch at the kernel level is working. (echo -e 1\n >/sys/usbbus/host_mode) to go to host mode, or (echo -e 0\n >/sys/usbbus/host_mode) to return to peripheral mode (dont forget to enable TEGRA_OTG when compiling the kernel!)

-Device does not suspend when an active connection in USB peripheral mode is done. So, no more interrupted transfers

-Change permissions of power management/host_mode/calibration so it can be triggered by non root users. Will be required for the Touchscreen calibraation utility

-Added a file to trigger touchscreen calibration (echo -e 1\n >/sys/touchscreen/calibrate) to trigger touchscreen self calibration

-Wrote an Android App that triggers touchscreen self calibration, and also allows dynamic USB mode switching (app is called ShuttleTools, and is not tested at all)

-Patched a native HC3.2 accelerometer library so it reads from our accelerometer driver. Accelerometer driver also adjusted to properly export acceleration values in the right scale. Tested. Works beautifully. No more lags!

-Redone power management of wlan/bluetooth to avoid strange crashes when one of the parts was disabled and the other was not... Not tested, but hope it helps!

Well, there is still some things to test, and i have to merge Kamil libcamera with mine, so we can finally get as a result the most compatible libcamera possible. And also, thanks to the kernel upgrade, we will be able to control the camera power and turn it off when not used, saving valuable battery power...

Probably i am still missing some things... Hope by the end of this week to have ironed out all of them

Regards,

Eduardo

11.2.13-USB.rar

accelerometer.rar

ShuttleTools.rar

Edited by ejtagle
Link to comment
Share on other sites

Well, so you know where i am:

I still have to do some testing, but:

-USB host/peripheral dynamic switch at the kernel level is working. (echo -e 1\n >/sys/usbbus/host_mode) to go to host mode, or (echo -e 0\n >/sys/usbbus/host_mode) to return to peripheral mode (dont forget to enable TEGRA_OTG when compiling the kernel!)

-Device does not suspend when an active connection in USB peripheral mode is done. So, no more interrupted transfers

-Change permissions of power management/host_mode/calibration so it can be triggered by non root users. Will be required for the Touchscreen calibraation utility

-Added a file to trigger touchscreen calibration (echo -e 1\n >/sys/touchscreen/calibrate) to trigger touchscreen self calibration

-Wrote an Android App that triggers touchscreen self calibration, and also allows dynamic USB mode switching (app is called ShuttleTools, and is not tested at all)

-Patched a native HC3.2 accelerometer library so it reads from our accelerometer driver. Accelerometer driver also adjusted to properly export acceleration values in the right scale. Tested. Works beautifully. No more lags!

-Redone power management of wlan/bluetooth to avoid strange crashes when one of the parts was disabled and the other was not... Not tested, but hope it helps!

Well, there is still some things to test, and i have to merge Kamil libcamera with mine, so we can finally get as a result the most compatible libcamera possible. And also, thanks to the kernel upgrade, we will be able to control the camera power and turn it off when not used, saving valuable battery power...

Probably i am still missing some things... Hope by the end of this week to have ironed out all of them

Regards,

Eduardo

Hi Eduardo,

here is my first report. Unfortunately my Pov freezes after a few seconds after I plug in the usb cable.


9/20/2011 11:23:31 [INFORMATION] tegra-otg tegra-otg: SUSPEND --> PERIPHERAL

09/20/2011 11:23:31 [INFORMATION] tegra-otg tegra-otg: host: (null), gadget: dab43800

09/20/2011 11:23:31 [ERROR] BUG: scheduling while atomic: ndroid.systemui/193/0x00010002

09/20/2011 11:23:31 [WARNING] Modules linked in: ar6000

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] Pid: 193, comm:  	ndroid.systemui

09/20/2011 11:23:31 [WARNING] CPU: 0	Not tainted  (2.6.36.3VegaComb-Release-by-TeamNewCo+ #10)

09/20/2011 11:23:31 [WARNING] PC is at 0xac829f48

09/20/2011 11:23:31 [WARNING] LR is at 0xac7d4c6c

09/20/2011 11:23:31 [WARNING] pc : [<ac829f48>]	lr : [<ac7d4c6c>]	psr: 80003830

09/20/2011 11:23:31 [WARNING] sp : bedbc4e4  ip : fffffe78  fp : fffffe90

09/20/2011 11:23:31 [WARNING] r10: 000125f8  r9 : 00000014  r8 : ac7cfe40

09/20/2011 11:23:31 [WARNING] r7 : 00000000  r6 : 576fc2a8  r5 : 001a4230  r4 : 0019c838

09/20/2011 11:23:31 [WARNING] r3 : ac85864c  r2 : 00000a2a  r1 : ffe577c1  r0 : 576fc2a8

09/20/2011 11:23:31 [WARNING] Flags: Nzcv  IRQs on  FIQs on  Mode USER_32  ISA Thumb  Segment use

09/20/2011 11:23:31 [WARNING] Control: 10c53c7d  Table: 152f404a  DAC: 00000015

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] IP: 0xfffffdf8:

09/20/2011 11:23:31 [WARNING] fdf8  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe18  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe38  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe58  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe78  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe98  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] feb8  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fed8  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] FP: 0xfffffe10:

09/20/2011 11:23:31 [WARNING] fe10  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe30  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe50  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe70  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe90  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] feb0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fed0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fef0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] R1: 0xffe57741:

09/20/2011 11:23:31 [WARNING] 7740  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7760  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7780  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 77a0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 77c0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 77e0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7800  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7820  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7840  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [INFORMATION] android_usb gadget: high speed config #1: android


I see also that you changed this in tegra2_clocks.c , is this really right ?
@ -1975,7 +1975,7 @@ static struct clk tegra_clk_sclk = {

    	.reg	= 0x28,

    	.ops	= &tegra_super_ops,

    	.max_rate = 240000000,

-   	.min_rate = 120000000,

+   	.min_rate = 40000000,

P.S.: Compiled it with you unmodified files against nv-11.2.13

Edited by rebel1
Link to comment
Share on other sites

Eduardo, can you please please post the sources for sensors.tegra.so (if it was not the binary patching)? I'm working on improving my NI Adam, thus learning.

It was binary patching... I , at some point, tried to regenerate sources .. seems sensors.tegra.so is pretty much based on the libsensors source of Froyo2.2 ... At least, the sensor description structure (sensor_t) has exactly the same layout. But, seems they have upgraded some tables describing function pointers... HC3.2 is able to load the Froyo versions, but, they obviously have some differences ... That is why i preferred binary patching a HC3.2 based libsensors, rather than compiling a new libsensors from old sources...

Link to comment
Share on other sites

Here a little bit more debug info.


[  256.615778] unwind: Index not found c0008b20

[  257.619391] BUG: sleeping function called from invalid context at kernel/mutex.c:85

[  257.619449] in_atomic(): 1, irqs_disabled(): 128, pid: 105, name: adbd

[  257.619562] [<c003a680>] (unwind_backtrace+0x0/0xf0) from [<c0483588>] (mutex_lock+0x18/0x4c)

[  257.619644] [<c0483588>] (mutex_lock+0x18/0x4c) from [<c0040db0>] (clk_enable+0x20/0x100)

[  257.619723] [<c0040db0>] (clk_enable+0x20/0x100) from [<c0288b18>] (tegra_otg_irq+0x14/0xa4)

[  257.619800] [<c0288b18>] (tegra_otg_irq+0x14/0xa4) from [<c00a467c>] (handle_IRQ_event+0x24/0xc4)

[  257.619876] [<c00a467c>] (handle_IRQ_event+0x24/0xc4) from [<c00a6588>] (handle_level_irq+0xc8/0x144)

[  257.619967] [<c00a6588>] (handle_level_irq+0xc8/0x144) from [<c003408c>] (asm_do_IRQ+0x8c/0xcc)

[  257.620043] [<c003408c>] (asm_do_IRQ+0x8c/0xcc) from [<c0034bac>] (__irq_svc+0x4c/0xe0)

[  257.620087] Exception stack(0xda339f28 to 0xda339f70)

[  257.620138] 9f20:           		00000003 da339f8c 00000002 da0b4b60 da0b4b40 000300d4

[  257.620200] 9f40: ffffff60 00000004 000009b5 da338000 00020638 00020600 da826140 da339f70

[  257.620249] 9f60: c00d1c3c c00d2404 20000013 ffffffff

[  257.620334] [<c0034bac>] (__irq_svc+0x4c/0xe0) from [<c00d2404>] (fget_light+0x8c/0xf4)

[  257.620407] [<c00d2404>] (fget_light+0x8c/0xf4) from [<c00d1c3c>] (sys_write+0x14/0x68)


[  660.082437] BUG: sleeping function called from invalid context at kernel/mutex.c:85

[  660.082492] in_atomic(): 1, irqs_disabled(): 128, pid: 0, name: swapper

[  660.082597] [<c003a680>] (unwind_backtrace+0x0/0xf0) from [<c0483588>] (mutex_lock+0x18/0x4c)

[  660.082675] [<c0483588>] (mutex_lock+0x18/0x4c) from [<c0040db0>] (clk_enable+0x20/0x100)

[  660.082750] [<c0040db0>] (clk_enable+0x20/0x100) from [<c0288b18>] (tegra_otg_irq+0x14/0xa4)

[  660.082825] [<c0288b18>] (tegra_otg_irq+0x14/0xa4) from [<c00a467c>] (handle_IRQ_event+0x24/0xc4)

[  660.082899] [<c00a467c>] (handle_IRQ_event+0x24/0xc4) from [<c00a6588>] (handle_level_irq+0xc8/0x144)

[  660.082983] [<c00a6588>] (handle_level_irq+0xc8/0x144) from [<c003408c>] (asm_do_IRQ+0x8c/0xcc)

[  660.083055] [<c003408c>] (asm_do_IRQ+0x8c/0xcc) from [<c0034bac>] (__irq_svc+0x4c/0xe0)

[  660.083098] Exception stack(0xc05f1f38 to 0xc05f1f80)

[  660.083138] 1f20:                                                   	00007192 00001f40

[  660.083199] 1f40: 00007192 000f4240 00000000 00000000 3844c133 0000028e 0002a65c 411fc090

[  660.083260] 1f60: 0000001f 00000000 01bba5df c05f1f80 c004f9b4 c004f9cc 00000013 ffffffff

[  660.083346] [<c0034bac>] (__irq_svc+0x4c/0xe0) from [<c004f9cc>] (tegra_idle_enter_lp3+0xc4/0xd0)

[  660.083421] [<c004f9cc>] (tegra_idle_enter_lp3+0xc4/0xd0) from [<c03161e0>] (cpuidle_idle_call+0xd0/0x138)

[  660.083500] [<c03161e0>] (cpuidle_idle_call+0xd0/0x138) from [<c0035f84>] (cpu_idle+0x7c/0xd8)

[  660.083572] [<c0035f84>] (cpu_idle+0x7c/0xd8) from [<c0008b20>] (start_kernel+0x28c/0x2e4)

[  660.083612] unwind: Unknown symbol address c0008b20

[  660.083642] unwind: Index not found c0008b20

Edited by rebel1
Link to comment
Share on other sites

Hi Eduardo,

here is my first report. Unfortunately my Pov freezes after a few seconds after I plug in the usb cable.


9/20/2011 11:23:31 [INFORMATION] tegra-otg tegra-otg: SUSPEND --> PERIPHERAL

09/20/2011 11:23:31 [INFORMATION] tegra-otg tegra-otg: host: (null), gadget: dab43800

09/20/2011 11:23:31 [ERROR] BUG: scheduling while atomic: ndroid.systemui/193/0x00010002

09/20/2011 11:23:31 [WARNING] Modules linked in: ar6000

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] Pid: 193, comm:  	ndroid.systemui

09/20/2011 11:23:31 [WARNING] CPU: 0	Not tainted  (2.6.36.3VegaComb-Release-by-TeamNewCo+ #10)

09/20/2011 11:23:31 [WARNING] PC is at 0xac829f48

09/20/2011 11:23:31 [WARNING] LR is at 0xac7d4c6c

09/20/2011 11:23:31 [WARNING] pc : [<ac829f48>]	lr : [<ac7d4c6c>]	psr: 80003830

09/20/2011 11:23:31 [WARNING] sp : bedbc4e4  ip : fffffe78  fp : fffffe90

09/20/2011 11:23:31 [WARNING] r10: 000125f8  r9 : 00000014  r8 : ac7cfe40

09/20/2011 11:23:31 [WARNING] r7 : 00000000  r6 : 576fc2a8  r5 : 001a4230  r4 : 0019c838

09/20/2011 11:23:31 [WARNING] r3 : ac85864c  r2 : 00000a2a  r1 : ffe577c1  r0 : 576fc2a8

09/20/2011 11:23:31 [WARNING] Flags: Nzcv  IRQs on  FIQs on  Mode USER_32  ISA Thumb  Segment use

09/20/2011 11:23:31 [WARNING] Control: 10c53c7d  Table: 152f404a  DAC: 00000015

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] IP: 0xfffffdf8:

09/20/2011 11:23:31 [WARNING] fdf8  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe18  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe38  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe58  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe78  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe98  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] feb8  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fed8  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] FP: 0xfffffe10:

09/20/2011 11:23:31 [WARNING] fe10  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe30  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe50  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe70  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fe90  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] feb0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fed0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] fef0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 

09/20/2011 11:23:31 [WARNING] R1: 0xffe57741:

09/20/2011 11:23:31 [WARNING] 7740  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7760  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7780  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 77a0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 77c0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 77e0  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7800  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7820  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [WARNING] 7840  ******** ******** ******** ******** ******** ******** ******** ********

09/20/2011 11:23:31 [INFORMATION] android_usb gadget: high speed config #1: android


Scheduling while atomic means we tried to do an schedule() call with ints disabled, or perhaps, an msleep() call with ints disabled.. It would be really nice to know where was that call ... Strange that the kernel log does not show that info, as it should.... Maybe the kernel is not compiled with debug info? - Neverless, this should be very easy to fix if we find the place where the msleep() call is done... If you can, try to recompile kernel with: CONFIG_PREEMPT=y CONFIG_DEBUG_KERNEL=y CONFIG_KALLSYMS=y CONFIG_DEBUG_SLAB=y CONFIG_DEBUG_SPINLOCK=y So, kernel log dumps should contain much more information regarding this problem ;) - Probably they will give us the exact place where the msleep has to be removed or replaced with a mdelay()... Just to be honest, i never had this issue .. USB host/device mode was tested using BusyBux, and worked very well ;)
@ -1975,7 +1975,7 @@ static struct clk tegra_clk_sclk = {

    	.reg	= 0x28,

    	.ops	= &tegra_super_ops,

    	.max_rate = 240000000,

-   	.min_rate = 120000000,

+   	.min_rate = 40000000,

I dont seem to recall why i did that change... Perhaps that is the cause of the "failed to set 1 :2 pclk" ... That change can be reverted, i think it is not needed...

Well, thanks a lot for your time... As you see, i still have things to fix ;)

Eduardo

PD: Well, with your latest post, now i know exactly where the problem is ;) -- the clk_enable()/disable calls in the IRQ handler (tegra_otg_irq) of tegra_otg.c ... Those calls can be commented out, and the problem should go away ... After all, clocks are always running when the OTG peripheral is used to generate interrupts... Will try to fix it today :) , and you can also experiment removing the calls clk_enable(), clk_disable() (only the ones in the procedure tegra_otg_irq of tegra_otg.c if you are curious to check if OTG is working) - Thanks a lot rebel1 !

Edited by ejtagle
Link to comment
Share on other sites

Well, with your latest post, now i know exactly where the problem is ;) -- the clk_enable()/disable calls in the IRQ handler (tegra_otg_irq) of tegra_otg.c ... Those calls can be commented out, and the problem should go away ... After all, clocks are always running when the OTG peripheral is used to generate interrupts... Will try to fix it today :) , and you can also experiment removing the calls clk_enable(), clk_disable() (only the ones in the procedure tegra_otg_irq of tegra_otg.c if you are curious to check if OTG is working) - Thanks a lot rebel1 !

Ok, with that changes it works now without problems! ;)

Great , no more kernel freeze, switching from gadget -> host -> gadget works now like a charm.

Link to comment
Share on other sites

Ok, with that changes it works now without problems! ;)

Great , no more kernel freeze, switching from gadget -> host -> gadget works now like a charm.

Great news! -- One less problem to worry about :D !

Thanks a lot for testing it! :D

Eduardo

Link to comment
Share on other sites

Ok,

now i have enabled wifi and kernel panics, but i have to stop now and debug it later in the evening.

rebel1

Ok, i also will continue debugging later.. But, if it was working, it should be easy to make it work again :)

Link to comment
Share on other sites

Ok,

now i have enabled wifi and kernel panics, but i have to stop now and debug it later in the evening.

rebel1

HI Rebel1,

Where are you seeing crashes ? I have wifi/BT enabled and i see none, disable, enable all fine .. wifi needs to be enabled for BT to switch on but thats normal it seems . BT scans and finds other devices with no issue.. wifi works great. no panics in the last 30 mins with my tests, sleep/wake etc... . usb host is perfect with the usb keys i tested... just need to make xpad work now .. my main task :)

Accelerometer though seems to be still a bit rough in Riptide but, seems no change there for me .. ok for you ?

Nice work Eduardo as per usual thanks :)

Cheers

Cass

Link to comment
Share on other sites

HI Rebel1,

Where are you seeing crashes ? I have wifi/BT enabled and i see none, disable, enable all fine .. wifi needs to be enabled for BT to switch on but thats normal it seems . BT scans and finds other devices with no issue.. wifi works great. no panics in the last 30 mins with my tests, sleep/wake etc... . usb host is perfect with the usb keys i tested... just need to make xpad work now .. my main task :)

Accelerometer though seems to be still a bit rough in Riptide but, seems no change there for me .. ok for you ?

Nice work Eduardo as per usual thanks :)

Cheers

Cass

Hi,

wifi crash was a false alarm, it was caused by a kernel debug option that the wifi driver don´t like. :(

Now for me , all works for me at the moment.

The working apk is attached.

ShuttleTools.zip

Link to comment
Share on other sites

Well... Those are very good news! ... And i also have another "fix".. mrz_hun and i , now with the IT7260 datasheet at hand, we both realized there was a bug in the IT7260 touchscreen driver. The Calibration command was not properly formed , so the command sent when asking for touchscreen calibration was not that command. Instead we were sending an undefined command ... So, esentially, no calibration of the touchscreen was done, even if the user triggered it.

Now, using the datasheet we have, i have fixed that, so it is possible to do touchscreen calibration, and the right command is sent to the touchscreen controller. No other changes, except, maybe, fixing deinitialization of power management of wlan/bt....

Attached my latest version. I really hope this time this will solve the touchscreen issues some people are having ;)

Regards,

Eduardo

Regarding accelerometer, dont forget to use my patched accelerometer library ;) ... And, we could, if needed, speed the accelerometer updates a bit... Right now, we are getting 25 readings per second...

Now. to the libcamera ;)

11.2.13-USB-TOUCH.rar

Link to comment
Share on other sites

Well... Those are very good news! ... And i also have another "fix".. mrz_hun and i , now with the IT7260 datasheet at hand, we both realized there was a bug in the IT7260 touchscreen driver. The Calibration command was not properly formed , so the command sent when asking for touchscreen calibration was not that command. Instead we were sending an undefined command ... So, esentially, no calibration of the touchscreen was done, even if the user triggered it.

Now, using the datasheet we have, i have fixed that, so it is possible to do touchscreen calibration, and the right command is sent to the touchscreen controller. No other changes, except, maybe, fixing deinitialization of power management of wlan/bt....

Attached my latest version. I really hope this time this will solve the touchscreen issues some people are having ;)

Regards,

Eduardo

Regarding accelerometer, dont forget to use my patched accelerometer library ;) ... And, we could, if needed, speed the accelerometer updates a bit... Right now, we are getting 25 readings per second...

Now. to the libcamera ;)

Great Eduardo,

no problems with the latest changes so far.

rebel1

Link to comment
Share on other sites

Well... This is my attempt at merging redscorpion's libcamera, and mine... The idea is to try to keep GTalk working while improving compatibility with all the other programs. I must say that this is a challenging task, and a very delicate one: GTalk seems to be extremely sensitive to the exact behaviour of the libcamera, and, also all the other programs that could use camera are also quite intolerant to the special settings GTalk needs to work... So, here we are pushing the limits a bit...

Well, i have tried the merged result with eCamera, Camera360, the included camera, QR droid, Google goggles, BarCode scanner ... and, all those apps seem to work (except video recording in the native app. Neither RedScorpion nor my version work. In fact, they seem to crash the tablet... The most strange thing is that i remember that with VC7 , after installing the camera.apk, video recording was working fine... really weird...

I havent tried Gtalk, as i had problems setting up 2 different accounts to test it... So, if anyone could try it, i'd really appreciate that,

Besides the merging, the new libcamera implements power management. You will notice that the camera is powered down ( the hidden blue light besides the camera lens) when not used. I'd expect this to save quite a bit of battery power...

Regards,

Eduardo

uvc4.rar

uvc4-compiled.rar

Link to comment
Share on other sites

Well... This is my attempt at merging redscorpion's libcamera, and mine... The idea is to try to keep GTalk working while improving compatibility with all the other programs. I must say that this is a challenging task, and a very delicate one: GTalk seems to be extremely sensitive to the exact behaviour of the libcamera, and, also all the other programs that could use camera are also quite intolerant to the special settings GTalk needs to work... So, here we are pushing the limits a bit...

Well, i have tried the merged result with eCamera, Camera360, the included camera, QR droid, Google goggles, BarCode scanner ... and, all those apps seem to work (except video recording in the native app. Neither RedScorpion nor my version work. In fact, they seem to crash the tablet... The most strange thing is that i remember that with VC7 , after installing the camera.apk, video recording was working fine... really weird...

I havent tried Gtalk, as i had problems setting up 2 different accounts to test it... So, if anyone could try it, i'd really appreciate that,

Besides the merging, the new libcamera implements power management. You will notice that the camera is powered down ( the hidden blue light besides the camera lens) when not used. I'd expect this to save quite a bit of battery power...

Regards,

Eduardo

Hi Eduardo,

great work again. Gtalk and all other is now working with your lib.

About Videorecording, are you sure that it is not only a problem with your Camera.apk?

It works for me with yours and redscorpions libs since ages. ;)

Rebel1

Download for Camera.apk: Camera.zip

Link to comment
Share on other sites

Guest CoWPlagued

I havent tried Gtalk, as i had problems setting up 2 different accounts to test it... So, if anyone could try it, i'd really appreciate that,

Besides the merging, the new libcamera implements power management. You will notice that the camera is powered down ( the hidden blue light besides the camera lens) when not used. I'd expect this to save quite a bit of battery power...

Regards,

Eduardo

you've cracked it :)

Gtalk works fine now!

Also regarding rebel1's post, I also have not had any issue with recording, I have been able to record from the standard camera.apk with both your and redscorpion's camera.

The only thing is the recordings have now gone blue, I'll dig out the settings it's using.

Cheers

Link to comment
Share on other sites

you've cracked it :)

Gtalk works fine now!

Also regarding rebel1's post, I also have not had any issue with recording, I have been able to record from the standard camera.apk with both your and redscorpion's camera.

The only thing is the recordings have now gone blue, I'll dig out the settings it's using.

Cheers

If you give me the video format that is being used by the recorder while recording, we can easily swap blue by red tints (it is just U plane swapped with V plane) ... Arghh.. I wish Google had documented the video formats .... In a sensible way, and enforced manufacturers to obey those definitions...

Thanks to all the people who has tested/worked on this - The cameralib is , right now, the collective result of all that hard work :D !

Regards,

Eduardo

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.