Jadual Kandungan
1  polarity inversion
2  The method of showing layer (qcom)
3 popup menu jitter(抖动; 颤动)
4  overlay process
5  Ghost Shadow
6  DTYPE_DCS_WRITE (long, short)
Rumah pangkalan data tutorial mysql lcd debug notes 2(qcom and orise)

lcd debug notes 2(qcom and orise)

Jun 07, 2016 pm 03:08 PM
and debug lcd notes

1 polarity inversion 面板极性变换方式 可使用的common电极驱动方式 Frame inversion 固定与变动 Row inversion 固定与变动 Column inversion 只能使用固定的common电极电压 Dot inversion 只能使用固定的common电极电压 面板极性变换方式 Flicker的现象 Cr

1  polarity inversion

面板极性变换方式  可使用的common电极驱动方式 
Frame inversion  固定与变动 
Row inversion  固定与变动 
Column inversion  只能使用固定的common电极电压 
Dot inversion  只能使用固定的common电极电压


面板极性变换方式  Flicker的现象  Crosstalk(串扰; 串音)的现象 
Frame inversion    明显                   垂直与水平方向都易发生 
Row inversion        不明显               水平方向容易发生 
Columninversion  不明显                垂直方向容易发生 
Dot inversion         几乎没有            不易发生 


Current Orise IC is supported for Column Inversion and Dot Inversion (0xC0B4h Panel Driving Mode)


2  The method of showing layer (qcom)

2.1 Insert the following patch

diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index ae7bb95..3f1a657 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -331,11 +331,121 @@ static int hwc_query(struct hwc_composer_device_1* dev,
 
 }
 
+inline void getHalPixelFormatStr(int format, char pixelformatstr[])
+{
+    if (!pixelformatstr)
+        return;
+
+    switch(format) {
+        case HAL_PIXEL_FORMAT_RGBA_8888:
+            strcpy(pixelformatstr, "RGBA_8888");
+            break;
+        case HAL_PIXEL_FORMAT_RGBX_8888:
+            strcpy(pixelformatstr, "RGBX_8888");
+            break;
+        case HAL_PIXEL_FORMAT_RGB_888:
+            strcpy(pixelformatstr, "RGB_888");
+            break;
+        case HAL_PIXEL_FORMAT_RGB_565:
+            strcpy(pixelformatstr, "RGB_565");
+            break;
+        case HAL_PIXEL_FORMAT_BGRA_8888:
+            strcpy(pixelformatstr, "BGRA_8888");
+            break;
+        case HAL_PIXEL_FORMAT_RGBA_5551:
+            strcpy(pixelformatstr, "RGBA_5551");
+            break;
+        case HAL_PIXEL_FORMAT_RGBA_4444:
+            strcpy(pixelformatstr, "RGBA_4444");
+            break;
+        case HAL_PIXEL_FORMAT_YV12:
+            strcpy(pixelformatstr, "YV12");
+            break;
+        case HAL_PIXEL_FORMAT_YCbCr_422_SP:
+            strcpy(pixelformatstr, "YCbCr_422_SP_NV16");
+            break;
+        case HAL_PIXEL_FORMAT_YCrCb_420_SP:
+            strcpy(pixelformatstr, "YCrCb_420_SP_NV21");
+            break;
+        case HAL_PIXEL_FORMAT_YCbCr_422_I:
+            strcpy(pixelformatstr, "YCbCr_422_I_YUY2");
+            break;
+        case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
+            strcpy(pixelformatstr, "NV12_ENCODEABLE");
+            break;
+        case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED:
+            strcpy(pixelformatstr, "YCbCr_420_SP_TILED_TILE_4x2");
+            break;
+        case HAL_PIXEL_FORMAT_YCbCr_420_SP:
+            strcpy(pixelformatstr, "YCbCr_420_SP");
+            break;
+        case HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO:
+            strcpy(pixelformatstr, "YCrCb_420_SP_ADRENO");
+            break;
+        case HAL_PIXEL_FORMAT_YCrCb_422_SP:
+            strcpy(pixelformatstr, "YCrCb_422_SP");
+            break;
+        case HAL_PIXEL_FORMAT_R_8:
+            strcpy(pixelformatstr, "R_8");
+            break;
+        case HAL_PIXEL_FORMAT_RG_88:
+            strcpy(pixelformatstr, "RG_88");
+            break;
+        case HAL_PIXEL_FORMAT_INTERLACE:
+            strcpy(pixelformatstr, "INTERLACE");
+            break;
+        default:
+            sprintf(pixelformatstr, "Unknown0x%X", format);
+            break;
+    }
+}
+
+void dump_layers(int layercount, size_t layerIndex, hwc_layer_1_t hwLayers[])
+{
+    hwc_layer_1_t *layer = &hwLayers[layerIndex];
+    hwc_rect_t sourceCrop = layer->sourceCrop;
+    hwc_rect_t displayFrame = layer->displayFrame;
+    private_handle_t *hnd = (private_handle_t *)layer->handle;
+    char *layer_format=new char[50];
+    getHalPixelFormatStr(hnd->format,layer_format);
+    int composition_type =layer->compositionType;
+    char sfdumpfile_name[256];
+
+    sprintf(sfdumpfile_name, "/data/layerdump/dump%03d_layer%d_%dx%d_%s_comp%d.raw",
+               layercount, layerIndex, hnd->width, hnd->height,
+               layer_format,composition_type);
+    FILE* fp = fopen(sfdumpfile_name, "w+");
+    if (fp != NULL) {
+        fwrite((void*)hnd->base, hnd->size, 1, fp);
+        fclose(fp);
+    }
+    
+}
+
 static int hwc_set_primary(hwc_context_t *ctx, hwc_display_contents_1_t* list) {
     ATRACE_CALL();
     int ret = 0;
     const int dpy = HWC_DISPLAY_PRIMARY;
     if (LIKELY(list) && ctx->dpyAttr[dpy].isActive) {
+
+    char property_fb[PROPERTY_VALUE_MAX];
+    static int layer_count =0;
+    int count_limit=0;
+    if (property_get("debug.sf.dump", property_fb, NULL) > 0) {
+       if(atoi(property_fb) > 0) {
+               count_limit=atoi(property_fb) ;
+               if (0 == mkdir("/data/layerdump", 0777))
+                       layer_count=0;
+               if(layer_count<count_limit for int i="0;i<list-">numHwLayers;i++)
+                               dump_layers(layer_count, i, list->hwLayers);
+                       layer_count ++ ;
+               }
+       }
+    }
+
+
+
         uint32_t last = list->numHwLayers - 1;
         hwc_layer_1_t *fbLayer = &list->hwLayers[last];
         int fd = -1; //FenceFD from the Copybit(valid in async mode)
</count_limit>
Salin selepas log masuk

2.2 Issue the following command

# setprop debug.sf.dump 100
Salin selepas log masuk

The dump data is in /data/layerdump folder.


2.3 Issue the following command

# adb pull <remote> <local></local></remote>
Salin selepas log masuk

2.4 Download the tool: Irfanview and PlugIns

The newest version of Irfanview is 4.36


2.5 Open the corresponding files, such as *.raw

Please notes that the pixels need to be matched to oringinal size. Then the pictures can be shown, as follows:


dump035_layer0_544x960_RGBX_8888_comp1.raw // layer0 means layer 0; RGBX  X means no alpha

dump034_layer1_544x960_RGBA_8888_comp1.raw

dump035_layer2_416x608_RGBA_8888_comp1.raw // layer2 means layer 2; comp1 means mdpcomp

dump033_layer3_544x960_RGBA_8888_comp1.raw

dump035_layer4_544x960_RGBA_8888_comp3.raw // layer4 means layer 4; comp3 means fb_target


According to the methods in div 2, we can capture all layers from hwc.cpp. The root cause is related to the progress of animation. Because of the animation, the actual size of popup menu is variable and the alpha value isn't 0xff until the animation is shown completely. But mdp RGB pipe can't handle this scenario smoothly which causes the edge of popup menu jitter. So if this scenario appears, mdp composition should be disabled.


The animation can be disabled via the following steps:

Settings -> Developer options -> 

Window animation scale  (off, .5x, 1x, 2x, 5x, 10x)

Transition animation scale

Animator duration scale


So the animation progress can be adjusted if you need to do this. Meanwhile we can disable hw overlay via the option of Disable HW overlays.


4  overlay process

4.1 mdp4_overlay_set (key point)
a. Get pipe from request (struct mdp_overlay ), choose corresponding pipe type;
Where the function checks if the request is valid or not, such as width, height, downscale ratio(1/8), upscale ratio(20(mdp version > 4.1, otherwise 8)) and so on.
b. Return pipe index;
c. Calc mdp clock for current frame and bandwidth;
d. Done.

5  Ghost Shadow

This issue is caused by VCOM. For orise 9605, we can adjust 0xD900h(VCOMDC: VCOM voltage setting, 0x39:-1)

影像残留主要是PANEL Pixel上的正负电压值不对称,解决方案是调整VCOM(寄存器D900)。如果改Panel的翻转方式,也可以改善。如果LCM上有GVDD、NGVDD的测试点,可以量一下这两个点的电压,理论上这两个电压值是一致的!

If we adjust the mode of inversion to dot inversion, the power will increase about 10mA, althrough this way  can fix this issue too. I don't think it is a good method.


6  DTYPE_DCS_WRITE (long, short)

#define DTYPE_DCS_LWRITE	0x39	/* long write */
#define DTYPE_DCS_WRITE		0x05	/* short write, 0 parameter */
#define DTYPE_DCS_WRITE1	0x15	/* short write, 1 parameter */
#define DTYPE_DCS_READ		0x06	/* read */
Salin selepas log masuk

With regard to opening lcd or closing lcd(sleep out/in),  it is proper to use DTYPE_DCS_WRITE. If the commands have one parameter, it is proper to use DTYPE_DCS_WRITE1. If the commands have more than one parameter, it is proper to use DTYPE_DCS_LWRITE.


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah skrin ltps dan lcd? Apakah skrin ltps dan lcd? Sep 01, 2022 pm 04:14 PM

LTPs ialah skrin polysilicon suhu rendah, dan LCD ialah skrin paparan kristal cecair adalah satu cabang teknologi polysilicon Setiap piksel bebas boleh dikawal secara aktif Ia terutamanya terdiri daripada tiub pendarfluor, plat panduan cahaya, plat polarisasi plat, substrat kaca, filem sokongan, dan kristal cecair Ia terdiri daripada bahan, dsb., dan LCD merealisasikan paparan dengan mengawal pelarasan molekul kristal cecair oleh medan elektrik kepada sumber lampu latar Ia terutamanya terdiri daripada panel LCD, lampu latar modul dan papan litar.

Bagaimana untuk menyelesaikan masalah penyahpepijatan tidak sah apabila menetapkan titik putus dalam projek SpringBoot Bagaimana untuk menyelesaikan masalah penyahpepijatan tidak sah apabila menetapkan titik putus dalam projek SpringBoot May 11, 2023 am 10:49 AM

Saya baru dalam projek springboot (1) Saya mendapati bahawa penyahpepijatan titik putus tidak berkesan. Saya sangat tertekan dan mencari penyelesaian dalam talian. Apa yang saya lihat hanyalah beberapa penyelesaian yang sangat rumit, yang dikatakan sebagai penyahpepijatan jauh, tetapi juga memerlukan slogan pembukaan tambahan. Ini berbeza daripada projek tradisional, jadi saya rasa ia tidak perlu. Jadi selepas beberapa penerokaan, saya mendapati bahawa terdapat cara yang lebih mudah Langkah-langkahnya adalah seperti berikut: Tambahkan konfigurasi dalam bahagian pemalam fail pom: false dan ia akan menjadi ok; bahawa fail web.xml tiada, kerana projek web tradisional memerlukan fail web.xml, tetapi projek SpringBoot tidak memerlukan fail web.xml.

Sudah 2024, kenapa masih ada pengguna yang taksub dengan skrin LCD Puncanya didedahkan? Sudah 2024, kenapa masih ada pengguna yang taksub dengan skrin LCD Puncanya didedahkan? Jul 24, 2024 pm 08:17 PM

Lelaran teknologi skrin ialah landasan teras bagi pengeluar telefon mudah alih untuk "membuka gulungan". Skrin OLED semasa telah mencapai tahap yang sangat baik dari segi kecerahan, penggunaan kuasa, warna dan perlindungan mata. Walau bagaimanapun, walaupun teknologi OLED menjadi semakin matang, sebilangan besar pengguna masih memilih telefon mudah alih yang dilengkapi dengan skrin LCD. Sebabnya mungkin disebabkan oleh kelebihan unik skrin LCD dalam perlindungan mata. Mengapa LCD lebih mesra mata? Untuk menerangkan dengan jelas mengapa ramai orang "LCD" sakit mata dan menitiskan air mata apabila mereka melihat skrin OLED, kita perlu bercakap secara ringkas tentang prinsip paparan skrin. Kita hanya boleh memahami gambar yang dipaparkan pada skrin sebagai corak yang terdiri daripada piksel yang tidak terkira banyaknya

LCD akhirnya tamat: penghantaran panel OLED telefon mudah alih global mengatasi LCD buat kali pertama! LCD akhirnya tamat: penghantaran panel OLED telefon mudah alih global mengatasi LCD buat kali pertama! Jun 27, 2024 pm 06:46 PM

Menurut berita pada 27 Jun, menurut laporan terbaharu yang dikeluarkan oleh organisasi penyelidikan Omdia, pada suku pertama 2024, penghantaran panel diod pemancar cahaya organik (OLED) telefon pintar global melebihi skrin paparan kristal cecair (LCD) buat kali pertama dalam sejarah. Laporan itu menunjukkan bahawa penghantaran paparan telefon pintar tahunan akan mencapai 1.45 bilion unit pada 2023, peningkatan tahun ke tahun sebanyak 5%. sebanyak 9%. Antaranya, penghantaran skrin diod pemancar cahaya organik matriks aktif (AMOLED) meningkat kepada 182 juta unit pada suku pertama 2024, peningkatan tahun ke tahun sebanyak 39%. penghantaran turun kepada 1.72 bilion keping, turun 10% tahun ke tahun. Om

Tablet perdana iQOO terdedah bernama Pad2 Pro dengan skrin 13 inci akan dikeluarkan tidak lama lagi Tablet perdana iQOO terdedah bernama Pad2 Pro dengan skrin 13 inci akan dikeluarkan tidak lama lagi Apr 03, 2024 am 08:31 AM

Baru-baru ini, komputer tablet "iPA2475" milik vivo telah berjaya melepasi pensijilan kualiti 3C negara dan dijangka dinamakan iQOO Pad2. Bagaimanapun, dalam pusingan terbaru pendedahan, keadaan nampaknya telah berubah. Pada 2 April, CNMO menyedari bahawa seorang blogger digital mendedahkan bahawa tablet utama iQOO akan dinamakan Pad2 Pro dan bukannya iQOO Pad2 yang asal. Blogger itu juga mendedahkan bahawa iQOO Pad 2 Pro akan dikeluarkan tidak lama lagi. Berdasarkan analisis penulis blog, iQOO Pad2 Pro akan dilengkapi dengan pemproses Dimensity 9300 yang berkuasa, membawakan pengalaman prestasi yang sangat baik kepada pengguna. Pada masa yang sama, ia juga akan dilengkapi dengan resolusi 3.1K, kadar penyegaran 144Hz, skrin besar LCD 13-inci, sama ada anda sedang menonton.

Telefon bimbit LCD berprestasi tinggi menjadi lagu terakhir! Pengilang secara kolektif memilih OLED Telefon bimbit LCD berprestasi tinggi menjadi lagu terakhir! Pengilang secara kolektif memilih OLED Feb 07, 2024 pm 01:06 PM

Menurut berita pada 6 Februari, blogger Digital Chat Station mendedahkan bahawa siri Snapdragon 8 dan telefon mudah alih siri Snapdragon 7 akan mempunyai skrin OLED, dan model skrin LCD akan dilengkapi dengan platform mudah alih skrin LCD berprestasi tinggi Snapdragon 6 telefon Tidak pada masa ini. Pada tahun lalu, kedua-dua iQOO dan Redmi melancarkan telefon bimbit skrin LCD berprestasi tinggi, masing-masing iaitu iQOO Z8 dan Redmi Note 12T Pro Berita terkini menunjukkan iQOO Z9 tidak lagi menggunakan skrin LCD, tetapi bertukar kepada skrin 1.5 KOLED. Seperti yang kita sedia maklum, sebab utama mengapa pengguna LCD menyukai LCD ialah skrin LCD menggunakan skema pemalapan DC global, yang tidak mempunyai kelipan dan secara relatifnya lebih selesa untuk tontonan jangka panjang. Walau bagaimanapun, selepas bertahun-tahun pembangunan berulang, OLED telah mengatasi kelemahannya sendiri dan kini

Bawa anda untuk nyahpepijat projek Nestjs dalam VSCode (tutorial) Bawa anda untuk nyahpepijat projek Nestjs dalam VSCode (tutorial) Apr 24, 2023 pm 05:53 PM

Rakan-rakan yang telah menggunakan Vscode untuk menulis projek seperti Node semua tahu bahawa jika kami ingin menyelesaikan masalah, kami kebanyakannya mencetaknya melalui console.log untuk melihat di mana masalahnya Jika masalah yang terlibat lebih kompleks, kami akan memilih Melalui Vscode ...

Kehilangan telefon bimbit LCD bergantung sepenuhnya kepada kejayaan OLED Kehilangan telefon bimbit LCD bergantung sepenuhnya kepada kejayaan OLED May 30, 2024 am 10:26 AM

Ingat iPad Pro baharu dikeluarkan beberapa hari lalu? Salah satu peningkatan terbesar ialah menukar daripada panel LCD (lampu latar MiniLED) kepada OLED. Baru hari ini, Xiao Lei juga melihat sekeping berita, iaitu, Yonhap News Agency berkata bahawa LG Display sedang mempercepatkan penjualan kilang panel LCD terakhirnya: mengumumkan peralihan penuh kepada OLED. Sebagai teknologi paparan generasi ketiga, trend OLED menggantikan LCD sebenarnya telah bermula sejak lama dahulu. Sesetengah orang telah mendakwa bahawa OLED akan menggantikan LCD dan menjadi arus perdana mutlak. Walau bagaimanapun, perkara yang paling menggambarkan kegemilangan LCD dan kelebihan OLED di seluruh dunia mungkin melihat semula telefon mudah alih yang paling sering kami gunakan. Bermula pada tahun 2017, telefon utama yang diwakili oleh iPhoneX dengan cepat datang dengan skrin OLED sebagai peralatan standard.

See all articles