Exemple #1
0
/**
\brief The program starts executing here.
*/
int mote_main(void) {  
   // initialize board
   board_init();
   
   // switch radio LED on
   leds_radio_on();
   
   // prepare bsp_timer
   bsp_timer_set_callback(bsp_timer_cb_compare);
   
   // prepare radiotimer
   radiotimer_setOverflowCb(radiotimer_cb_overflow);
   radiotimer_setCompareCb(radiotimer_cb_compare);
   
   // kick off first bsp_timer compare
   bsp_timer_scheduleIn(BSP_TIMER_PERIOD);
   
   // start periodic radiotimer overflow
   radiotimer_start(RADIOTIMER_OVERFLOW_PERIOD);
   
   // kick off first radiotimer compare
   app_vars.radiotimer_num_compares_left  = RADIOTIMER_NUM_COMPARES-1;
   app_vars.radiotimer_last_compare_val   = RADIOTIMER_COMPARE_PERIOD;
   radiotimer_schedule(app_vars.radiotimer_last_compare_val);
   
   while (1) {
      board_sleep();
   }
}
void radio_init(void) {
   // clear variables
   memset(&radio_vars,0,sizeof(radio_vars_t));
   
   // change state
   radio_vars.state          = RADIOSTATE_STOPPED;
   
   // reset radio
   radio_reset();
   
   // change state
   radio_vars.state          = RADIOSTATE_RFOFF;
   
   // start radiotimer with dummy setting to activate SFD pin interrupt
   radiotimer_start(0xffff);
}
Exemple #3
0
void radio_init() {

  // clear variables
  memset(&radio_vars, 0, sizeof(radio_vars_t));

  // change state 
  radio_vars.state            = RADIOSTATE_STOPPED;
  
  // Set SCLK = 1 and SIMO = 0
  PORT_PIN_SCLK_HIGH();
  PORT_PIN_SIMO_LOW(); 

  // Strobe CSn low/high
  PORT_PIN_CS_LOW();
  PORT_PIN_CS_HIGH();
  
  // Hold CSn low and high for 40 microsec
  PORT_PIN_CS_LOW();
  delay(40);
  PORT_PIN_CS_HIGH();
  delay(40);

  // Pull CSn low
  PORT_PIN_CS_LOW();

  // Wait for SOMI to go low
  while (radio_vars.radioStatusByte.CHIP_RDYn != 0x00);

  // reset radio
  radio_reset();

  // Wait until SOMI goes low again
  while (radio_vars.radioStatusByte.CHIP_RDYn != 0x00);  

  // change state 
  radio_vars.state            = RADIOSTATE_RFOFF;

  // start radiotimer with dummy setting to activate SFD pin interrupt
  radiotimer_start(0xffff);  

}
/**
\brief The program starts executing here.
*/
int mote_main(void)
{  
   // initialize board
   board_init();
   
   // prepare bsp_timer
   bsp_timer_set_callback(bsp_timer_cb_compare);
   
   // prepare radiotimer
   radiotimer_setOverflowCb(radiotimer_cb_overflow);
   radiotimer_setCompareCb(radiotimer_cb_compare);
   
   // kick off first bsp_timer compare
   bsp_timer_scheduleIn(BSP_TIMER_PERIOD);
   
   // start periodic radiotimer overflow
   radiotimer_start(RADIOTIMER_OVERFLOW_PERIOD);
   
   while (1) {
      board_sleep();
   }
}
/**
\brief The program starts executing here.
*/
int mote_main(void) {
   
   // initialize board
   board_init();
   
   // prepare radiotimer
   radiotimer_setOverflowCb(cb_overflow);
   radiotimer_setCompareCb(cb_compare);
   
   // kick off first compare
   app_vars.num_compares_left  = RADIOTIMER_NUM_COMPARES-1;
   app_vars.last_compare_val   = RADIOTIMER_COMPARE_PERIOD;

   // start periodic overflow
   radiotimer_start(RADIOTIMER_OVERFLOW_PERIOD);
   leds_radio_on();
   radiotimer_schedule(app_vars.last_compare_val);
   
   while (1) {
      board_sleep();
   }
}
Exemple #6
0
void radio_startTimer(uint16_t period) {
   radiotimer_start(period);
}
Exemple #7
0
void radio_startTimer(PORT_TIMER_WIDTH period) {
   radiotimer_start(period);
}