/** \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); }
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(); } }
void radio_startTimer(uint16_t period) { radiotimer_start(period); }
void radio_startTimer(PORT_TIMER_WIDTH period) { radiotimer_start(period); }