示例#1
0
void addPointToIndex(Index *index, Point3D *point) {
    int col,row;
    point2Index(index->config, point, &row, &col);
    assert(row < (index->rows) && col < (index->cols) && "col,row < cols,rows");
    PointNode **binstart = (index->nodes)+(row*index->cols)+col;
    addToBin(binstart, point);
}
示例#2
0
int main(void){

  WDTCTL = WDTPW | WDTHOLD;  // Stop watchdog timer
  PM5CTL0 &= ~LOCKLPM5;
  initializeHardware();
  reboots++;
  DINO_RESTORE_CHECK();

  DINO_TASK_BOUNDARY(START_TASK,NULL);
  if( finished == 0xBEEE ){
#if defined(WISP5)
    PJOUT |= BIT6;
#elif defined(BREADBOARD)
    P4OUT |= BIT4;
#endif
    while( 1 ){ }
  }

  if( inErrorState == 0xBEEE ){

    abortWithError();

  }

  initializeNVData();
  

  while( numSamples < (NUM_ITERS * SAMPLES_PER_ITER) ){

    int r;
    for(r = 0; r < SAMPLES_PER_ITER; r++){

      DINO_TASK_BOUNDARY(SAMPLE_TASK,NULL);
      unsigned samp = getOneSample();
      DINO_TASK_BOUNDARY(BIN_TASK,NULL);
      addToBin(samp);
      numSamples++;

    }

    DINO_TASK_BOUNDARY(SORT_TASK,NULL);
    sortBinsByFrequency();

    DINO_TASK_BOUNDARY(CHECK_TASK,NULL);
    checkInvariants();

  }

  finished = 0xBEEE;
#if defined(WISP5)
  PJOUT |= BIT6;
#elif defined(BREADBOARD)
  P4OUT |= BIT4;
#endif
  while( 1 ){ }

}