#include "stdio.h" #define NBLOCS 32 #define THRESHOLD 200 int main() { char buf_in[128*128]; char buf_out[128*128]; int x; int i; int base = 0; while(base < 5*NBLOCS) { tty_printf("\n *** image %d *** at date = %d \n", base/NBLOCS, proctime()); /* Phase 1 : lecture image sur le disque et transfert vers buf_in */ x = ioc_read(base, buf_in, NBLOCS); if(x) { tty_printf("echec ioc_read = %d\n", x); } else { ioc_completed(); tty_printf("ioc_read completed at date = %d \n",proctime()); } /* Phase 2 : transfert de buf_in vers buf_out avec seuillage */ for(i=0 ; i<128*128 ; i++) { if( buf_in[i] > THRESHOLD ) buf_out[i] = 255; else buf_out[i] = buf_in[i]; } tty_printf("image processing completed at date = %d \n",proctime()); /* Phase 3 : transfert de buf_out vers le frame buffer par dma */ x = fb_write(0,buf_out,128*128); if(x) { tty_printf("echec fb_write = %d\n", x); } else { fb_completed(); tty_printf("transfer completed at date = %d \n",proctime()); } base = base + NBLOCS; } // end while exit(); } // end main