logo
Welcome, Guest. Please Login or Register.
27. April 2024, 22:01:10


Home Help Search Login RegisterWIKIUHSDR Download

Amateurfunk Sulingen
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: Firmware für 0.6.3 <- zurück vorwärts ->
Pages: 1 [2] Go Down Print
   Author  Topic: Firmware für 0.6.3  (Read 4990 times)
SP3OSJ
Guest

E-Mail
Re:Firmware für 0.6.3
« Reply #15 on: 27. June 2019, 15:25:13 »

Quote from: DF8OE on 18. June 2019, 17:13:04
The reason for the SPI wiring of the LCD is possibly the malfunction of many LCDs HY28B in parallel mode. More and more LCDs are widely out of specs and do not work with UHSDR...

vy 73
Andreas

Hi

The HAOYU factory has written about the HY28B parallel 16bit LCD:

This is not a problem. do not worry. Your initialization code is the earliest. There's an BUG. Please use the new initialization code updates.
   
DeviceCode = LCD_ReadReg(0x0000); /* read LCD ID */
/* recognition different screen, use different Initialization */
if( DeviceCode == 0x9325 || DeviceCode == 0x9328 )
{
LCD_Code = ILI9325;
LCD_WriteReg(0xE5, 0x78F0); /* set SRAM internal timing */
LCD_WriteReg(0x01, 0x0100); /* set Driver Output Control */
LCD_WriteReg(0x02, 0x0700); /* set 1 line inversion */
LCD_WriteReg(0x03, 0x1030); /* set GRAM write direction and BGR=1 */
LCD_WriteReg(0x04, 0x0000); /* Resize register */
LCD_WriteReg(0x08, 0x0207); /* set the back porch and front porch */
LCD_WriteReg(0x09, 0x0000); /* set non-display area refresh cycle ISC[3:0] */
LCD_WriteReg(0x0A, 0x0000); /* FMARK function */
LCD_WriteReg(0x0C, 0x0000); /* RGB interface setting */
LCD_WriteReg(0x0D, 0x0000); /* Frame marker Position */
LCD_WriteReg(0x0F, 0x0000); /* RGB interface polarity */
/*************Power On sequence ****************/
LCD_WriteReg(0x10, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
LCD_WriteReg(0x11, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */
LCD_WriteReg(0x12, 0x0000); /* VREG1OUT voltage */
LCD_WriteReg(0x13, 0x0000); /* VDV[4:0] for VCOM amplitude */
LCD_WriteReg(0x07, 0x0001);
delay_ms(200);
/* Dis-charge capacitor power voltage */
LCD_WriteReg(0x10, 0x1090); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
LCD_WriteReg(0x11, 0x0227); /* Set DC1[2:0], DC0[2:0], VC[2:0] */
delay_ms(50); /* Delay 50ms */
LCD_WriteReg(0x12, 0x001F);
delay_ms(50); /* Delay 50ms */
LCD_WriteReg(0x13, 0x1500); /* VDV[4:0] for VCOM amplitude */
LCD_WriteReg(0x29, 0x0027); /* 04 VCM[5:0] for VCOMH */
LCD_WriteReg(0x2B, 0x000D); /* Set Frame Rate */
delay_ms(50); /* Delay 50ms */
LCD_WriteReg(0x20, 0x0000); /* GRAM horizontal Address */
LCD_WriteReg(0x21, 0x0000); /* GRAM Vertical Address */
/* ----------- Adjust the Gamma Curve ---------- */
LCD_WriteReg(0x30, 0x0000);
LCD_WriteReg(0x31, 0x0707);
LCD_WriteReg(0x32, 0x0307);
LCD_WriteReg(0x35, 0x0200);
LCD_WriteReg(0x36, 0x0008);
LCD_WriteReg(0x37, 0x0004);
LCD_WriteReg(0x38, 0x0000);
LCD_WriteReg(0x39, 0x0707);
LCD_WriteReg(0x3C, 0x0002);
LCD_WriteReg(0x3D, 0x1D04);
/* ------------------ Set GRAM area --------------- */
LCD_WriteReg(0x50, 0x0000); /* Horizontal GRAM Start Address */
LCD_WriteReg(0x51, 0x00EF); /* Horizontal GRAM End Address */
LCD_WriteReg(0x52, 0x0000); /* Vertical GRAM Start Address */
LCD_WriteReg(0x53, 0x013F); /* Vertical GRAM Start Address */
LCD_WriteReg(0x60, 0xA700); /* Gate Scan Line */
LCD_WriteReg(0x61, 0x0001); /* NDL,VLE, REV */
LCD_WriteReg(0x6A, 0x0000); /* set scrolling line */
/* -------------- Partial Display Control --------- */
LCD_WriteReg(0x80, 0x0000);
LCD_WriteReg(0x81, 0x0000);
LCD_WriteReg(0x82, 0x0000);
LCD_WriteReg(0x83, 0x0000);
LCD_WriteReg(0x84, 0x0000);
LCD_WriteReg(0x85, 0x0000);
/* -------------- Panel Control ------------------- */
LCD_WriteReg(0x90, 0x0010);
LCD_WriteReg(0x92, 0x0600);
LCD_WriteReg(0x07, 0x0133); /* 262K color and display ON */
}

    We tested one by one before shipment. Usually only some LCDs have damaged pixels (bright pixels).As you said so many bad LCDs, then we have already closed down.This is not going to happen. The truth is.
This is a problem with your LCD driver. We have three models of the 2.8LCD 9325 controller. They are ILI9325A ILI9325C and ILI9325D. Their operation timing is different. The A version is the slowest. The D version is the fastest. So the timing of the operation of your LCD driver must be done in accordance with the A version. In addition, the D version must also use the new initialization code. I will attach a new initialization code later.
This is compatible with all 2.8 LCDs.  (The timing mentioned above refers to the address setup time/address hold time of the i8080 bus, and the data setup time/data hold time. Different MCU settings are different. You can modify this part of the timing.)

73
Artur
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware für 0.6.3
« Reply #16 on: 27. June 2019, 16:12:52 »

Hi Artur,

thanks for your contribution. The code we used is a result of testing. About three years ago there was an issue called "broken TV" which prevents ~80% of LCDs from working. They work partially and by chance. So we worked very hard to get a code which works with all LCDs on the market: older ones AND newer ones. The newest init code of HAOYU we got worked with newer LCDs ("broken TV"...) but refused working with all older LCDs. You know: many of them are directly soldered to PCB not on headers...

Of course I can add the code you posted, but I cannot confirm if it is working or not. I do no longer own any HY28B device. All devices I own do have 3.2" or 3.5" LCDs - so testing only can be made by other hams. I can build a binary and release it for testing - but I also know the rule "do not touch what is running". We have not one single issue report about LCD problems - so there is no problem "in general"..

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware für 0.6.3
« Reply #17 on: 30. June 2019, 08:15:18 »

Hi Artur,

last week I got accesss to two very old mcHFs. One of them has HY28A and the other (version 0.3) very old HY28B. Both do work flawlessly using existing init code in UHSDR but refused working with new init code you posted: both screen stay white. I have spent many hours in getting the existing init code which is working on all LCDs up to ~1 year. Since 1 year there are more and more LCDs HY28B which do not work in all modes. But not all LCDs and not exactly defined modes are affected. I cannot change init code to get newer LCDs working (and cannot test it because I do not have access to newer ones and will not buy one) and many older LCDs stop working... I never ever have had such problems at 3.2" LCDs and/or 3.5" / 4" LCDs. Such a behaviour makes it impossible to use such a LCD in commercial products which get firmware updates! I have written it in Yahoo group some years ago before I left the group due to "license discussions": best would be to leave HY28 and turn to 3.2 or larger LCDs...

vy 73
Andreas

Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Firmware für 0.6.3
« Reply #18 on: 30. June 2019, 13:25:12 »

Hi Artur,

it would be very helpful if you could identify the settings which make the difference for your displays.
In your quote below I removed all settings which should not be relevant.

So what you have to do know is to use the existing UHSDR firmware source code, and try to replace existing values for the 9325
with the ones below.

We have in the source code basically the same sequence of settings and it is easy to find where to replace
the values.
The idea is to find which values have an influence and which not.

Only then we can start thinking about merging the settings (or not). And without access to your displays, we can't do this.

Some of these settings are voltage/drive current related. As far as I could see it, the UHSDR code uses
fairly safe (read strong) settings for the drive settings. So these are not necessarily the first targets. But one never knows.

73
Danilo


Quote from: SP3OSJ on 27. June 2019, 15:25:13
The HAOYU factory has written about the HY28B parallel 16bit LCD:

This is not a problem. do not worry. Your initialization code is the earliest. There's an BUG. Please use the new initialization code updates.
   
DeviceCode = LCD_ReadReg(0x0000); /* read LCD ID */
/* recognition different screen, use different Initialization */
if( DeviceCode == 0x9325 || DeviceCode == 0x9328 )
{
LCD_Code = ILI9325;
LCD_WriteReg(0xE5, 0x78F0); /* set SRAM internal timing */
LCD_WriteReg(0x01, 0x0100); /* set Driver Output Control */
LCD_WriteReg(0x02, 0x0700); /* set 1 line inversion */
LCD_WriteReg(0x03, 0x1030); /* set GRAM write direction and BGR=1 */
...
LCD_WriteReg(0x08, 0x0207); /* set the back porch and front porch */
...
/*************Power On sequence ****************/
LCD_WriteReg(0x10, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
LCD_WriteReg(0x11, 0x0007); /* DC1[2:0], DC0[2:0], VC[2:0] */
LCD_WriteReg(0x12, 0x0000); /* VREG1OUT voltage */
LCD_WriteReg(0x13, 0x0000); /* VDV[4:0] for VCOM amplitude */
LCD_WriteReg(0x07, 0x0001);
delay_ms(200);
/* Dis-charge capacitor power voltage */
LCD_WriteReg(0x10, 0x1090); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
LCD_WriteReg(0x11, 0x0227); /* Set DC1[2:0], DC0[2:0], VC[2:0] */
delay_ms(50); /* Delay 50ms */
LCD_WriteReg(0x12, 0x001F);
delay_ms(50); /* Delay 50ms */
LCD_WriteReg(0x13, 0x1500); /* VDV[4:0] for VCOM amplitude */
LCD_WriteReg(0x29, 0x0027); /* 04 VCM[5:0] for VCOMH */
LCD_WriteReg(0x2B, 0x000D); /* Set Frame Rate */
delay_ms(50); /* Delay 50ms */
...
/* -------------- Panel Control ------------------- */
...
LCD_WriteReg(0x92, 0x0600);
...
Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware für 0.6.3
« Reply #19 on: 30. June 2019, 14:27:52 »

Additionally I see some things what have illogical aspects:

1) If there are different versions: why are there absolutely no informations in datasheet directly from ILITEK?
2) If you are digging through the web with "9325 different versions" (or revisions) you only can find matches at M0NKA page which has nearly the same contents that is in the mail from HAOYU. Noone else mentioned "different versions"...
3) If ILI9325A is the slowest and our init code is working well with it: speed cannot be the problem. Or is newest HY28D not capable of reading SLOWER data transfer?
4) Why do ALL 3.2" LCDs work well regardless if they are old or brand new? Are the "different versions ILI9325" only fitted to 2.8"? It looks as the problems are only present at 2.8" LCDs...

I cannot determine but I think there are differences in timing not in speed - and these differences are related to quality problems not to different versions. But differences in timing often lead to there must be different software used to drive them. If it is not software detectable what "version" is connected it is impossible to use different codes. The only idea I do have is to start with some "special buttons kept pressed" to use new code...

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
DB4PLE
positron
Urgestein
*****

Offline

Posts: 1278





View Profile
Re:Firmware für 0.6.3
« Reply #20 on: 30. June 2019, 15:01:21 »

Hi,

btw, google told me that we already discussed the very same settings from above:

See post 79 in https://www.amateurfunk-sulingen.de/forum/index.php?board=15;action=display;threadid=374;start=79.

It is 100% the same answer from the manufacturer. I didn't bother to read the remain 8 pages of posts but I am sure we gave it a fair test.

73
Danilo

Logged
DF8OE
Administrator
*****

Offline

Posts: 6268



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:Firmware für 0.6.3
« Reply #21 on: 30. June 2019, 15:38:21 »

Thumbs up - this was out of my focus  ...

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
Pages: 1 [2] Go Up Print 
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: Firmware für 0.6.3 <- zurück vorwärts ->
Jump to: 


Login with username, password and session length

 Es wird die Verwendung von Browsern die auf der "Blink"-Engine basieren und mindestens
1024x768 Pixel Bildschirmauflösung für die beste Darstellung empfohlen
 
Amateurfunk Die Beiträge sind, sofern nicht anders vermerkt, unter der folgenden Lizenz veröffentlicht:
GNU Free Documentation License 1.3 GNU Free Documentation License 1.3
verbindet!
Powered by MySQL Powered by PHP Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Impressum & Disclaimer
Valid XHTML 1.0! Valid CSS!