Automatic commit at Wed Jul 25 15:50:05 WST 2012
[matches/honours.git] / research / TCS / apparatus / source_code / LCD_Driver.h
1 //*****************************************************************************\r
2 //\r
3 //  File........: LCD_Driver.h\r
4 //\r
5 //  Author(s)...: ATMEL Norway\r
6 //\r
7 //  Target(s)...: ATmega169\r
8 //\r
9 //  Description.: Defines and prototypes for LCD_Driver.c\r
10 //\r
11 //  Revisions...: 1.0\r
12 //\r
13 //  YYYYMMDD - VER. - COMMENT                                       - SIGN.\r
14 //\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
19 //\r
20 //*****************************************************************************\r
21 \r
22 \r
23 /************************************************************************/\r
24 // Definitions\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
31 \r
32 #define SCROLLMODE_ONCE         0x01\r
33 #define SCROLLMODE_LOOP         0x02\r
34 #define SCROLLMODE_WAVE         0x03\r
35 \r
36 /************************************************************************/\r
37 //MACROS\r
38 /************************************************************************/\r
39 //active = [TRUE;FALSE]\r
40 #define LCD_SET_COLON(active) LCD_Data[8] = active\r
41 \r
42 // DEVICE SPECIFIC!!! (ATmega169)\r
43 #define pLCDREG ((unsigned char *)(0xEC))\r
44 \r
45 // DEVICE SPECIFIC!!! (ATmega169) First LCD segment register\r
46 #define LCD_CONTRAST_LEVEL(level) LCDCCR=((LCDCCR&0xF0)|(0x0F & level))\r
47 \r
48 \r
49 /************************************************************************/\r
50 // Global variables\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
58 extern char gColon;\r
59 extern volatile signed char gScroll;\r
60 extern volatile char gAutoPressJoystick;\r
61 \r
62 /************************************************************************/\r
63 // Global functions\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

UCC git Repository :: git.ucc.asn.au