ISR_IsiHandler
Default mainpagebasic-isi-projectISR_IsiHandler
Description Source Call Graph
Start Line: 277
void ISR_IsiHandler(void)
{
    unsigned int status = ISI_StatusRegister();

    //TRACE_DEBUG("I:0x%X", status);
    // Fifo Preview Empty
    if(status & AT91C_ISI_FO_P_EMP) {
        if( S_Video.IsiPrevBuffIndex < AT91C_ISI_MAX_PREV_BUFFER) {
            S_Video.lcd_fb_addr = FbList[S_Video.IsiPrevBuffIndex].Current;
            S_Video.IsiPrevBuffIndex++;
        }
        else {
            S_Video.lcd_fb_addr = FbList[0].Current;
            S_Video.IsiPrevBuffIndex = 0;
            IsiDescriptors.CurrentLcdIndex = 0;
        }
    }
    // Fifo Codec Empty
    if(status & AT91C_ISI_FO_C_EMP) {
        TRACE_DEBUG("Fifo Codec Empty\n\r");
        IsiDescriptors.DisplayCodec = 1;
    }
    // Fifo Codec Overflow
    if(status & AT91C_ISI_FO_C_OVF) {
        TRACE_DEBUG("Fifo Codec Overflow\n\r");
        IsiDescriptors.nb_codec_ovf++;
    }
    // Fifo Preview Overflow
    if(status & AT91C_ISI_FO_P_OVF) {
        TRACE_DEBUG("Fifo Preview Overflow\n\r");
        IsiDescriptors.nb_prev_ovf++;
    }
}