/* ** For each end of frame interrupt base and ceiling is reconfigured */ static void LCDIsr(void) { unsigned int status; status = RasterIntStatus(SOC_LCDC_0_REGS,RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT ); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); if (status & RASTER_END_OF_FRAME0_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int)image1, (unsigned int)image1 + sizeof(image1) - 2, 0); } if(status & RASTER_END_OF_FRAME1_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int)image1, (unsigned int)image1 + sizeof(image1) - 2, 1); } }
/* ** For each end of frame interrupt base and ceiling is reconfigured */ static void LCDIsr(void) { unsigned int status; status = RasterIntStatus(LCDC_INSTANCE,RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT ); status = RasterClearGetIntStatus(LCDC_INSTANCE, status); if (status & RASTER_END_OF_FRAME0_INT_STAT) { RasterDMAFBConfig(LCDC_INSTANCE, (unsigned int)curr_image, (unsigned int)curr_image + sizeof(image1) - 2, 0); } if(status & RASTER_END_OF_FRAME1_INT_STAT) { RasterDMAFBConfig(LCDC_INSTANCE, (unsigned int)last_image, (unsigned int)last_image + sizeof(image1) - 2, 1); } last_image = curr_image; }
/* ** For each end of frame interrupt base and ceiling is reconfigured */ static void LCDIsr(void) { unsigned int status; IntSystemStatusClear(SYS_INT_LCDINT); status = RasterIntStatus(SOC_LCDC_0_REGS,RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT ); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); if (status & RASTER_END_OF_FRAME0_INT_STAT) { /* configuring the base ceiling */ RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int)(g_pucBuffer+4), (unsigned int)(g_pucBuffer+4) + sizeof(g_pucBuffer) - 2 - 4, 0); } if(status & RASTER_END_OF_FRAME1_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int)(g_pucBuffer+4), (unsigned int)(g_pucBuffer+4) + sizeof(g_pucBuffer) - 2 - 4, 1); } }
/* ** For each end of frame interrupt base and ceiling is reconfigured */ static void LCDIsr(void) { unsigned int status; #ifdef _TMS320C6X IntEventClear(SYS_INT_LCDC_INT); #else IntSystemStatusClear(SYS_INT_LCDINT); #endif status = RasterIntStatus(SOC_LCDC_0_REGS,RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT ); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); /* Read the timer counter, to see how much time has elapsed */ /*if(trIndex < TIME_ELAPSED_INST) frameTransferRate[trIndex++] = TimerCounterGet(SOC_TMR_2_REGS, TMR_TIMER12);*/ if (status & RASTER_END_OF_FRAME0_INT_STAT) { flagA = 1; } if(status & RASTER_END_OF_FRAME1_INT_STAT) { flagB = 1; } /* since the frame buffers are constant no need to re-configure again.*/ }
/****************************************************************************** * * * \brief ISR for LCD.\n * * * * \param none * * * * \return none. * * * ******************************************************************************/ static void LCDIsr(void) { unsigned int status; status = RasterIntStatus(SOC_LCDC_0_REGS,RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT ); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); }
/* ** For each end of frame interrupt base and ceiling is reconfigured */ static void LCDIsr(void) { unsigned int status; #ifdef _TMS320C6X IntEventClear(SYS_INT_LCDC_INT); #else IntSystemStatusClear(SYS_INT_LCDINT); #endif /* Find which interrupt occurred and clear it */ status = RasterIntStatus(SOC_LCDC_0_REGS, RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); /* Display the appropriate output buffer on the appropriate raster buffer * and if a new processed buffer is available, let the DSP know that * it has configured the raster buffer to point to the new output buffer * by updating the 'updated' flag */ if (display_buff_1) { if (status & RASTER_END_OF_FRAME0_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int) Rgb_buffer1, (unsigned int) (Rgb_buffer1 + DISPLAY_IMAGE_WIDTH * DISPLAY_IMAGE_HEIGHT + 15), 0); if (changed) updated = updated | 0x1; } if (status & RASTER_END_OF_FRAME1_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int) Rgb_buffer1, (unsigned int) (Rgb_buffer1 + DISPLAY_IMAGE_WIDTH * DISPLAY_IMAGE_HEIGHT + 15), 1); if (changed) updated = updated | 0x2; } } else { if (status & RASTER_END_OF_FRAME0_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int) Rgb_buffer2, (unsigned int) (Rgb_buffer2 + DISPLAY_IMAGE_WIDTH * DISPLAY_IMAGE_HEIGHT + 15), 0); if (changed) updated = updated | 0x1; } if (status & RASTER_END_OF_FRAME1_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int) Rgb_buffer2, (unsigned int) (Rgb_buffer2 + DISPLAY_IMAGE_WIDTH * DISPLAY_IMAGE_HEIGHT + 15), 1); if (changed) updated = updated | 0x2; } } }
/* ** For each end of frame interrupt base and ceiling is reconfigured */ void isr_lcd(unsigned int num) { unsigned int status; status = RasterIntStatus(SOC_LCDC_0_REGS, RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); if (status & RASTER_END_OF_FRAME0_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int)lcdCtrl.frameaddr[lcdCtrl.activeframe], (unsigned int)lcdCtrl.frameaddr[lcdCtrl.activeframe] + lcdCtrl.framesize[lcdCtrl.activeframe] - 1, 0); } if (status & RASTER_END_OF_FRAME1_INT_STAT) { RasterDMAFBConfig(SOC_LCDC_0_REGS, (unsigned int)lcdCtrl.frameaddr[lcdCtrl.activeframe], (unsigned int)lcdCtrl.frameaddr[lcdCtrl.activeframe] + lcdCtrl.framesize[lcdCtrl.activeframe] - 1, 1); } }
/* ** For each end of frame interrupt base and ceiling is reconfigured */ static void LCDIsr(void) { unsigned int status; #ifdef _TMS320C6X IntEventClear(SYS_INT_LCDC_INT); #else IntSystemStatusClear(SYS_INT_LCDINT); #endif status = RasterIntStatus(SOC_LCDC_0_REGS,RASTER_END_OF_FRAME0_INT_STAT | RASTER_END_OF_FRAME1_INT_STAT ); status = RasterClearGetIntStatus(SOC_LCDC_0_REGS, status); }