134 con_printf(
" Interrupt Level to Acknowledge (0 to exit) : ");
155 switch (man->
level) {
229 con_printf(
" Can't execute a A16 BLT Write Cycle");
234 con_printf(
" Can't execute a CR/CSR BLT Write Cycle");
243 for(i=0; i<(man->
blts/4); i++)
264 for (i=0; ((man->
ncyc==0) || (i<man->ncyc)) && !
con_kbhit(); i++)
269 if((i==0) || (ret != old_ret))
321 con_printf(
" Can't execute a A16 BLT Read Cycle");
326 con_printf(
" Can't execute a CR/CSR BLT Read Cycle");
348 for (i=0; ((man->
ncyc==0) || (i<man->ncyc)) && !
con_kbhit(); i++)
350 for (j=0;j<(man->
blts/4);j++)
355 if((i==0) || (ret != old_ret))
405 con_printf(
" Can't execute a D64 Write Cycle");
416 for (i=0; ((man->
ncyc==0) || (i<man->ncyc)) && !
con_kbhit(); i++)
421 if((i==0) || (ret != old_ret))
469 uint32_t
i,old_data=0 ;
475 con_printf(
" Can't execute a D64 Read Cycle");
482 for (i=0; ((man->
ncyc==0) || (i<man->ncyc)) && !
con_kbhit(); i++)
487 if((i==0) || (ret != old_ret))
494 if((i==0) || (old_data != man->
data))
513 old_data = man->
data;
544 ushort i,j,line, page=0, gotow, dtsize ;
561 ndata = man->
blts / dtsize;
568 for( line=0, i=page * 16; (line<16) && (i<ndata); line++, i++)
571 con_printf(
" %05u %04X %08X %-10d \n",i,i*4,d32[i],d32[i]);
574 con_printf(
" %05u %04X %04X %-6d \n",i,i*2,d16[i],d16[i]);
577 con_printf(
" %05u %04X %02X %-4d \n",i,i,d8[i],d8[i]);
581 con_printf(
"\n[Q] Quit [D] Data_size [S] Save [G] Goto");
593 case 'N' :
if(i<ndata)
596 case 'P' :
if(page>0)
599 case 'D' : dtsize = dtsize * 2;
604 case 'G' :
con_printf(
"Insert data number (dec) : ") ;
621 if((fsave=fopen(msg,
"w")) == NULL)
631 fprintf(fsave,
"%05u\t%08X\t%-10d\n",j,d32[j],d32[j]);
633 fprintf(fsave,
"%05u\t%04X\t%-6d\n",j,d16[j],d16[j]);
635 fprintf(fsave,
"%05u\t%02X\t%-4d\n",j,d8[j],d8[j]);
668 char key,dis_main_menu ;
674 man.
addr = 0xEE000000 ;
685 man.
buff = (uint32_t *)malloc(16*1024*1024);
686 if (man.
buff == NULL)
688 con_printf(
" !!! Error. Can't allocate memory for BLT buffer. ");
701 con_printf(
"\n CAEN VME Manual Controller \n\n") ;
776 case '1' :
con_printf(
" Please enter new Address : ") ;
786 case '2' :
con_printf(
" Please enter new Base Address : ") ;
848 case '5' :
con_printf(
" Please enter Block Transfer Size : ") ;
868 case '7' :
con_printf(
" Please enter Number of Cycles : ") ;
886 case 'Q' : free(man.
buff);
893 while (!dis_main_menu) ;