Recent Posts

Pages: 1 ... 8 9 [10]
91
Character LCDs / Re: Command structure for NHD-0220D3Z-FL-GBW-V3
« Last post by kayasaman on August 07, 2019, 08:03:57 AM »
Here are some images of the project with the displays.

If anyone knows of a way to throw commands at the displays without needing to compile a full C program it would be great. Currently sending Hex codes to the displays don't seem to work so if somehow I could just clear the screen to start with then produce some characters then text on the display it would be great.
92
OLEDs / Re: Power Up Sequence for OLED
« Last post by Alee_S on August 06, 2019, 12:20:55 PM »
This topic is currently being resolved via e-mail.
93
Character LCDs / Command structure for NHD-0220D3Z-FL-GBW-V3
« Last post by kayasaman on August 06, 2019, 05:42:14 AM »
Hi,

I'm trying to send commands to my display using a terminal to learn about how the command structure works so I can create a driver for it in Lcdproc.

Currently I am unable to get anything working. Using drivers for different manufacturers I can tell the displays are fine and working as characters do appear on them even though they are just random.

I have looked at the sample code provided: https://www.newhavendisplay.com/app_notes/Serial_LCD.txt

Especially this part:

Code: [Select]
/********************************************************************
 lcd clear
********************************************************************/
void lcd_clear(void)
{
tx_packet[0] = 0xFE;
tx_packet[1] = 0x51;
send_packet(2);
delay_ms(10);
}


My setup is as follows:

I have a 3x Pine64-LTS boards with TTL to RS232 shifters installed then linked to 3x displays, two of which are green/yellow and the other is white/blue but model numbers are same just different color screen.

I am running Armbian (Debian based Linux) on one of the Pine's and FreeBSD 13-CURRENT on the other two Pine's.

The display's are all set to RS232 mode with both R1 and R2 open. Pin 3 is connected to GND, Pin 2 is +5V and Pin 1 is the RS232 signal
(http://www.newhavendisplay.com/specs/NHD-0220D3Z-FL-GBW-V3.pdf)


At the moment I am trying to use the 'echo' program to clear the screen. This is what I have tried:

Code: [Select]
echo -en "\xfe\x51" > /dev/ttyS2

Additionally I have tried to modify a Perl program to talk to the display and for now just clear the screen:

Code: [Select]

#!/usr/bin/perl -w
open(LCD,">/dev/ttyS2")||die "ERROR: can not write to /dev/ttyS2\n";
$|=1;
my $i=0;
while(1){
    $i++;
    print LCD chr(0xFE),"51"; # clear the display
# print LCD chr(0xFE), chr(0x51);   
#    print LCD "Count $i\n";
    sleep(1);
}
close LCD;

Again it isn't working :-(

What do I have to do to send the: 0xFE 0x51 command to clear the screen?

Thanks.
94
OLEDs / Power Up Sequence for OLED
« Last post by LarryQW on August 03, 2019, 01:53:39 AM »
I'm using the NHD-0.6-6464G Color OLED. I'm driving VCC at 12V and VDD at 3.3V.

To save power, I will turn off the system, but the 12V will remain powered. If I put the display in sleep mode via the SPI command will the power go to the rated 10 uA?

What if VDD goes to zero as I power down? Will the display remain in sleep mode? Do I need to switch the 12V VCC supply as well, and if so, in what sequence for power up and power down?
95
OLEDs / Re: NHD-2.7-12864WDW3-M Graphic OLED Display
« Last post by Alee_S on July 31, 2019, 01:34:58 PM »
This topic is currently being supported via e-mail.
96
OLEDs / NHD-2.7-12864WDW3-M Graphic OLED Display
« Last post by kyadav40 on July 30, 2019, 02:39:24 PM »
Does anyone got NHD-2.7-12864WDW3-M work? I tried with U8g2lib software SPI, but it did not work.

U8G2_SSD1322_NHD_128X64_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 10, /* data=*/ 9, /* cs=*/ 12, /* dc=*/ 11, /* reset=*/ 13);

I have attached the Arduino code.

Please help,
Thanks
97
TFTs / Re: NHD-3.5-320240FT-CSXN-CTP
« Last post by ezed413 on July 29, 2019, 12:23:03 PM »
Is this the correct initialization code for this display?

Code: [Select]
void APP_Init(void) {
    // ----------------------- Cycle PD pin to reset device --------------------
   
    MCU_PDlow();                                                                // PD low to reset device                                                               

    MCU_Delay_20ms();

    MCU_PDhigh();                                                               // PD high again

    MCU_Delay_20ms();

    // ---------------------- Delay to allow start-up --------------------   
   
    EVE_CmdWrite(FT81x_ACTIVE, 0x00);                                           // Sends 00 00 00 to wake FT8xx

    MCU_Delay_500ms();                                                          // 500ms delay (EVE requires at least 300ms here))
   
    // FT80x_selection - Uncomment these four lines below if using FT800 e.g. VM800B
//    EVE_CmdWrite(0x44, 0x00);           // 0x44 = HostCMD_CLKEXT
//    EVE_CmdWrite(0x62, 0x00);           // 0x64 = HostCMD_CLK48M
//    EVE_CmdWrite(0x68, 0x00);           // 0x68 = HostCMD_CORE RESET
//    EVE_CmdWrite(0x40, 0x00);           // 0x40 = HostCMD_GPUACTIVE
   
    // --------------- Check that FT8xx ready and SPI comms OK -----------------
   
    while (EVE_MemRead8(REG_ID) != 0x7C)                                        // Read REG_ID register (0x302000) until reads 0x7C
    {
    }
     
    while (EVE_MemRead8(REG_CPURESET) != 0x00)                                  // Ensure CPUreset register reads 0 and so FT8xx is ready   
    {
    }

    // ------------------------- Display settings ------------------------------

    // display parameters
    lcdWidth = 320; // Active width of LCD display
    lcdHeight = 240; // Active height of LCD display
    lcdHcycle = 408; // Total number of clocks per line
    lcdHoffset = 70; // Start of active line
    lcdHsync0 = 0; // Start of horizontal sync pulse
    lcdHsync1 = 10; // End of horizontal sync pulse
    lcdVcycle = 263; // Total number of lines per screen
    lcdVoffset = 13; // Start of active screen
    lcdVsync0 = 0; // Start of vertical sync pulse
    lcdVsync1 = 2; // End of vertical sync pulse
    lcdPclk = 6; // Pixel Clock
    lcdSwizzle = 2; // Define RGB output pins
    lcdPclkpol = 1; // Define active edge of PCLK

    EVE_MemWrite16(REG_HSIZE, lcdWidth);
    EVE_MemWrite16(REG_HCYCLE, lcdHcycle);
    EVE_MemWrite16(REG_HOFFSET, lcdHoffset);
    EVE_MemWrite16(REG_HSYNC0, lcdHsync0);
    EVE_MemWrite16(REG_HSYNC1, lcdHsync1);
    EVE_MemWrite16(REG_VSIZE, lcdHeight);
    EVE_MemWrite16(REG_VCYCLE, lcdVcycle);
    EVE_MemWrite16(REG_VOFFSET, lcdVoffset);
    EVE_MemWrite16(REG_VSYNC0, lcdVsync0);
    EVE_MemWrite16(REG_VSYNC1, lcdVsync1);
    EVE_MemWrite8(REG_SWIZZLE, lcdSwizzle);
    EVE_MemWrite8(REG_PCLK_POL, lcdPclkpol);

    FT81x_GPIO = EVE_MemRead8(REG_GPIO);                                        // Read the FT800 GPIO register for a read/modify/write operation
    FT81x_GPIO = FT81x_GPIO | 0x80;                                             // set bit 7 of FT800 GPIO register (DISP) - others are inputs
    EVE_MemWrite8(REG_GPIO, FT81x_GPIO);                                        // Enable the DISP signal to the LCD panel
   
//    // Can move these 2 lines to after the first display list to make the start-up appear cleaner to the user
//    EVE_MemWrite8(REG_PCLK, lcdPclk);                                           // Now start clocking data to the LCD panel
//    EVE_MemWrite8(REG_PWM_DUTY, 127);
   
    // ---------------------- Touch and Audio settings -------------------------

    EVE_MemWrite16(REG_TOUCH_RZTHRESH, 1200);                                   // Eliminate any false touches

    EVE_MemWrite8(REG_VOL_PB, ZERO);                                            // turn recorded audio volume down
    EVE_MemWrite8(REG_VOL_SOUND, ZERO);                                         // turn synthesizer volume down
    EVE_MemWrite16(REG_SOUND, 0x6000);                                          // set synthesizer to mute

    // -------- Initial display list to begin with blank screen ----------------

    ramDisplayList = RAM_DL;                                                    // start of Display List
    EVE_MemWrite32(ramDisplayList, 0x02000000);                                 // Clear Color RGB sets the colour to clear screen to

    ramDisplayList += 4;                                                        // point to next location
    EVE_MemWrite32(ramDisplayList, (0x26000000 | 0x00000007));                  // Clear 00100110 -------- -------- -----CST  (C/S/T define which parameters to clear)

    ramDisplayList += 4;                                                        // point to next location
    EVE_MemWrite32(ramDisplayList, 0x00000000);                                 // DISPLAY command 00000000 00000000 00000000 00000000 (end of display list)

    EVE_MemWrite32(REG_DLSWAP, DLSWAP_FRAME);                                   // Swap display list to make the edited one active
   
    // Can move these 2 lines to after the first display list to make the start-up appear cleaner to the user
    EVE_MemWrite8(REG_PCLK, lcdPclk);                                           // Now start clocking data to the LCD panel
    EVE_MemWrite8(REG_PWM_DUTY, 127);

}
98
TFTs / Re: NHD-7.0 - Cant even get sample code to work
« Last post by EngineerFreely on July 28, 2019, 12:15:49 PM »
Im an idiot.

I powered it with a 12v/2a to the Vin and it started the screen right up.

Now lets have fun with this.

Any helpful tips and tricks with the screen editor?
99
TFTs / NHD-7.0 - Cant even get sample code to work
« Last post by EngineerFreely on July 27, 2019, 06:32:24 AM »
Good morning!  Complete newbie here but I am learning.

I have an Arduino Uno.  I just purchased the EVE2  NHD-7.0-800480FT-CSXN-T, Arduino Shield and the 20pin cable.

I have it powered via the USB3.0 slot on my laptop to the Uno.

I downloaded the github sample code and uploaded the 7.0 resistive touch samples.   Every single one gives me a bright white blank screen on the display.  At this point I am trying to learn what could be the issue. 

If you have any thoughts on where to start, let me know, thank you!
100
TFTs / NHD-3.5-320240FT-CSXN-CTP
« Last post by ezed413 on July 26, 2019, 10:07:52 AM »
Trying to get this to work with an Microchip Explorer 16/32 board that is using a PIC24FJ256GB410 micro. I am using the EVE2 library. It is hanging up at the following code segment,

Code: [Select]
   
while (EVE_MemRead8(REG_ID) != 0x7C)                                        // Read REG_ID register (0x302000) until reads 0x7C
{
}

When I single step through the code, the EVE_MemRead8 function is returning an 0xFF. I looked at the SPI going to the display and it is correct.

My colleague and I have both tried to get it to work, he using a TI processor and me using the PIC. It is hanging up in the same spot for both of us. We even purchased another display thinking that we might have bricked it.  Any ideas?
Pages: 1 ... 8 9 [10]