📄 al320_osddisplay.lst
字号:
C51 COMPILER V7.50 AL320_OSDDISPLAY 06/25/2008 18:08:09 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE AL320_OSDDISPLAY
OBJECT MODULE PLACED IN .\Output\AL320_OSDDISPLAY.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AL320_OSDDISPLAY.C BROWSE DEBUG OBJECTEXTEND PRINT(.\Output\AL320_OSDDISPLA
-Y.lst) OBJECT(.\Output\AL320_OSDDISPLAY.obj)
line level source
1 /*--------------------------------------------------------------------------
2 AL320_OSDDISPLAY.C
3 C file for AL320_OSDDISPLAY
4
5 History:
6 07/20/2006 : First Version V0.1 ---HsinChu Office
7 09/15/2006 : Version 0.2 ---HsinChu Office
8 1. Delete 24x16 Font.
9 2. Only use 12x8 font for display.
10 3. Increase AL320_OSDVariableInitial function.
11
12 Copyright (c) 1998-2006 Aver Logic Inc
13 All rights reserved.
14 --------------------------------------------------------------------------*/
15 #include <REG52.H>
16 #include "DATATYPE.H"
17 #include "STRUCT.H"
18 #include "AL320_OSDFONT.H"
19 #include "AL320_OSDDEFINE.H"
20 #include "AL320_OSD.H"
21 #include "AL320_OSDDISPLAY.H"
22 #include "AL320_OSDDISPLAY_VARIABLE.H"
23 #include "AL242_DECODER.H"
24 #include "I2C.H"
25 #include "EEPROM.H"
26 #include "DEFINE.H"
27 #include <stdio.h>
28
29 #define COL_BLACK 0x04
30 #define COL_BLUE 0x24
31 #define COL_GREEN 0x44
32 #define COL_CYAN 0x64
33 #define COL_RED 0x84
34 #define COL_MAGA 0xa4
35 #define COL_YELLOW 0xC4
36 #define COL_WHITE 0xE4
37
38 #define COL_FOCUS 0x70
39 #define ICON_STAT 0x08
40
41 Bool fld=1,ffac;
42 bdata Byte menucursor;
43 idata Byte vcjbright,vcjcontrast,vcjcolor,vcjbeepon;
44 idata Byte vcjbeepon;
45 Byte distance1,distance2=50,distance3,distance4=110;
46 extern Byte guc5msCounter;
47 Byte beepmode;
48 idata Byte fac[6];
49
50 code unsigned char briicon[] = {BRIGHTNESS_ICON_01,BRIGHTNESS_ICON_02,0x00};
51 code unsigned char conicon[] = {CONTRAST_ICON_01,CONTRAST_ICON_02,0x00};
52 code unsigned char colicon[] = {COLOR_ICON_01,COLOR_ICON_02,0x00};
53 code unsigned char beeponicon[] = {beeponl_12_8,beeponr_12_8,0x00};
54 code unsigned char beepofficon[] = {beepoffl_12_8,beepoffr_12_8,0x00};
C51 COMPILER V7.50 AL320_OSDDISPLAY 06/25/2008 18:08:09 PAGE 2
55 code unsigned char rcon[] = {R_12_8,SUB_12_8,C_12_8,O_12_8,N_12_8,0x00};
56 code unsigned char gcon[] = {G_12_8,SUB_12_8,C_12_8,O_12_8,N_12_8,0x00};
57 code unsigned char bcon[] = {B_12_8,SUB_12_8,C_12_8,O_12_8,N_12_8,0x00};
58 code unsigned char rbri[] = {R_12_8,SUB_12_8,B_12_8,R_12_8,I_12_8,0x00};
59 code unsigned char gbri[] = {G_12_8,SUB_12_8,B_12_8,R_12_8,I_12_8,0x00};
60 code unsigned char bbri[] = {B_12_8,SUB_12_8,B_12_8,R_12_8,I_12_8,0x00};
61
62
63 // ********************************************************************************
64 // Function: AL320_SetupOSDFont
65 // Description: Setup OSD Font into OSD Ram
66 // Input parameters: ucFontRamAddress
67 // Return values: None
68 // ********************************************************************************
69 void AL320_SetupOSDFont(Word uiFontRamAddress){
70 1
71 1 Word uiCounter;
72 1 Byte ucFontRamAddressLowByte,ucFontRamAddressHighByte;
73 1
74 1 ucFontRamAddressLowByte=(Byte)(uiFontRamAddress & 0x00ff);
75 1 ucFontRamAddressHighByte=(Byte)((uiFontRamAddress >> 8) & 0x00ff);
76 1
77 1 SetReg(SLAVE_ADDRESS_AL320, OSD_RAM_WEN, OSD_RAM_WRITE_ENABLE);
78 1
79 1 SetReg(SLAVE_ADDRESS_AL320, FONT_RAM_ADDR_LOW, ucFontRamAddressLowByte);
80 1 SetReg(SLAVE_ADDRESS_AL320, FONT_RAM_ADDR_HIGH, ucFontRamAddressHighByte);
81 1
82 1 for (uiCounter=0; uiCounter < 1392; uiCounter++){
83 2
84 2 SetReg(SLAVE_ADDRESS_AL320, FONT_RAM_DATA, _ASCii12x8[uiCounter]);
85 2 }
86 1
87 1 SetReg(SLAVE_ADDRESS_AL320, OSD_RAM_WEN, OSD_RAM_WRITE_DISABLE);
88 1 }
89
90 // ********************************************************************************
91 // Function: AL320_SetupOSDMode
92 // Description: Setup OSD Initial Mode
93 // Input parameters: None
94 // Return values: None
95 // ********************************************************************************
96 void AL320_SetupOSDMode(void){
97 1
98 1
99 1 SetReg(SLAVE_ADDRESS_AL320, 0xff, 0x01); //Switch to Page1
100 1 AL320_EnableOSD(OSD_OFF);
101 1 AL320_EnableOSDBlinking(BLINK_ON);
102 1 AL320_SetOSDFontContext(0x02);
103 1 AL320_SetOSDFontPixelDepth(OSD_FONT_DEPTH_1);
104 1
105 1 AL320_OSDDisplayStart();
106 1
107 1 SetReg(SLAVE_ADDRESS_AL320, RAMADDR1ST, OSD_RAM_ADDRESS_START);
108 1 AL320_SetOSDRamStride(OSD_RAM_Stride);
109 1 AL320_SetOSDFontSize((OSD_Font_HSize-1), (OSD_Font_VSize-1), OSD_FONT_LINE_STRIDE);
110 1 AL320_SetOSDSize(OSD_Icon_HTotal-1, OSD_Icon_VTotal-1);
111 1 AL320_SetOSDFontAddress(OSD_FONT_ADDRESS);
112 1 SetReg(SLAVE_ADDRESS_AL320, FONT_ADDR_UNIT , OSD_FONT_ADDRESSING_16);
113 1 SetReg(SLAVE_ADDRESS_AL320, FONT_MODE , OSD_FONT_MODE);
114 1 AL320_SetOSDTransparent(OSD_TRANSPARENT_ON|OSD_TRANSPAREN_COLOR_0);
115 1 AL320_SetOSDBlinking(OSD_BLINKING_TYPE_ALWAYS_COMPLEMENT);
116 1 AL320_SetOSDZoom(OSD_HORIZONTAL_ZOOM_X1 | OSD_VERTICAL_ZOOM_X1);
C51 COMPILER V7.50 AL320_OSDDISPLAY 06/25/2008 18:08:09 PAGE 3
117 1 AL320_SetOSDDisplayStart();
118 1 SetReg(SLAVE_ADDRESS_AL320, ALPHA , OSD_ALPHA_BLENDING_RATIO);
119 1 //AL320_SetOSDAlphaBlending(OSD_ALPHA_BLENDING_RATIO);
120 1 //AL320_EnableOSDFontMode(OSD_FONT_MODE);
121 1 //AL320_SetOSDFontAddressUnit(OSD_FONT_ADDRESSING_16);
122 1 //AL320_SetOSDRamAddress(OSD_RAM_ADDRESS_START);
123 1 }
124
125 // ********************************************************************************
126 // Function: AL320_SetupOSDColor
127 // Description: Setup 8 OSD Color
128 // Input parameters: None
129 // Return values: None
130 // ********************************************************************************
131 void AL320_SetupOSDColor(void)
132 {
133 1
134 1 AL320_SetOSDColor(OSD_COLOR_0,0x00,0x00,0x00);
135 1 AL320_SetOSDColor(OSD_COLOR_1,0x00,0x00,0xff);
136 1 AL320_SetOSDColor(OSD_COLOR_2,0x00,0xff,0x00);
137 1 AL320_SetOSDColor(OSD_COLOR_3,0x00,0xff,0xff);
138 1 AL320_SetOSDColor(OSD_COLOR_4,0xff,0x00,0x00);
139 1 AL320_SetOSDColor(OSD_COLOR_5,0xff,0x00,0xff);
140 1 AL320_SetOSDColor(OSD_COLOR_6,0xff,0xff,0x00);
141 1 AL320_SetOSDColor(OSD_COLOR_7,0xff,0xff,0xff);
142 1 }
143
144 // ********************************************************************************
145 // Function: AL320_SetIconAddress
146 // Description: Setup OSD Icon Address
147 // Input parameters: wColumn/wRow==>value of Y/X axis,
148 // ucIcon_HTotal==>Icon H Total,
149 // ucFontByteMode==>Font Context Mode
150 // Return values: None
151 // ********************************************************************************
152 void AL320_SetIconAddress(Word uiColumn, Word uiRow, Byte ucIcon_HTotal)
153 {
154 1
155 1
156 1
157 1 Word uiIconAddress;
158 1 Byte ucIconAddressLSB,ucIconAddressMSB;
159 1
160 1 uiIconAddress = (uiRow * ucIcon_HTotal + uiColumn)*2;
161 1 ucIconAddressLSB = (Byte)(uiIconAddress & 0x00ff);
162 1 ucIconAddressMSB = (Byte)((uiIconAddress >> 8) & 0x00ff);
163 1 SetReg(SLAVE_ADDRESS_AL320, BMAP_RAM_ADDR_LOW, ucIconAddressLSB);
164 1 SetReg(SLAVE_ADDRESS_AL320, BMAP_RAM_ADDR_HIGH, ucIconAddressMSB);
165 1 }
166
167 // ********************************************************************************
168 // Function: AL320_DisplayMenuIcon
169 // Description: Display OSD Icon
170 // Input parameters: *pucMenu==>OSD Menu Icon
171 // ucOSDIconHTotal==>OSD Icon H Total
172 // ucOSDIconVTotal==>OSD Icon V Total
173 // Return values: None
174 // ********************************************************************************
175 /*
176 void AL320_DisplayMenuIcon(Byte *pucMenu, Byte ucOSDIconHTotal, Byte ucOSDIconVTotal){
177
178 Byte ucColumn, ucRow;
C51 COMPILER V7.50 AL320_OSDDISPLAY 06/25/2008 18:08:09 PAGE 4
179
180 // AL320_EnableOSDRAMWrite(OSD_RAM_WRITE_ENABLE);
181
182 SetReg(SLAVE_ADDRESS_AL320, OSD_RAM_WEN, OSD_RAM_WRITE_ENABLE);
183
184 for (ucRow=0; ucRow < ucOSDIconVTotal; ucRow++)
185 {
186 for (ucColumn=0; ucColumn < ucOSDIconHTotal; ucColumn++)
187 {
188 AL320_SetIconAddress(ucColumn, ucRow, OSD_Icon_HTotal);
189 AL320_SetOSDIcon(*(pucMenu + ((ucRow * ucOSDIconHTotal) + ucColumn)));
190 // if ((*(pucMenu + ((ucRow * ucOSDIconHTotal) + ucColumn)))>0xff)
191 AL320_SetOSDIcon(0x4c);
192 }
193 }
194 }
195 */
196
197 // ********************************************************************************
198 // Function: AL320_ShowOSDIconMessage
199 // Description: Detect OSD Icon Location and Exectue Display Function
200 // Input parameters: ucOSDModeCounterX==>OSD Menu Icon Counter
201 // Return values: None
202 // ********************************************************************************
203 /*
204 void AL320_ShowOSDIconMessage(Byte ucOSDModeCounterX){
205
206 Byte ucDx;
207
208 if((gbContrast == 0) && (gbBrightness == 0) && (gbSaturation == 0) && (gbHue == 0) && (gbSharpness ==
-0)){
209
210 switch (ucOSDModeCounterX){
211
212 case GEOCODE_CONTRAST:
213
214 for (ucDx = 0; ucDx < OSD_Icon_HTotal; ucDx++){
215
216 AL320_SetIconAddress(ucDx, 2, OSD_Icon_HTotal);
217
218 if (gucSecondLevel == GEOCODE_OSD){
219
220 AL320_SetOSDIcon(H_Move[ucDx]);
221 }
222 else if(gucSecondLevel == GEOCODE_DISPLAYMODE){
223
224 AL320_SetOSDIcon(Mode1[ucDx]);
225 }
226 else if(gucSecondLevel == GEOCODE_CHANNEL){
227
228 AL320_SetOSDIcon(CVBS[ucDx]);
229 }
230 else if(gucSecondLevel == GEOCODE_VIDEOSTANDARD){
231
232 AL320_SetOSDIcon(NTSC[ucDx]);
233 }
234 else if(gucSecondLevel == GEOCODE_RESET){
235
236 AL320_SetOSDIcon(DemoMode[ucDx]);
237 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -