Page 70

Epson Research and Development

 

Vancouver Design Center

 

 

*/

DWORD dwLinearAddress;

rc = IntelGetLinAddressW32(0xF00000, &dwLinearAddress); if (rc != 0)

{

printf("Error getting linear address"); return;

}

p13705 = (PBYTE)dwLinearAddress; pRegs = p13705 + 0x1FFE0;

/*

**Check the revision code. Exit if we don't find an S1D13705.

*/

if (0x24 != *pRegs)

{

printf("Didn't find an S1D13705"); return;

}

/*

**Initialize the chip - after initialization the display will be

**setup for landscape use.

**Normally a loop would be used to write the register array near

**the top of this file to the registers.

**For purposes of documenting the sample code, each register write

**is performed individually.

*/

/*

**Register 01h: Mode Register 0 - Color, 8-bit format 2

*/

SET_REG(0x01, 0x20); /*

**Register 02h: Mode Register 1 - 8BPP

*/

SET_REG(0x02, 0xC0); /*

**Register 03h: Mode Register 2 - Normal power mode

*/

SET_REG(0x03, 0x03); /*

**Register 04h: Horizontal Panel Size - 320 pixels - (320/8)-1 = 39 = 27h

*/

SET_REG(0x04, 0x27); /*

**Register 05h: Vertical Panel Size LSB - 240 pixels

**Register 06h: Vertical Panel Size MSB - (240 - 1) = 239 = EFh

*/

SET_REG(0x05, 0xEF); SET_REG(0x06, 0x00); /*

S1D13705

Programming Notes and Examples

X27A-G-002-03

Issue Date: 02/01/22

Page 164
Image 164
Epson S1D13705 technical manual Vancouver Design Center