⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 al320_osddisplay.lst

📁 基于averlogic公司的AL320的AUO 2.4" SRGB屏的驱动程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
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 + -