1 //*****************************************************************************
\r
3 // File........: LCD_Driver.h
\r
5 // Author(s)...: ATMEL Norway
\r
7 // Target(s)...: ATmega169
\r
9 // Description.: Defines and prototypes for LCD_Driver.c
\r
11 // Revisions...: 1.0
\r
13 // YYYYMMDD - VER. - COMMENT - SIGN.
\r
15 // 20020606 - 0.10 - File created - RM
\r
16 // 20021010 - 1.0 - Clean up - JLL
\r
17 // 20031009 port to avr-gcc/avr-libc - M.Thomas
\r
18 // 20070129 LCD_CONTRAST_LEVEL from Atmel's REV07-code - mt
\r
20 //*****************************************************************************
\r
23 /************************************************************************/
\r
25 /************************************************************************/
\r
26 #define LCD_INITIAL_CONTRAST 0x0F
\r
27 #define LCD_TIMER_SEED 3
\r
28 #define LCD_FLASH_SEED 10
\r
29 #define LCD_REGISTER_COUNT 20
\r
30 #define TEXTBUFFER_SIZE 25
\r
32 #define SCROLLMODE_ONCE 0x01
\r
33 #define SCROLLMODE_LOOP 0x02
\r
34 #define SCROLLMODE_WAVE 0x03
\r
36 /************************************************************************/
\r
38 /************************************************************************/
\r
39 //active = [TRUE;FALSE]
\r
40 #define LCD_SET_COLON(active) LCD_Data[8] = active
\r
42 // DEVICE SPECIFIC!!! (ATmega169)
\r
43 #define pLCDREG ((unsigned char *)(0xEC))
\r
45 // DEVICE SPECIFIC!!! (ATmega169) First LCD segment register
\r
46 #define LCD_CONTRAST_LEVEL(level) LCDCCR=((LCDCCR&0xF0)|(0x0F & level))
\r
49 /************************************************************************/
\r
51 /************************************************************************/
\r
52 // mt: volatiles added (based on jw patch)
\r
53 extern volatile char gLCD_Update_Required;
\r
54 // mt: extern char LCD_Data[LCD_REGISTER_COUNT];
\r
55 extern volatile char gTextBuffer[TEXTBUFFER_SIZE];
\r
56 extern volatile char gScrollMode;
\r
57 extern volatile char gFlashTimer;
\r
59 extern volatile signed char gScroll;
\r
60 extern volatile char gAutoPressJoystick;
\r
62 /************************************************************************/
\r
64 /************************************************************************/
\r
65 void LCD_Init (void);
\r
66 void LCD_WriteDigit(char input, char digit);
\r
67 void LCD_AllSegments(char show);
\r