main_Test
Default mainpagebasic-isi-projectmain_Test
Description Source Call Graph
Start Line: 661
void main_Test(AT91PS_VIDEO pVideo)
{
    TRACE_DEBUG("main_Test\n\r");
    S_Video.Hblank = 0;
    S_Video.Vblank = 0;
    S_Video.lcd_fb_addr = (unsigned int)BuffCam;
    // base address of the descriptor list for preview DMA
    S_Video.Isi_fbd_base = (int)&FbList[0];
    S_Video.codec_fb_addr = 0;
    S_Video.rgb_or_yuv = YUV;

    #if defined (AT91C_ID_LCDC)
    if( BOARD_LCD_WIDTH < S_Video.codec_hsize ) {
        S_Video.lcd_hsize = BOARD_LCD_WIDTH;
        S_Video.lcd_vsize = S_Video.codec_vsize*BOARD_LCD_WIDTH/S_Video.codec_hsize;
    }
    else {
        if(S_Video.codec_vsize > BOARD_LCD_HEIGHT) {
            S_Video.lcd_vsize = BOARD_LCD_HEIGHT;
        }
        else {
            S_Video.lcd_vsize = S_Video.codec_vsize;
        }                        
        S_Video.lcd_hsize = S_Video.codec_hsize*S_Video.lcd_vsize/S_Video.codec_vsize;
    }
    #endif

#if !defined (BOARD_ISI_V200)
    ISI_DisableInterrupt( AT91C_ISI_FO_P_EMP | AT91C_ISI_FO_C_EMP
                        | AT91C_ISI_FO_C_OVF | AT91C_ISI_FO_P_OVF);
    ISI_Init(&S_Video);

    ISI_EnableInterrupt( AT91C_ISI_FO_P_EMP | AT91C_ISI_FO_C_EMP
                       | AT91C_ISI_FO_C_OVF | AT91C_ISI_FO_P_OVF);
#else
    ISI_DisableInterrupt( AT91C_ISI_PXFR_DONE_1 | AT91C_ISI_CXFR_DONE_1
                        | AT91C_ISI_C_OVR_1     | AT91C_ISI_P_OVR_1
                        | AT91C_ISI_CRC_ERR_1   | AT91C_ISI_FR_OVR_1);
    ISI_Init(&S_Video);

    ISI_EnableInterrupt( AT91C_ISI_PXFR_DONE_1 | AT91C_ISI_CXFR_DONE_1
                       | AT91C_ISI_C_OVR_1     | AT91C_ISI_P_OVR_1
                       | AT91C_ISI_CRC_ERR_1   | AT91C_ISI_FR_OVR_1);
#endif

    ISI_Reset();
    ISI_Enable();

    ov965x_configure(&twid, S_Video.codec_hsize, S_Video.codec_vsize);
   // ov95x_DumpRegisters(&twid); 

#if defined (AT91C_ID_LCDC)
    InitializeLcd();

    AT91C_BASE_LCDC->LCDC_IDR = AT91C_LCDC_EOFI;

    LCD_Disable(0);
    LCD_DisableDma();
    LCD_DMAReset();
    LCD_SetBitsPerPixel(AT91C_LCDC_PIXELSIZE_SIXTEENBITSPERPIXEL);
    LCD_SetSize(S_Video.lcd_hsize, S_Video.lcd_vsize);
    LCD_SetFrameSize((S_Video.lcd_hsize * S_Video.lcd_vsize * S_Video.lcd_nbpp)/32);
    LCD_SetBurstLength(4);
    LCD_SetFrameBufferAddress(BuffCam);

    LCD_EnableDma();
    LCD_Enable(8);
    LCD_EnableInterrupts(AT91C_LCDC_EOFI  | // (LCDC) End of Frame Interrupt
                         AT91C_LCDC_UFLWI | // (LCDC) FIFO Underflow Interrupt
                         AT91C_LCDC_OWRI  | // (LCDC) Over Write Interrupt
                         AT91C_LCDC_MERI);  // (LCDC) Memory Error  Interrupt
#endif
}