PICoHolic
Joined: 04 Jan 2005 Posts: 224
|
Nokia6100 LCD drivers for Epson & Philips |
Posted: Wed Jan 06, 2010 2:55 am |
|
|
Those drivers are based on James P. Lynch codes, ported to CCS.
S1D15G00.h
Code: |
#ifndef S1D15G00_H
#define S1D15G00_H
///////////////////////////////////////////////////////////////////////////////
#include <string.h>
///////////////////////////////////////////////////////////////////////////////
#define S_DISON 0xAF // Display on
#define S_DISOFF 0xAE // Display off
#define S_DISNOR 0xA6 // Normal display
#define S_DISINV 0xA7 // Inverse display
#define S_COMSCN 0xBB // Common scan direction
#define S_DISCTL 0xCA // Display control
#define S_SLPIN 0x95 // Sleep in
#define S_SLPOUT 0x94 // Sleep out
#define S_PASET 0x75 // Page address set
#define S_CASET 0x15 // Column address set
#define S_DATCTL 0xBC // Data scan direction, etc.
#define S_RGBSET8 0xCE // 256-color position set
#define S_RAMWR 0x5C // Writing to memory
#define S_RAMRD 0x5D // Reading from memory
#define S_PTLIN 0xA8 // Partial display in
#define S_PTLOUT 0xA9 // Partial display out
#define S_RMWIN 0xE0 // Read and modify write
#define S_RMWOUT 0xEE // End
#define S_ASCSET 0xAA // Area scroll set
#define S_SCSTART 0xAB // Scroll start set
#define S_OSCON 0xD1 // Internal oscillation on
#define S_OSCOFF 0xD2 // Internal oscillation off
#define S_PWRCTR 0x20 // Power control
#define S_VOLCTR 0x81 // Electronic volume control
#define S_VOLUP 0xD6 // Increment electronic control by 1
#define S_VOLDOWN 0xD7 // Decrement electronic control by 1
#define S_TMPGRD 0x82 // Temperature gradient set
#define S_EPCTIN 0xCD // Control EEPROM
#define S_EPCOUT 0xCC // Cancel EEPROM control
#define S_EPMWR 0xFC // Write into EEPROM
#define S_EPMRD 0xFD // Read from EEPROM
#define S_EPSRRD1 0x7C // Read register 1
#define S_EPSRRD2 0x7D // Read register 2
#define S_NOP 0x25 // NOP instruction
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_write_data(int8 data)
{
NLCD_CS = 0;
//Disable SPI:
SSPEN = 0;
SSP2STAT = 0x00;
//Tx first data bit:
NLCD_SDO = 1; //set data bit
NLCD_SCLK= 1; //1 clock pulse
delay_cycles(4);
NLCD_SCLK= 0; //clk low
NLCD_SDO = 0; //data low
//re-enable SPI:
SSPEN = 1;
SSP2STAT = 0x40;
spi_write2(data);
NLCD_CS = 1;
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_write_command(int8 command)
{
NLCD_CS = 0;
//Disable SPI:
SSPEN = 0;
SSP2STAT = 0x00;
//Tx first data bit:
NLCD_SDO = 0; //clear data bit
NLCD_SCLK= 1; //1 clock pulse
delay_cycles(4);
NLCD_SCLK= 0; //clk low
NLCD_SDO = 0; //data low
//re-enable SPI:
SSPEN = 1;
SSP2STAT = 0x40;
spi_write2(command);
NLCD_CS = 1;
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDClearScreen()
{
long i; // loop counter
// Row address set (command 0x2B)
S1D15G00_write_command(S_PASET);
S1D15G00_write_data(0);
S1D15G00_write_data(131);
// Column address set (command 0x2A)
S1D15G00_write_command(S_CASET);
S1D15G00_write_data(0);
S1D15G00_write_data(131);
// set the display memory to BLACK
S1D15G00_write_command(S_RAMWR);
for(i = 0; i < ((131 * 131) / 2); i++)
{
S1D15G00_write_data(0x00);
S1D15G00_write_data(0x00);
S1D15G00_write_data(0x00);
}
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDWhiteScreen()
{
long i; // loop counter
// Row address set (command 0x2B)
S1D15G00_write_command(S_PASET);
S1D15G00_write_data(0);
S1D15G00_write_data(131);
// Column address set (command 0x2A)
S1D15G00_write_command(S_CASET);
S1D15G00_write_data(0);
S1D15G00_write_data(131);
// set the display memory to BLACK
S1D15G00_write_command(S_RAMWR);
for(i = 0; i < ((131 * 131) / 2); i++)
{
S1D15G00_write_data(0xFF);
S1D15G00_write_data(0xFF);
S1D15G00_write_data(0xFF);
}
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_init()
{
NLCD_CS = 1;
// Hardware reset
NLCD_RESET = 0;
delay_ms(10);
NLCD_RESET = 1;
delay_ms(10);
// Display control
S1D15G00_write_command(S_DISCTL);
S1D15G00_write_data(0x00); // P1: 0x00 = 2 divisions, switching period=8 (default)
S1D15G00_write_data(0x20); // P2: 0x20 = nlines/4 - 1 = 132/4 - 1 = 32)
S1D15G00_write_data(0x00); // P3: 0x00 = no inversely highlighted lines
// COM scan
S1D15G00_write_command(S_COMSCN);
S1D15G00_write_data(1); // P1: 0x01 = Scan 1->80, 160<-81
// Internal oscilator ON
S1D15G00_write_command(S_OSCON);
// Sleep out
S1D15G00_write_command(S_SLPOUT);
// Power control
S1D15G00_write_command(S_PWRCTR);
S1D15G00_write_data(0x0f); // reference voltage regulator on, circuit voltage follower on, BOOST ON
// Inverse display
S1D15G00_write_command(S_DISINV);
// Data control
S1D15G00_write_command(S_DATCTL);
S1D15G00_write_data(0x01); // P1: 0x01 = page address inverted, column address normal, address scan in column direction
S1D15G00_write_data(0x00); // P2: 0x00 = RGB sequence (default value)
S1D15G00_write_data(0x02); // P3: 0x02 = Grayscale -> 16 (selects 12-bit color, type A)
// Voltage control (contrast setting)
S1D15G00_write_command(S_VOLCTR);
S1D15G00_write_data(38); // P1 = 40 volume value (experiment with this value to get the best contrast)
S1D15G00_write_data(3); // P2 = 3 resistance ratio (only value that works)
// allow power supply to stabilize
delay_ms(50);
// turn on the display
S1D15G00_write_command(S_DISON);
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDSetPixel(int x, int y, int16 color)
{
int16 temp_color=0;
// Row address set (command 0x2B)
S1D15G00_write_command(S_PASET);
S1D15G00_write_data(y);
S1D15G00_write_data(y);
// Column address set (command 0x2A)
S1D15G00_write_command(S_CASET);
S1D15G00_write_data(x);
S1D15G00_write_data(x);
// Now illuminate the pixel (2nd pixel will be ignored)
temp_color = color << 4;
S1D15G00_write_command(S_RAMWR);
S1D15G00_write_data(make8(temp_color,1));
S1D15G00_write_data(make8(color,1) | make8(temp_color,0));
S1D15G00_write_data(make8(color,0));
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDPutChar(char c, int x, int y, int8 size, int16 fColor, int16 bColor)
{
int8 i,j;
unsigned int8 nCols;
unsigned int8 nRows;
unsigned int8 nBytes;
unsigned char PixelRow;
unsigned char Mask;
unsigned int16 Word0;
unsigned int16 Word1;
//unsigned char *pFont;
unsigned char pChar[16];
//unsigned char *FontTable[] = {(unsigned char *)FONT6x8, (unsigned char *)FONT8x8,
//(unsigned char *)FONT8x16};
// get pointer to the beginning of the selected font table
// &
// get the nColumns, nRows and nBytes
switch(size)
{
case 0:
nCols = FONT6x8[0][0];
nRows = FONT6x8[0][1];
nBytes= FONT6x8[0][2];
memcpy(pChar, FONT6x8[c - 0x1F], nBytes);
break;
case 1:
nCols = FONT8x8[0][0];
nRows = FONT8x8[0][1];
nBytes= FONT8x8[0][2];
memcpy(pChar, FONT8x8[c - 0x1F], nBytes);
break;
case 2:
nCols = FONT8x16[0][0];
nRows = FONT8x16[0][1];
nBytes= FONT8x16[0][2];
memcpy(pChar, FONT8x16[c - 0x1F], nBytes);
break;
}
// Row address set (command 0x2B)
S1D15G00_write_command(S_PASET);
S1D15G00_write_data(y);
S1D15G00_write_data(y + nRows - 1);
// Column address set (command 0x2A)
S1D15G00_write_command(S_CASET);
S1D15G00_write_data(x);
S1D15G00_write_data(x + nCols - 1);
// WRITE MEMORY
S1D15G00_write_command(S_RAMWR);
// loop on each row, working backwards from the bottom to the top
for (i = nRows - 1; i != 255; i--)
{
// copy pixel row from font table and then decrement row
PixelRow = pChar[i];
// loop on each pixel in the row (left to right)
// Note: we do two pixels each loop
Mask = 0x80;
for (j = 0; j < nCols; j += 2) {
// if pixel bit set, use foreground color; else use the background color
// now get the pixel color for two successive pixels
if ((PixelRow & Mask) == 0)
Word0 = bColor;
else
Word0 = fColor;
Mask >>= 1;
if ((PixelRow & Mask) == 0)
Word1 = bColor;
else
Word1 = fColor;
Mask >>= 1;
// use this information to output three data bytes
S1D15G00_write_data((Word0 >> 4) & 0xFF);
S1D15G00_write_data(((Word0 & 0xF) << 4) | ((Word1 >> 8) & 0xF));
S1D15G00_write_data(Word1 & 0xFF);
}
}
// terminate the Write Memory command
S1D15G00_write_command(S_NOP);
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDPutStr(char *pString, int x, int y, int Size, int16 fColor, int16 bColor)
{
// loop until null-terminator is seen
while (*pString != '\0')
{
// draw the character
S1D15G00_LCDPutChar(*pString++, x, y, Size, fColor, bColor);
// advance the y position
if (Size == SMALL)
x = x + 6;
else
x = x + 8;
// bail out if y exceeds 131
if (y > 131) break;
}
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDWrite132x132bmp(int8 bmp)
{
long j; // loop counter
// Data control (need to set "normal" page address for Olimex photograph)
S1D15G00_write_command(S_DATCTL);
S1D15G00_write_data(0x00); // P1: 0x00 = page address normal, column address normal, address scan in column direction
S1D15G00_write_data(0x00); // P2: 0x00 = RGB sequence (default value)
S1D15G00_write_data(0x02); // P3: 0x02 = Grayscale -> 16
// Display OFF
S1D15G00_write_command(S_DISOFF);
// Column address set (command 0x2A)
S1D15G00_write_command(S_CASET);
S1D15G00_write_data(0);
S1D15G00_write_data(131);
// Page address set (command 0x2B)
S1D15G00_write_command(S_PASET);
S1D15G00_write_data(0);
S1D15G00_write_data(131);
// WRITE MEMORY
S1D15G00_write_command(S_RAMWR);
for(j = 0; j < 25740; j++)
{
switch (bmp)
{
case 0:
S1D15G00_write_data(bmp0[j]);
break;
case 1:
S1D15G00_write_data(bmp1[j]);
break;
case 2:
S1D15G00_write_data(bmp2[j]);
break;
case 3:
//S1D15G00_write_data(bmp3[j]);
break;
}
}
// Data control (return to "inverted" page address)
S1D15G00_write_command(S_DATCTL);
S1D15G00_write_data(0x01); // P1: 0x01 = page address inverted, column address normal, address scan in column direction
S1D15G00_write_data(0x00); // P2: 0x00 = RGB sequence (default value)
S1D15G00_write_data(0x02); // P3: 0x02 = Grayscale -> 16
// Display On
S1D15G00_write_command(S_DISON);
}
///////////////////////////////////////////////////////////////////////////////
void S1D15G00_LCDWriteIcon(int8 icon, int16 color)
{
int16 i;
switch (icon)
{
case 0:
for (i=0; i<548; i++)
S1D15G00_LCDSetPixel(PixelSet0[i][0], PixelSet0[i][1], color);
break;
case 1:
for (i=0; i<688; i++)
S1D15G00_LCDSetPixel(PixelSet1[i][0], PixelSet1[i][1], color);
break;
case 2:
for (i=0; i<303; i++)
S1D15G00_LCDSetPixel(PixelSet2[i][0], PixelSet2[i][1], color);
break;
case 3:
for (i=0; i<630; i++)
S1D15G00_LCDSetPixel(PixelSet3[i][0], PixelSet3[i][1], color);
break;
}
}
///////////////////////////////////////////////////////////////////////////////
#endif
|
PCF8833.h
Code: |
#ifndef PCF8833_H
#define PCF8833_H
///////////////////////////////////////////////////////////////////////////////
#include <string.h>
///////////////////////////////////////////////////////////////////////////////
// Philips PCF8833 LCD controller command codes
#define P_NOP 0x00 // nop
#define P_SWRESET 0x01 // software reset
#define P_BSTROFF 0x02 // booster voltage OFF
#define P_BSTRON 0x03 // booster voltage ON
#define P_RDDIDIF 0x04 // read display identification
#define P_RDDST 0x09 // read display status
#define P_SLEEPIN 0x10 // sleep in
#define P_SLEEPOUT 0x11 // sleep out
#define P_PTLON 0x12 // partial display mode
#define P_NORON 0x13 // display normal mode
#define P_INVOFF 0x20 // inversion OFF
#define P_INVON 0x21 // inversion ON
#define P_DALO 0x22 // all pixel OFF
#define P_DAL 0x23 // all pixel ON
#define P_SETCON 0x25 // write contrast
#define P_DISPOFF 0x28 // display OFF
#define P_DISPON 0x29 // display ON
#define P_CASET 0x2A // column address set
#define P_PASET 0x2B // page address set
#define P_RAMWR 0x2C // memory write
#define P_RGBSET 0x2D // colour set
#define P_PTLAR 0x30 // partial area
#define P_VSCRDEF 0x33 // vertical scrolling definition
#define P_TEOFF 0x34 // test mode
#define P_TEON 0x35 // test mode
#define P_MADCTL 0x36 // memory access control
#define P_SEP 0x37 // vertical scrolling start address
#define P_IDMOFF 0x38 // idle mode OFF
#define P_IDMON 0x39 // idle mode ON
#define P_COLMOD 0x3A // interface pixel format
#define P_SETVOP 0xB0 // set Vop
#define P_BRS 0xB4 // bottom row swap
#define P_TRS 0xB6 // top row swap
#define P_DISCTR 0xB9 // display control
#define P_DOR 0xBA // data order
#define P_TCDFE 0xBD // enable/disable DF temperature compensation
#define P_TCVOPE 0xBF // enable/disable Vop temp comp
#define P_EC 0xC0 // internal or external oscillator
#define P_SETMUL 0xC2 // set multiplication factor
#define P_TCVOPAB 0xC3 // set TCVOP slopes A and B
#define P_TCVOPCD 0xC4 // set TCVOP slopes c and d
#define P_TCDF 0xC5 // set divider frequency
#define P_DF8COLOR 0xC6 // set divider frequency 8-color mode
#define P_SETBS 0xC7 // set bias system
#define P_RDTEMP 0xC8 // temperature read back
#define P_NLI 0xC9 // n-line inversion
#define P_RDID1 0xDA // read ID1
#define P_RDID2 0xDB // read ID2
#define P_RDID3 0xDC // read ID3
///////////////////////////////////////////////////////////////////////////////
void PCF8833_write_data(int8 data)
{
NLCD_CS = 0;
//Disable SPI:
SSPEN = 0;
SSP2STAT = 0x00;
//Tx first data bit:
NLCD_SDO = 1; //set data bit
NLCD_SCLK= 1; //1 clock pulse
delay_cycles(4);
NLCD_SCLK= 0; //clk low
NLCD_SDO = 0; //data low
//re-enable SPI:
SSPEN = 1;
SSP2STAT = 0x40;
spi_write2(data);
NLCD_CS = 1;
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_write_command(int8 command)
{
NLCD_CS = 0;
//Disable SPI:
SSPEN = 0;
SSP2STAT = 0x00;
//Tx first data bit:
NLCD_SDO = 0; //clear data bit
NLCD_SCLK= 1; //1 clock pulse
delay_cycles(4);
NLCD_SCLK= 0; //clk low
NLCD_SDO = 0; //data low
//re-enable SPI:
SSPEN = 1;
SSP2STAT = 0x40;
spi_write2(command);
NLCD_CS = 1;
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_init()
{
NLCD_CS = 1;
// Hardware reset
NLCD_RESET = 0;
delay_ms(50);
NLCD_RESET = 1;
delay_ms(50);
// Sleep out (command 0x11)
PCF8833_write_command(P_SLEEPOUT);
// Inversion on (command 0x21)
PCF8833_write_command(P_INVOFF); // seems to be required for this controller
// Color Interface Pixel Format (command 0x3A)
PCF8833_write_command(P_COLMOD);
PCF8833_write_data(0x03); // 0x03 = 12 bits-per-pixel
// Memory access controler (command 0x36)
PCF8833_write_command(P_MADCTL);
PCF8833_write_data(0x00); // 0xC0 = mirror x and y, reverse rgb
// Write contrast (command 0x25)
PCF8833_write_command(P_SETCON);
PCF8833_write_data(0x30); // contrast 0x30
delay_ms(50);
// Display On (command 0x29)
PCF8833_write_command(P_DISPON);
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_LCDClearScreen(void) {
int16 i; // loop counter
// Row address set (command 0x2B)
PCF8833_write_command(P_PASET);
PCF8833_write_data(0);
PCF8833_write_data(131);
// Column address set (command 0x2A)
PCF8833_write_command(P_CASET);
PCF8833_write_data(0);
PCF8833_write_data(131);
// set the display memory to BLACK
PCF8833_write_command(P_RAMWR);
For (i = 0; i < ((131 * 131) / 2); i++)
{
PCF8833_write_data((BLACK >> 4) & 0xFF);
PCF8833_write_data(((BLACK & 0xF) << 4) | ((BLACK >> 8) & 0xF));
PCF8833_write_data(BLACK & 0xFF);
}
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_LCDSetPixel(int x, int y, int16 color)
{
// Row address set (command 0x2B)
PCF8833_write_command(P_PASET);
PCF8833_write_data(y);
PCF8833_write_data(y);
// Column address set (command 0x2A)
PCF8833_write_command(P_CASET);
PCF8833_write_data(x);
PCF8833_write_data(x);
PCF8833_write_command(P_RAMWR);
PCF8833_write_data((unsigned char)((color >> 4) & 0xFFFF));
PCF8833_write_data((unsigned char)(((color & 0x0F) << 4) | 0x00));
PCF8833_write_command(P_NOP);
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_LCDPutChar(char c, int x, int y, int8 size, int16 fColor, int16 bColor)
{
int8 i,j;
unsigned int8 nCols;
unsigned int8 nRows;
unsigned int8 nBytes;
unsigned char PixelRow;
unsigned char Mask;
unsigned int16 Word0;
unsigned int16 Word1;
unsigned char pChar[16];
// get pointer to the beginning of the selected font table
// &
// get the nColumns, nRows and nBytes
switch(size)
{
case 0:
nCols = FONT6x8[0][0];
nRows = FONT6x8[0][1];
nBytes= FONT6x8[0][2];
memcpy(pChar, FONT6x8[c - 0x1F], nBytes);
break;
case 1:
nCols = FONT8x8[0][0];
nRows = FONT8x8[0][1];
nBytes= FONT8x8[0][2];
memcpy(pChar, FONT8x8[c - 0x1F], nBytes);
break;
case 2:
nCols = FONT8x16[0][0];
nRows = FONT8x16[0][1];
nBytes= FONT8x16[0][2];
memcpy(pChar, FONT8x16[c - 0x1F], nBytes);
break;
}
// Row address set (command 0x2B)
PCF8833_write_command(P_PASET);
PCF8833_write_data(y);
PCF8833_write_data(y + nRows - 1);
// Column address set (command 0x2A)
PCF8833_write_command(P_CASET);
PCF8833_write_data(x);
PCF8833_write_data(x + nCols - 1);
// WRITE MEMORY
PCF8833_write_command(P_RAMWR);
// loop on each row, working backwards from the bottom to the top
for (i=0; i < nRows; i++) //for (i = nRows - 1; i != 255; i--)
{
// copy pixel row from font table and then decrement row
PixelRow = pChar[i]; //PixelRow = *pChar--;
// loop on each pixel in the row (left to right)
// Note: we do two pixels each loop
Mask = 0x80;
for (j = 0; j < nCols; j += 2)
{
// if pixel bit set, use foreground color; else use the background color
// now get the pixel color for two successive pixels
if ((PixelRow & Mask) == 0)
Word0 = bColor;
else
Word0 = fColor;
Mask = Mask >> 1;
if ((PixelRow & Mask) == 0)
Word1 = bColor;
else
Word1 = fColor;
Mask = Mask >> 1;
// use this information to output three data bytes
PCF8833_write_data((Word0 >> 4) & 0xFF);
PCF8833_write_data(((Word0 & 0xF) << 4) | ((Word1 >> 8) & 0xF));
PCF8833_write_data(Word1 & 0xFF);
}
}
// terminate the Write Memory command
PCF8833_write_command(P_NOP);
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_LCDPutStr(char *pString, int x, int y, int Size, int16 fColor, int16 bColor)
{
// loop until null-terminator is seen
while (*pString != '\0')
{
// draw the character
PCF8833_LCDPutChar(*pString++, x, y, Size, fColor, bColor);
// advance the y position
if (Size == SMALL)
x = x + 6;
else
x = x + 8;
// bail out if y exceeds 131
if (y > 131) break;
}
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_LCDWrite132x132bmp(int8 bmp)
{
long j; // loop counter
// Memory access controler (command 0x36)
//PCF8833_write_command(MADCTL);
//PCF8833_write_data(0x48); // no mirror Y (temporary to satisfy Olimex bmptoarray utility)
// Display OFF
PCF8833_write_command(P_DISPOFF);
// Column address set (command 0x2A)
PCF8833_write_command(P_CASET);
PCF8833_write_data(0);
PCF8833_write_data(131);
// Page address set (command 0x2B)
PCF8833_write_command(P_PASET);
PCF8833_write_data(0);
PCF8833_write_data(131);
// WRITE MEMORY
PCF8833_write_command(P_RAMWR);
for(j = 0; j < 25740; j++)
{
switch (bmp)
{
case 0:
PCF8833_write_data(bmp0[j]);
break;
case 1:
PCF8833_write_data(bmp1[j]);
break;
case 2:
PCF8833_write_data(bmp2[j]);
break;
case 3:
//PCF8833_write_data(bmp3[j]);
break;
}
}
// Memory access controler (command 0x36)
//PCF8833_write_command(MADCTL);
//PCF8833_write_data(0xC8); // restore to (mirror x and y, reverse rgb)
// Display On
PCF8833_write_command(P_DISPON);
}
///////////////////////////////////////////////////////////////////////////////
void PCF8833_LCDWriteIcon(int8 icon, int16 color)
{
int16 i;
switch (icon)
{
case 0:
for (i=0; i<548; i++)
PCF8833_LCDSetPixel(PixelSet0[i][0], PixelSet0[i][1], color);
break;
case 1:
for (i=0; i<688; i++)
PCF8833_LCDSetPixel(PixelSet1[i][0], PixelSet1[i][1], color);
break;
case 2:
for (i=0; i<303; i++)
PCF8833_LCDSetPixel(PixelSet2[i][0], PixelSet2[i][1], color);
break;
case 3:
for (i=0; i<630; i++)
PCF8833_LCDSetPixel(PixelSet3[i][0], PixelSet3[i][1], color);
break;
}
}
///////////////////////////////////////////////////////////////////////////////
#endif
|
NOK6100.h
Code: |
#ifndef NOK6100_H
#define NOK6100_H
///////////////////////////////////////////////////////////////////////////////
//Select one (comment one):
//#define EPSON_DRV
#define PHILIPS_DRV
///////////////////////////////////////////////////////////////////////////////
#bit NLCD_CS = PORTB.1
#bit NLCD_RESET = PORTB.0
#bit NLCD_SCLK = PORTD.6
#bit NLCD_SDO = PORTD.4
///////////////////////////////////////////////////////////////////////////////
const unsigned char FONT6x8[97][8] = {
0x06,0x08,0x08,0x00,0x00,0x00,0x00,0x00, // columns, rows, num_bytes_per_char
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
0x20,0x20,0x20,0x20,0x20,0x00,0x20,0x00, // !
0x50,0x50,0x50,0x00,0x00,0x00,0x00,0x00, // "
0x50,0x50,0xF8,0x50,0xF8,0x50,0x50,0x00, // #
0x20,0x78,0xA0,0x70,0x28,0xF0,0x20,0x00, // $
0xC0,0xC8,0x10,0x20,0x40,0x98,0x18,0x00, // %
0x40,0xA0,0xA0,0x40,0xA8,0x90,0x68,0x00, // &
0x30,0x30,0x20,0x40,0x00,0x00,0x00,0x00, // '
0x10,0x20,0x40,0x40,0x40,0x20,0x10,0x00, // (
0x40,0x20,0x10,0x10,0x10,0x20,0x40,0x00, // )
0x00,0x20,0xA8,0x70,0x70,0xA8,0x20,0x00, // *
0x00,0x20,0x20,0xF8,0x20,0x20,0x00,0x00, // +
0x00,0x00,0x00,0x00,0x30,0x30,0x20,0x40, // ,
0x00,0x00,0x00,0xF8,0x00,0x00,0x00,0x00, // -
0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00, // .
0x00,0x08,0x10,0x20,0x40,0x80,0x00,0x00, // / (forward slash)
0x70,0x88,0x88,0xA8,0x88,0x88,0x70,0x00, // 0 0x30
0x20,0x60,0x20,0x20,0x20,0x20,0x70,0x00, // 1
0x70,0x88,0x08,0x70,0x80,0x80,0xF8,0x00, // 2
0xF8,0x08,0x10,0x30,0x08,0x88,0x70,0x00, // 3
0x10,0x30,0x50,0x90,0xF8,0x10,0x10,0x00, // 4
0xF8,0x80,0xF0,0x08,0x08,0x88,0x70,0x00, // 5
0x38,0x40,0x80,0xF0,0x88,0x88,0x70,0x00, // 6
0xF8,0x08,0x08,0x10,0x20,0x40,0x80,0x00, // 7
0x70,0x88,0x88,0x70,0x88,0x88,0x70,0x00, // 8
0x70,0x88,0x88,0x78,0x08,0x10,0xE0,0x00, // 9
0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00, // :
0x00,0x00,0x20,0x00,0x20,0x20,0x40,0x00, // ;
0x08,0x10,0x20,0x40,0x20,0x10,0x08,0x00, // <
0x00,0x00,0xF8,0x00,0xF8,0x00,0x00,0x00, // =
0x40,0x20,0x10,0x08,0x10,0x20,0x40,0x00, // >
0x70,0x88,0x08,0x30,0x20,0x00,0x20,0x00, // ?
0x70,0x88,0xA8,0xB8,0xB0,0x80,0x78,0x00, // @ 0x40
0x20,0x50,0x88,0x88,0xF8,0x88,0x88,0x00, // A
0xF0,0x88,0x88,0xF0,0x88,0x88,0xF0,0x00, // B
0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x00, // C
0xF0,0x88,0x88,0x88,0x88,0x88,0xF0,0x00, // D
0xF8,0x80,0x80,0xF0,0x80,0x80,0xF8,0x00, // E
0xF8,0x80,0x80,0xF0,0x80,0x80,0x80,0x00, // F
0x78,0x88,0x80,0x80,0x98,0x88,0x78,0x00, // G
0x88,0x88,0x88,0xF8,0x88,0x88,0x88,0x00, // H
0x70,0x20,0x20,0x20,0x20,0x20,0x70,0x00, // I
0x38,0x10,0x10,0x10,0x10,0x90,0x60,0x00, // J
0x88,0x90,0xA0,0xC0,0xA0,0x90,0x88,0x00, // K
0x80,0x80,0x80,0x80,0x80,0x80,0xF8,0x00, // L
0x88,0xD8,0xA8,0xA8,0xA8,0x88,0x88,0x00, // M
0x88,0x88,0xC8,0xA8,0x98,0x88,0x88,0x00, // N
0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x00, // O
0xF0,0x88,0x88,0xF0,0x80,0x80,0x80,0x00, // P 0x50
0x70,0x88,0x88,0x88,0xA8,0x90,0x68,0x00, // Q
0xF0,0x88,0x88,0xF0,0xA0,0x90,0x88,0x00, // R
0x70,0x88,0x80,0x70,0x08,0x88,0x70,0x00, // S
0xF8,0xA8,0x20,0x20,0x20,0x20,0x20,0x00, // T
0x88,0x88,0x88,0x88,0x88,0x88,0x70,0x00, // U
0x88,0x88,0x88,0x88,0x88,0x50,0x20,0x00, // V
0x88,0x88,0x88,0xA8,0xA8,0xA8,0x50,0x00, // W
0x88,0x88,0x50,0x20,0x50,0x88,0x88,0x00, // X
0x88,0x88,0x50,0x20,0x20,0x20,0x20,0x00, // Y
0xF8,0x08,0x10,0x70,0x40,0x80,0xF8,0x00, // Z
0x78,0x40,0x40,0x40,0x40,0x40,0x78,0x00, // [
0x00,0x80,0x40,0x20,0x10,0x08,0x00,0x00, // \ (back slash)
0x78,0x08,0x08,0x08,0x08,0x08,0x78,0x00, // ]
0x20,0x50,0x88,0x00,0x00,0x00,0x00,0x00, // ^
0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x00, // _
0x60,0x60,0x20,0x10,0x00,0x00,0x00,0x00, // ` 0x60
0x00,0x00,0x60,0x10,0x70,0x90,0x78,0x00, // a
0x80,0x80,0xB0,0xC8,0x88,0xC8,0xB0,0x00, // b
0x00,0x00,0x70,0x88,0x80,0x88,0x70,0x00, // c
0x08,0x08,0x68,0x98,0x88,0x98,0x68,0x00, // d
0x00,0x00,0x70,0x88,0xF8,0x80,0x70,0x00, // e
0x10,0x28,0x20,0x70,0x20,0x20,0x20,0x00, // f
0x00,0x00,0x70,0x98,0x98,0x68,0x08,0x70, // g
0x80,0x80,0xB0,0xC8,0x88,0x88,0x88,0x00, // h
0x20,0x00,0x60,0x20,0x20,0x20,0x70,0x00, // i
0x10,0x00,0x10,0x10,0x10,0x90,0x60,0x00, // j
0x80,0x80,0x90,0xA0,0xC0,0xA0,0x90,0x00, // k
0x60,0x20,0x20,0x20,0x20,0x20,0x70,0x00, // l
0x00,0x00,0xD0,0xA8,0xA8,0xA8,0xA8,0x00, // m
0x00,0x00,0xB0,0xC8,0x88,0x88,0x88,0x00, // n
0x00,0x00,0x70,0x88,0x88,0x88,0x70,0x00, // o
0x00,0x00,0xB0,0xC8,0xC8,0xB0,0x80,0x80, // p 0x70
0x00,0x00,0x68,0x98,0x98,0x68,0x08,0x08, // q
0x00,0x00,0xB0,0xC8,0x80,0x80,0x80,0x00, // r
0x00,0x00,0x78,0x80,0x70,0x08,0xF0,0x00, // s
0x20,0x20,0xF8,0x20,0x20,0x28,0x10,0x00, // t
0x00,0x00,0x88,0x88,0x88,0x98,0x68,0x00, // u
0x00,0x00,0x88,0x88,0x88,0x50,0x20,0x00, // v
0x00,0x00,0x88,0x88,0xA8,0xA8,0x50,0x00, // w
0x00,0x00,0x88,0x50,0x20,0x50,0x88,0x00, // x
0x00,0x00,0x88,0x88,0x78,0x08,0x88,0x70, // y
0x00,0x00,0xF8,0x10,0x20,0x40,0xF8,0x00, // z
0x10,0x20,0x20,0x40,0x20,0x20,0x10,0x00, // {
0x20,0x20,0x20,0x00,0x20,0x20,0x20,0x00, // |
0x40,0x20,0x20,0x10,0x20,0x20,0x40,0x00, // }
0x40,0xA8,0x10,0x00,0x00,0x00,0x00,0x00, // ~
0x70,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00}; // DEL
const unsigned char FONT8x8[97][8] = {
0x08,0x08,0x08,0x00,0x00,0x00,0x00,0x00, // columns, rows, num_bytes_per_char
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
0x30,0x78,0x78,0x30,0x30,0x00,0x30,0x00, // !
0x6C,0x6C,0x6C,0x00,0x00,0x00,0x00,0x00, // "
0x6C,0x6C,0xFE,0x6C,0xFE,0x6C,0x6C,0x00, // #
0x18,0x3E,0x60,0x3C,0x06,0x7C,0x18,0x00, // $
0x00,0x63,0x66,0x0C,0x18,0x33,0x63,0x00, // %
0x1C,0x36,0x1C,0x3B,0x6E,0x66,0x3B,0x00, // &
0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00, // '
0x0C,0x18,0x30,0x30,0x30,0x18,0x0C,0x00, // (
0x30,0x18,0x0C,0x0C,0x0C,0x18,0x30,0x00, // )
0x00,0x66,0x3C,0xFF,0x3C,0x66,0x00,0x00, // *
0x00,0x30,0x30,0xFC,0x30,0x30,0x00,0x00, // +
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x30, // ,
0x00,0x00,0x00,0x7E,0x00,0x00,0x00,0x00, // -
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00, // .
0x03,0x06,0x0C,0x18,0x30,0x60,0x40,0x00, // / (forward slash)
0x3E,0x63,0x63,0x6B,0x63,0x63,0x3E,0x00, // 0 0x30
0x18,0x38,0x58,0x18,0x18,0x18,0x7E,0x00, // 1
0x3C,0x66,0x06,0x1C,0x30,0x66,0x7E,0x00, // 2
0x3C,0x66,0x06,0x1C,0x06,0x66,0x3C,0x00, // 3
0x0E,0x1E,0x36,0x66,0x7F,0x06,0x0F,0x00, // 4
0x7E,0x60,0x7C,0x06,0x06,0x66,0x3C,0x00, // 5
0x1C,0x30,0x60,0x7C,0x66,0x66,0x3C,0x00, // 6
0x7E,0x66,0x06,0x0C,0x18,0x18,0x18,0x00, // 7
0x3C,0x66,0x66,0x3C,0x66,0x66,0x3C,0x00, // 8
0x3C,0x66,0x66,0x3E,0x06,0x0C,0x38,0x00, // 9
0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00, // :
0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x30, // ;
0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x00, // <
0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00, // =
0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x00, // >
0x3C,0x66,0x06,0x0C,0x18,0x00,0x18,0x00, // ?
0x3E,0x63,0x6F,0x69,0x6F,0x60,0x3E,0x00, // @ 0x40
0x18,0x3C,0x66,0x66,0x7E,0x66,0x66,0x00, // A
0x7E,0x33,0x33,0x3E,0x33,0x33,0x7E,0x00, // B
0x1E,0x33,0x60,0x60,0x60,0x33,0x1E,0x00, // C
0x7C,0x36,0x33,0x33,0x33,0x36,0x7C,0x00, // D
0x7F,0x31,0x34,0x3C,0x34,0x31,0x7F,0x00, // E
0x7F,0x31,0x34,0x3C,0x34,0x30,0x78,0x00, // F
0x1E,0x33,0x60,0x60,0x67,0x33,0x1F,0x00, // G
0x66,0x66,0x66,0x7E,0x66,0x66,0x66,0x00, // H
0x3C,0x18,0x18,0x18,0x18,0x18,0x3C,0x00, // I
0x0F,0x06,0x06,0x06,0x66,0x66,0x3C,0x00, // J
0x73,0x33,0x36,0x3C,0x36,0x33,0x73,0x00, // K
0x78,0x30,0x30,0x30,0x31,0x33,0x7F,0x00, // L
0x63,0x77,0x7F,0x7F,0x6B,0x63,0x63,0x00, // M
0x63,0x73,0x7B,0x6F,0x67,0x63,0x63,0x00, // N
0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00, // O
0x7E,0x33,0x33,0x3E,0x30,0x30,0x78,0x00, // P 0x50
0x3C,0x66,0x66,0x66,0x6E,0x3C,0x0E,0x00, // Q
0x7E,0x33,0x33,0x3E,0x36,0x33,0x73,0x00, // R
0x3C,0x66,0x30,0x18,0x0C,0x66,0x3C,0x00, // S
0x7E,0x5A,0x18,0x18,0x18,0x18,0x3C,0x00, // T
0x66,0x66,0x66,0x66,0x66,0x66,0x7E,0x00, // U
0x66,0x66,0x66,0x66,0x66,0x3C,0x18,0x00, // V
0x63,0x63,0x63,0x6B,0x7F,0x77,0x63,0x00, // W
0x63,0x63,0x36,0x1C,0x1C,0x36,0x63,0x00, // X
0x66,0x66,0x66,0x3C,0x18,0x18,0x3C,0x00, // Y
0x7F,0x63,0x46,0x0C,0x19,0x33,0x7F,0x00, // Z
0x3C,0x30,0x30,0x30,0x30,0x30,0x3C,0x00, // [
0x60,0x30,0x18,0x0C,0x06,0x03,0x01,0x00, // \ (back slash)
0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00, // ]
0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00, // ^
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF, // _
0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00, // ` 0x60
0x00,0x00,0x3C,0x06,0x3E,0x66,0x3B,0x00, // a
0x70,0x30,0x3E,0x33,0x33,0x33,0x6E,0x00, // b
0x00,0x00,0x3C,0x66,0x60,0x66,0x3C,0x00, // c
0x0E,0x06,0x3E,0x66,0x66,0x66,0x3B,0x00, // d
0x00,0x00,0x3C,0x66,0x7E,0x60,0x3C,0x00, // e
0x1C,0x36,0x30,0x78,0x30,0x30,0x78,0x00, // f
0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x7C, // g
0x70,0x30,0x36,0x3B,0x33,0x33,0x73,0x00, // h
0x18,0x00,0x38,0x18,0x18,0x18,0x3C,0x00, // i
0x06,0x00,0x06,0x06,0x06,0x66,0x66,0x3C, // j
0x70,0x30,0x33,0x36,0x3C,0x36,0x73,0x00, // k
0x38,0x18,0x18,0x18,0x18,0x18,0x3C,0x00, // l
0x00,0x00,0x66,0x7F,0x7F,0x6B,0x63,0x00, // m
0x00,0x00,0x7C,0x66,0x66,0x66,0x66,0x00, // n
0x00,0x00,0x3C,0x66,0x66,0x66,0x3C,0x00, // o
0x00,0x00,0x6E,0x33,0x33,0x3E,0x30,0x78, // p 0x70
0x00,0x00,0x3B,0x66,0x66,0x3E,0x06,0x0F, // q
0x00,0x00,0x6E,0x3B,0x33,0x30,0x78,0x00, // r
0x00,0x00,0x3E,0x60,0x3C,0x06,0x7C,0x00, // s
0x08,0x18,0x3E,0x18,0x18,0x1A,0x0C,0x00, // t
0x00,0x00,0x66,0x66,0x66,0x66,0x3B,0x00, // u
0x00,0x00,0x66,0x66,0x66,0x3C,0x18,0x00, // v
0x00,0x00,0x63,0x6B,0x7F,0x7F,0x36,0x00, // w
0x00,0x00,0x63,0x36,0x1C,0x36,0x63,0x00, // x
0x00,0x00,0x66,0x66,0x66,0x3E,0x06,0x7C, // y
0x00,0x00,0x7E,0x4C,0x18,0x32,0x7E,0x00, // z
0x0E,0x18,0x18,0x70,0x18,0x18,0x0E,0x00, // {
0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x0C,0x00, // |
0x70,0x18,0x18,0x0E,0x18,0x18,0x70,0x00, // }
0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00, // ~
0x1C,0x36,0x36,0x1C,0x00,0x00,0x00,0x00}; // DEL
const unsigned char FONT8x16[97][16] = {
0x08,0x10,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // columns, rows, num_bytes_per_char
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // space 0x20
0x00,0x00,0x18,0x3C,0x3C,0x3C,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // !
0x00,0x63,0x63,0x63,0x22,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // "
0x00,0x00,0x00,0x36,0x36,0x7F,0x36,0x36,0x36,0x7F,0x36,0x36,0x00,0x00,0x00,0x00, // #
0x0C,0x0C,0x3E,0x63,0x61,0x60,0x3E,0x03,0x03,0x43,0x63,0x3E,0x0C,0x0C,0x00,0x00, // $
0x00,0x00,0x00,0x00,0x00,0x61,0x63,0x06,0x0C,0x18,0x33,0x63,0x00,0x00,0x00,0x00, // %
0x00,0x00,0x00,0x1C,0x36,0x36,0x1C,0x3B,0x6E,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // &
0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // '
0x00,0x00,0x0C,0x18,0x18,0x30,0x30,0x30,0x30,0x18,0x18,0x0C,0x00,0x00,0x00,0x00, // (
0x00,0x00,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18,0x00,0x00,0x00,0x00, // )
0x00,0x00,0x00,0x00,0x42,0x66,0x3C,0xFF,0x3C,0x66,0x42,0x00,0x00,0x00,0x00,0x00, // *
0x00,0x00,0x00,0x00,0x18,0x18,0x18,0xFF,0x18,0x18,0x18,0x00,0x00,0x00,0x00,0x00, // +
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00, // ,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // -
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // .
0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00, // / (forward slash)
0x00,0x00,0x3E,0x63,0x63,0x63,0x6B,0x6B,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // 0 0x30
0x00,0x00,0x0C,0x1C,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3F,0x00,0x00,0x00,0x00, // 1
0x00,0x00,0x3E,0x63,0x03,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00,0x00, // 2
0x00,0x00,0x3E,0x63,0x03,0x03,0x1E,0x03,0x03,0x03,0x63,0x3E,0x00,0x00,0x00,0x00, // 3
0x00,0x00,0x06,0x0E,0x1E,0x36,0x66,0x66,0x7F,0x06,0x06,0x0F,0x00,0x00,0x00,0x00, // 4
0x00,0x00,0x7F,0x60,0x60,0x60,0x7E,0x03,0x03,0x63,0x73,0x3E,0x00,0x00,0x00,0x00, // 5
0x00,0x00,0x1C,0x30,0x60,0x60,0x7E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // 6
0x00,0x00,0x7F,0x63,0x03,0x06,0x06,0x0C,0x0C,0x18,0x18,0x18,0x00,0x00,0x00,0x00, // 7
0x00,0x00,0x3E,0x63,0x63,0x63,0x3E,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // 8
0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x3F,0x03,0x03,0x06,0x3C,0x00,0x00,0x00,0x00, // 9
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, // :
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00, // ;
0x00,0x00,0x00,0x06,0x0C,0x18,0x30,0x60,0x30,0x18,0x0C,0x06,0x00,0x00,0x00,0x00, // <
0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x00,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00, // =
0x00,0x00,0x00,0x60,0x30,0x18,0x0C,0x06,0x0C,0x18,0x30,0x60,0x00,0x00,0x00,0x00, // >
0x00,0x00,0x3E,0x63,0x63,0x06,0x0C,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00, // ?
0x00,0x00,0x3E,0x63,0x63,0x6F,0x6B,0x6B,0x6E,0x60,0x60,0x3E,0x00,0x00,0x00,0x00, // @ 0x40
0x00,0x00,0x08,0x1C,0x36,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // A
0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x33,0x33,0x33,0x33,0x7E,0x00,0x00,0x00,0x00, // B
0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x60,0x60,0x61,0x33,0x1E,0x00,0x00,0x00,0x00, // C
0x00,0x00,0x7C,0x36,0x33,0x33,0x33,0x33,0x33,0x33,0x36,0x7C,0x00,0x00,0x00,0x00, // D
0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x31,0x33,0x7F,0x00,0x00,0x00,0x00, // E
0x00,0x00,0x7F,0x33,0x31,0x34,0x3C,0x34,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // F
0x00,0x00,0x1E,0x33,0x61,0x60,0x60,0x6F,0x63,0x63,0x37,0x1D,0x00,0x00,0x00,0x00, // G
0x00,0x00,0x63,0x63,0x63,0x63,0x7F,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // H
0x00,0x00,0x3C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00, // I
0x00,0x00,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00,0x00,0x00, // J
0x00,0x00,0x73,0x33,0x36,0x36,0x3C,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00, // K
0x00,0x00,0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x31,0x33,0x7F,0x00,0x00,0x00,0x00, // L
0x00,0x00,0x63,0x77,0x7F,0x6B,0x63,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // M
0x00,0x00,0x63,0x63,0x73,0x7B,0x7F,0x6F,0x67,0x63,0x63,0x63,0x00,0x00,0x00,0x00, // N
0x00,0x00,0x1C,0x36,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x00,0x00,0x00,0x00, // O
0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // P 0x50
0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x63,0x6B,0x6F,0x3E,0x06,0x07,0x00,0x00, // Q
0x00,0x00,0x7E,0x33,0x33,0x33,0x3E,0x36,0x36,0x33,0x33,0x73,0x00,0x00,0x00,0x00, // R
0x00,0x00,0x3E,0x63,0x63,0x30,0x1C,0x06,0x03,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // S
0x00,0x00,0xFF,0xDB,0x99,0x18,0x18,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00, // T
0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // U
0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x36,0x1C,0x08,0x00,0x00,0x00,0x00, // V
0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x36,0x00,0x00,0x00,0x00, // W
0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00,0x00, // X
0x00,0x00,0xC3,0xC3,0xC3,0x66,0x3C,0x18,0x18,0x18,0x18,0x3C,0x00,0x00,0x00,0x00, // Y
0x00,0x00,0x7F,0x63,0x43,0x06,0x0C,0x18,0x30,0x61,0x63,0x7F,0x00,0x00,0x00,0x00, // Z
0x00,0x00,0x3C,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3C,0x00,0x00,0x00,0x00, // [
0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00,0x00, // \ (back slash)
0x00,0x00,0x3C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x3C,0x00,0x00,0x00,0x00, // ]
0x08,0x1C,0x36,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00, // _
0x18,0x18,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` 0x60
0x00,0x00,0x00,0x00,0x00,0x3C,0x46,0x06,0x3E,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // a
0x00,0x00,0x70,0x30,0x30,0x3C,0x36,0x33,0x33,0x33,0x33,0x6E,0x00,0x00,0x00,0x00, // b
0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x60,0x60,0x60,0x63,0x3E,0x00,0x00,0x00,0x00, // c
0x00,0x00,0x0E,0x06,0x06,0x1E,0x36,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // d
0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x7E,0x60,0x63,0x3E,0x00,0x00,0x00,0x00, // e
0x00,0x00,0x1C,0x36,0x32,0x30,0x7C,0x30,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // f
0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x66,0x3C,0x00,0x00, // g
0x00,0x00,0x70,0x30,0x30,0x36,0x3B,0x33,0x33,0x33,0x33,0x73,0x00,0x00,0x00,0x00, // h
0x00,0x00,0x0C,0x0C,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00, // i
0x00,0x00,0x06,0x06,0x00,0x0E,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3C,0x00,0x00, // j
0x00,0x00,0x70,0x30,0x30,0x33,0x33,0x36,0x3C,0x36,0x33,0x73,0x00,0x00,0x00,0x00, // k
0x00,0x00,0x1C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x1E,0x00,0x00,0x00,0x00, // l
0x00,0x00,0x00,0x00,0x00,0x6E,0x7F,0x6B,0x6B,0x6B,0x6B,0x6B,0x00,0x00,0x00,0x00, // m
0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x33,0x33,0x00,0x00,0x00,0x00, // n
0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00,0x00, // o
0x00,0x00,0x00,0x00,0x00,0x6E,0x33,0x33,0x33,0x33,0x3E,0x30,0x30,0x78,0x00,0x00, // p 0x70
0x00,0x00,0x00,0x00,0x00,0x3B,0x66,0x66,0x66,0x66,0x3E,0x06,0x06,0x0F,0x00,0x00, // q
0x00,0x00,0x00,0x00,0x00,0x6E,0x3B,0x33,0x30,0x30,0x30,0x78,0x00,0x00,0x00,0x00, // r
0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x38,0x0E,0x03,0x63,0x3E,0x00,0x00,0x00,0x00, // s
0x00,0x00,0x08,0x18,0x18,0x7E,0x18,0x18,0x18,0x18,0x1B,0x0E,0x00,0x00,0x00,0x00, // t
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x3B,0x00,0x00,0x00,0x00, // u
0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x36,0x36,0x1C,0x1C,0x08,0x00,0x00,0x00,0x00, // v
0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x6B,0x6B,0x7F,0x36,0x00,0x00,0x00,0x00, // w
0x00,0x00,0x00,0x00,0x00,0x63,0x36,0x1C,0x1C,0x1C,0x36,0x63,0x00,0x00,0x00,0x00, // x
0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x3F,0x03,0x06,0x3C,0x00,0x00, // y
0x00,0x00,0x00,0x00,0x00,0x7F,0x66,0x0C,0x18,0x30,0x63,0x7F,0x00,0x00,0x00,0x00, // z
0x00,0x00,0x0E,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0E,0x00,0x00,0x00,0x00, // {
0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00, // |
0x00,0x00,0x70,0x18,0x18,0x18,0x0E,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00, // }
0x00,0x00,0x3B,0x6E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~
0x00,0x70,0xD8,0xD8,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; // DEL
///////////////////////////////////////////////////////////////////////////////
// 12-bit color definitions
#define WHITE 0xFFF
#define BLACK 0x000
#define RED 0xF00
#define GREEN 0x0F0
#define BLUE 0x00F
#define CYAN 0x0FF
#define MAGENTA 0xF0F
#define YELLOW 0xFF0
#define BROWN 0xB22
#define ORANGE 0xFA0
#define PINK 0xF6A
// Font size
#define SMALL 0
#define MEDIUM 1
#define LARGE 2
///////////////////////////////////////////////////////////////////////////////
#include "bitmaps.h"
#include "icons.h"
///////////////////////////////////////////////////////////////////////////////
#define GLCD_WIDTH 132
///////////////////////////////////////////////////////////////////////////////
const int16 GreyColors[32]=
{0x000, 0x111, 0x222, 0x333, 0x444, 0x555, 0x666, 0x777, 0x888, 0x999, 0xaaa,
0xbbb, 0xccc, 0xddd, 0xeee, 0xfff, 0xfff, 0xfff, 0xeee, 0xddd, 0xccc, 0xbbb, 0xaaa, 0x999,
0x888, 0x777, 0x666, 0x555, 0x444, 0x333, 0x222, 0x111};
///////////////////////////////////////////////////////////////////////////////
#ifdef EPSON_DRV // S1D15G00 chip?
#include "S1D15G00.h"
#define Nokia6100Init() S1D15G00_init()
#define Nokia6100DisplayOn() S1D15G00_write_command(S_DISON)
#define Nokia6100DisplayOff() S1D15G00_write_command(S_DISOFF)
#define glcd_pixel(x, y, color) S1D15G00_LCDSetPixel(x, y, color)
#define Nokia6100ClearScreen() S1D15G00_LCDClearScreen()
#define Nokia6100PutChar(c, x, y, size, fColor, bColor) S1D15G00_LCDPutChar(c, x, y, size, fColor, bColor)
#define Nokia6100PutStr(pString, x, y, Size, fColor, bColor) S1D15G00_LCDPutStr(pString, x, y, Size, fColor, bColor)
#define Nokia6100Write132x132bmp(bmp) S1D15G00_LCDWrite132x132bmp(bmp)
#define Nokia6100WriteIcon(icon, color) S1D15G00_LCDWriteIcon(icon, color)
#else // PCF8833 chip?
#include "PCF8833.h"
#define Nokia6100Init() PCF8833_init()
#define Nokia6100DisplayOn() PCF8833_write_command(P_DISPON)
#define Nokia6100DisplayOff() PCF8833_write_command(P_DISPOFF)
#define glcd_pixel(x, y, color) PCF8833_LCDSetPixel(x, y, color)
#define Nokia6100ClearScreen() PCF8833_LCDClearScreen()
#define Nokia6100PutChar(c, x, y, size, fColor, bColor) PCF8833_LCDPutChar(c, x, y, size, fColor, bColor)
#define Nokia6100PutStr(pString, x, y, Size, fColor, bColor) PCF8833_LCDPutStr(pString, x, y, Size, fColor, bColor)
#define Nokia6100Write132x132bmp(bmp) PCF8833_LCDWrite132x132bmp(bmp)
#define Nokia6100WriteIcon(icon, color) PCF8833_LCDWriteIcon(icon, color)
#endif
///////////////////////////////////////////////////////////////////////////////
#endif
|
Enjoy |
|