Changeset 582
- Timestamp:
- 05/17/08 10:06:33 (5 months ago)
- Files:
-
- nano-RK/src/net/widom/hal/atmega1281/wd_timer.c (modified) (1 diff)
- nano-RK/src/net/widom/radio/cc2420/wd_rf.c (modified) (3 diffs)
- nano-RK/src/net/widom/widom.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
nano-RK/src/net/widom/hal/atmega1281/wd_timer.c
r244 r582 221 221 #endif 222 222 { 223 bool do_alarm_callback=false;224 223 225 224 // nrk_gpio_toggle(NRK_DEBUG_0); nano-RK/src/net/widom/radio/cc2420/wd_rf.c
r244 r582 378 378 wd_timer_start_periodic(TIME_UNTIL_START_TX); // start periodic sampling 379 379 380 381 380 txSeqNumber++; 382 381 … … 399 398 int8_t wdrf_polling_rx_packet() 400 399 { 400 fifop_ind=false; 401 401 // it is safe to call rf_polling_rx_packet from basic_rf... 402 402 // (with RADIO_PRIORITY_CEILING off) … … 424 424 if (!(FIFO_IS_1)) { // FIFO overflow 425 425 wdrf_flush_rx_fifo(); 426 fifop_ind == true; 426 427 } else { 427 428 fifop_ind=true; nano-RK/src/net/widom/widom.c
r244 r582 92 92 // signal to indicate a packet tx 93 93 nrk_sig_t wd_tx_pkt_info_signal; 94 94 95 95 // timeouts constants (rounded up to clock ticks) 96 96 const uint32_t E = ( E_us / 1000000.0) / WD_CLOCK_TICK_TIME + 1; … … 451 451 case MSG_TYPE_MAC_WAIT_TIME_ETG: // ended waiting after winning the tournament 452 452 wd_timer_set_alarm(2*H+G+(G+H)*(NPRIOBITS-1) + ETG + CMSG, MSG_TYPE_MAC_WAIT_TIME_ENDTXRX); // next state transition 453 454 if (wdrf_tx_packet (&tx_pkt_info) == NRK_OK) { // tx packet 455 #ifndef CONTINUOUS_SEND 456 tx_packet=false; 457 #endif 458 } 453 wdrf_tx_packet (&tx_pkt_info); // tx packet 459 454 toState(10); 460 455 break; … … 466 461 break; 467 462 case MSG_TYPE_RADIO_END_TX: 463 wd_timer_cancel_alarm(); // cancel MAC_WAIT_TIME_ENDTXRX timeout 468 464 nrk_event_signal ( wd_tx_pkt_info_signal ); // signal packet transmission 469 465 case MSG_TYPE_MAC_WAIT_TIME_ENDTXRX:// ended waiting message tx 466 #ifndef CONTINUOUS_SEND 467 tx_packet=false; 468 #endif 470 469 wdrf_stp(); // stop 471 470 toState(0); // go back to state 0 … … 629 628 nrk_sig_mask_t event; 630 629 631 nrk_signal_register(wd_tx_pkt_info_signal); 632 event=nrk_event_wait (SIG(wd_tx_pkt_info_signal) );633 634 // Check if it was a time out instead of packet RX signal630 nrk_signal_register(wd_tx_pkt_info_signal); 631 event=nrk_event_wait (SIG(wd_tx_pkt_info_signal) | SIG(nrk_wakeup_signal)); 632 633 // Check if packet TX signal was OK 635 634 if((event & SIG(wd_tx_pkt_info_signal)) == 0 ) return NRK_ERROR; 636 635 … … 648 647 { 649 648 nrk_sig_mask_t event; 650 649 651 650 nrk_signal_register(wd_rx_pkt_info_signal); 652 event=nrk_event_wait (SIG(wd_rx_pkt_info_signal) );653 654 // Check if it was a time out instead of packet RX signal655 if( (event & SIG(wd_rx_pkt_info_signal)) == 0 ) return NRK_ERROR;651 event=nrk_event_wait (SIG(wd_rx_pkt_info_signal) | SIG(nrk_wakeup_signal)); 652 653 // Check if packet RX signal was OK 654 if( (event & SIG(wd_rx_pkt_info_signal)) == 0 ) return NRK_ERROR; 656 655 657 656 return NRK_OK;
