Beispiel #1
0
int get_cols(uchar **row,uchar *fmt,...) {
    int cnt=0;
    va_list va;
    void *p;
    va_start(va,fmt);
    while(*fmt) {
        uchar *col;
        p = va_arg(va,void*);
        //if (*row[0]==0) return cnt; // eof ???
        col = get_col(row);
        //printf("EX:%c,COL:%s\n",*fmt,col);
        switch(*fmt) {
        case 'i':
            if (sscanf(col,"%d",(int*)p)!=1) return -2;
            break;
        case 's':
            c_decode(col,col,-1); // decode C constructs
            *(uchar**)p=col; // remember it here
            break;
        default:
            return -1; // unknown format
        }
        fmt++;
        cnt++;
    }
    va_end(va);
    return cnt;
}
Beispiel #2
0
uchar *get_col(uchar **row) {
    uchar *str = *row,*ret=str;
    int i;
    for(i=0; str[i]&&str[i]!='\t'; i++); // till the end
    if (str[i]) {
        str[i]=0;
        i++;
    }
    *row=str+i; // to the end
    c_decode(ret,ret,-1);
    return ret; // ok
}
int app_main()
{
  int rc;
  int pool_id;
//  int i;
//  myprintf("app main start\n");
    
  
  //do some init work
  rc = init_system();
  if(rc)
  {
    myprintf("system init failed, progame is exiting... \n");
    return rc;
  }

  
#ifdef __TEST__
  init_test_data();
  trigger_test(pool_id);
#endif

  //MAIN PROCESS
  while(1)
  {
    //poll S frame
    pool_id = S_select_recv();
    if((pool_id == 0) || (pool_id == 1))
    {
      s_decode(pool_id);
      if(g_s_sample_full[pool_id])
	  {
        release_fpga_buffer(S_MODE, pool_id);
        g_s_sample_full[pool_id]=0;
		gSReleaseCnt[pool_id]++;
      }
    }
     
    //poll C frame
    pool_id = C_select_recv();
	  if((pool_id == 0) || (pool_id == 1))
    {  
      c_decode(pool_id);
      if(g_c_sample_full[pool_id])
	  {
        release_fpga_buffer(C_MODE, pool_id);
    	g_c_sample_full[pool_id]=0;
		gCReleaseCnt[pool_id]++;
	  }
	} 
  }
}