application/vgatest/testvga.c File Reference

Go to the source code of this file.

Functions

void F_TestvgaGfxPixelColorSet (INT16U X, INT16U Y, INT16U ColorValue)
void F_TestvgaGfxFill (INT16U ColorValue)
void F_TestvgaGfxRectangleDraw (INT16U StartX, INT16U StartY, INT16U EndX, INT16U EndY, INT16U ColorValue)
void F_TestvgaGfxRectangleFill (INT16U StartX, INT16U StartY, INT16U EndX, INT16U EndY, INT16U ColorValue)
void F_TestvgaGfxLineDraw (INT16U StartX, INT16U StartY, INT16U EndX, INT16U EndY, INT16U ColorValue)
void F_TestvgaDelay (void)
void F_Testvga (void)

Variables

unsigned char vga640480 []
unsigned char pal640480 []
unsigned char vga_mode_vga [] = "VGA 640X480"
unsigned char vga_mode_pal [] = "PAL 640X480"
unsigned char * pDisplayMode [TestVgaMaxDisplayMode][2]
static volatile unsigned short(* pTestVgaBuffer )[SCR_XSIZE_TFT_640480] = (void *)TESTVGA_MEMORY_ADDRESS


Function Documentation

void F_Testvga ( void   ) 

Definition at line 196 of file testvga.c.

00196                     {
00197 
00198     F_TestvgaGfxFill((0x00<<11)|(0x3f<<5)|(0x00));    
00199     F_TestvgaDelay(); 
00200     F_TestvgaGfxFill((0x1f<<11)|(0x00<<5)|(0x00));     
00201     F_TestvgaDelay(); 
00202     F_TestvgaGfxFill(0xffff);   
00203     F_TestvgaDelay(); 
00204     F_TestvgaGfxFill((0x00<<11)|(0x00<<5)|(0x1f));   
00205     F_TestvgaDelay(); 
00206     F_TestvgaGfxFill((0x00<<11)|(0x3f<<5)|(0x00));   
00207     F_TestvgaDelay(); 
00208     F_TestvgaGfxFill((0x1f<<11)|(0x00<<5)|(0x00));   
00209     F_TestvgaDelay(); 
00210     F_TestvgaGfxRectangleDraw(VGA_BLANK,VGA_BLANK,(LCD_XSIZE_TFT_640480-VGA_BLANK),(LCD_YSIZE_TFT_640480-VGA_BLANK),0x0000);    
00211     F_TestvgaDelay(); 
00212     F_TestvgaGfxRectangleDraw((VGA_BLANK*2),(VGA_BLANK*2+V_BLACK*0),(C_RIGHT),(VGA_BLANK*2+V_BLACK*1),0x001f);   
00213     F_TestvgaDelay(); 
00214     F_TestvgaGfxRectangleDraw((VGA_BLANK*2),(VGA_BLANK*2+V_BLACK*1),(C_RIGHT),(VGA_BLANK*2+V_BLACK*2),0x07e0);    
00215     F_TestvgaDelay(); 
00216     F_TestvgaGfxRectangleDraw((VGA_BLANK*2),(VGA_BLANK*2+V_BLACK*2),(C_RIGHT),(VGA_BLANK*2+V_BLACK*3),0xf800);    
00217     F_TestvgaDelay(); 
00218     F_TestvgaGfxRectangleDraw((VGA_BLANK*2),(VGA_BLANK*2+V_BLACK*3),(C_RIGHT),(VGA_BLANK*2+V_BLACK*4),0xffe0);    
00219     F_TestvgaDelay(); 
00220     F_TestvgaGfxRectangleDraw((VGA_BLANK*2),(VGA_BLANK*2+V_BLACK*4),(C_RIGHT),(VGA_BLANK*2+V_BLACK*5),0xf81f);    
00221     F_TestvgaDelay(); 
00222      F_TestvgaGfxRectangleDraw((VGA_BLANK*2),(VGA_BLANK*2+V_BLACK*5),(C_RIGHT),(VGA_BLANK*2+V_BLACK*6),0x07ff);    
00223     F_TestvgaDelay(); 
00224 }

void F_TestvgaDelay ( void   ) 

Definition at line 187 of file testvga.c.

00187                          {
00188     INT32U i;
00189 
00190     for(i=0;i<=10000000;i++);
00191 }

void F_TestvgaGfxFill ( INT16U  ColorValue  ) 

Definition at line 54 of file testvga.c.

00054                                         {
00055     INT16U X,Y;
00056 
00057     for(Y=0;Y<SCR_YSIZE_TFT_640480;Y++)
00058         for(X=0;X<SCR_XSIZE_TFT_640480;X++) pTestVgaBuffer[Y][X]=ColorValue;
00059 }

void F_TestvgaGfxLineDraw ( INT16U  StartX,
INT16U  StartY,
INT16U  EndX,
INT16U  EndY,
INT16U  ColorValue 
)

Definition at line 71 of file testvga.c.

00071                                                                                                 {
00072     INT32 DeltaX,DeltaY,Difference;
00073 
00074     DeltaX=EndX-StartX; 
00075     DeltaY=EndY-StartY; 
00076     if(DeltaX>=0)    {
00077         if(DeltaY>=0) // DeltaY>=0
00078         {
00079             if(DeltaX>=DeltaY) // 1/8 octant
00080             {
00081                 Difference=DeltaY-DeltaX/2;
00082                 while(StartX<=EndX)
00083                 {
00084                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00085                     if(Difference>0){StartY+=1;Difference-=DeltaX;}    
00086                     StartX+=1;
00087                     Difference+=DeltaY;
00088                 }
00089             }
00090             else        // 2/8 octant
00091             {
00092                 Difference=DeltaX-DeltaY/2;
00093                 while(StartY<=EndY)
00094                 {
00095                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00096                     if(Difference>0){StartX+=1;Difference-=DeltaY;}    
00097                     StartY+=1;
00098                     Difference+=DeltaX;
00099                 }
00100             }
00101         }
00102         else           // DeltaY<0
00103         {
00104             DeltaY=-DeltaY;   // DeltaY=abs(DeltaY)
00105 
00106             if(DeltaX>=DeltaY) // 8/8 octant
00107             {
00108                 Difference=DeltaY-DeltaX/2;
00109                 while(StartX<=EndX)
00110                 {
00111                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00112                     if(Difference>0){StartY-=1;Difference-=DeltaX;}    
00113                     StartX+=1;
00114                     Difference+=DeltaY;
00115                 }
00116             }
00117             else        // 7/8 octant
00118             {
00119                 Difference=DeltaX-DeltaY/2;
00120                 while(StartY>=EndY)
00121                 {
00122                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00123                     if(Difference>0){StartX+=1;Difference-=DeltaY;}    
00124                     StartY-=1;
00125                     Difference+=DeltaX;
00126                 }
00127             }
00128         }    
00129     }
00130     else //DeltaX<0
00131     {
00132         DeltaX=-DeltaX;        //DeltaX=abs(DeltaX)
00133         if(DeltaY >= 0) // DeltaY>=0
00134         {
00135             if(DeltaX>=DeltaY) // 4/8 octant
00136             {
00137                 Difference=DeltaY-DeltaX/2;
00138                 while(StartX>=EndX)
00139                 {
00140                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00141                     if(Difference>0){StartY+=1;Difference-=DeltaX;}    
00142                     StartX-=1;
00143                     Difference+=DeltaY;
00144                 }
00145             }
00146             else        // 3/8 octant
00147             {
00148                 Difference=DeltaX-DeltaY/2;
00149                 while(StartY<=EndY)
00150                 {
00151                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00152                     if(Difference>0){StartX-=1;Difference-=DeltaY;}    
00153                     StartY+=1;
00154                     Difference+=DeltaX;
00155                 }
00156             }
00157         }
00158         else           // DeltaY<0
00159         {
00160             DeltaY=-DeltaY;   // DeltaY=abs(DeltaY)
00161 
00162             if(DeltaX>=DeltaY) // 5/8 octant
00163             {
00164                 Difference=DeltaY-DeltaX/2;
00165                 while(StartX>=EndX)
00166                 {
00167                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00168                     if(Difference>0){StartY-=1;Difference-=DeltaX;}    
00169                     StartX-=1;
00170                     Difference+=DeltaY;
00171                 }
00172             }
00173             else        // 6/8 octant
00174             {
00175                 Difference=DeltaX-DeltaY/2;
00176                 while(StartY>=EndY)
00177                 {
00178                     F_TestvgaGfxPixelColorSet(StartX,StartY,ColorValue);
00179                     if(Difference>0){StartX-=1;Difference-=DeltaY;}    
00180                     StartY-=1;
00181                     Difference+=DeltaX;
00182                 }
00183             }
00184         }
00185     }
00186 }

void F_TestvgaGfxPixelColorSet ( INT16U  X,
INT16U  Y,
INT16U  ColorValue 
)

Definition at line 50 of file testvga.c.

00050                                                                    {
00051     if((X<SCR_XSIZE_TFT_640480)&&(Y<SCR_YSIZE_TFT_640480))
00052     pTestVgaBuffer[Y][X]=ColorValue;
00053 }

void F_TestvgaGfxRectangleDraw ( INT16U  StartX,
INT16U  StartY,
INT16U  EndX,
INT16U  EndY,
INT16U  ColorValue 
)

Definition at line 60 of file testvga.c.

00060                                                                                                      {
00061     F_TestvgaGfxLineDraw(StartX,StartY,EndX,StartY,ColorValue);
00062     F_TestvgaGfxLineDraw(StartX,StartY,StartX,EndY,ColorValue);
00063     F_TestvgaGfxLineDraw(EndX,StartY,EndX,EndY,ColorValue);
00064     F_TestvgaGfxLineDraw(StartX,EndY,EndX,EndY,ColorValue);
00065 }

void F_TestvgaGfxRectangleFill ( INT16U  StartX,
INT16U  StartY,
INT16U  EndX,
INT16U  EndY,
INT16U  ColorValue 
)

Definition at line 66 of file testvga.c.

00066                                                                                                      {
00067     INT16U i;
00068 
00069     for(i=StartY;i<=EndY;i++) F_TestvgaGfxLineDraw(StartX,i,EndX,i,ColorValue);
00070 }


Variable Documentation

unsigned char pal640480[]

Initial value:

{
0x61,0x02,0x0b,0x00,0x00,0x37,0x10,0x64,
0x01,0x69,0x30,0x20,0x05,0x03,0x0a,0x15,
0x00,0xcb,0xff,0x40,0x3f,0x7e,0x0d,0x40,
0x62,0x00,0x68,0x00,0xf0,0x00,0x00,0x00,
0x0a,0x01,0x00,0x00,0x01,0x32,0x00,0x00,
0x00,0x00,0x54,0x01,0xae,0xae,0xd7,0x81,
0x08,0xfa,0xfa,0x1f,0x0f,0xfa,0xfa,0x03,
0xfc,0x00,0x00,0x0f,0x0f,0x00,0x00,0x3f
}

Definition at line 32 of file testvga.c.

unsigned char* pDisplayMode[TestVgaMaxDisplayMode][2]

Initial value:

Definition at line 44 of file testvga.c.

volatile unsigned short(* pTestVgaBuffer)[SCR_XSIZE_TFT_640480] = (void *)TESTVGA_MEMORY_ADDRESS [static]

Definition at line 49 of file testvga.c.

unsigned char vga640480[]

Initial value:

{
0x61,0x02,0x0b,0x00,0x20,0x37,0x10,0x8c,
0x01,0x69,0x30,0x20,0x05,0x03,0x1b,0x15,
0x00,0xcb,0xff,0x40,0x3f,0x7e,0x0d,0x40,
0x62,0x00,0x68,0x00,0xf0,0x00,0x00,0x00,
0x0a,0x01,0x00,0x00,0x01,0x32,0x00,0x00,
0x00,0x00,0x54,0x01,0xae,0xae,0xd7,0x81,
0x08,0xfa,0xfa,0x1f,0x0f,0xfa,0xfa,0x03,
0xfc,0x00,0x00,0x0f,0x0f,0x00,0x00,0x3f
}

Definition at line 22 of file testvga.c.

unsigned char vga_mode_pal[] = "PAL 640X480"

Definition at line 43 of file testvga.c.

unsigned char vga_mode_vga[] = "VGA 640X480"

Definition at line 42 of file testvga.c.


Generated on Tue Sep 2 08:45:41 2008 for A Simple operation System using S3C2410 by  doxygen 1.5.6