[Tinyos-contrib-commits] CVS: tinyos-1.x/contrib/handhelds/tos/lib/RovingNetworks RovingNetworksM.nc, 1.4, 1.5

steve ayer ayer1 at users.sourceforge.net
Thu Sep 13 10:57:34 PDT 2007


Update of /cvsroot/tinyos/tinyos-1.x/contrib/handhelds/tos/lib/RovingNetworks
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv22008

Modified Files:
	RovingNetworksM.nc 
Log Message:

got rid of legacy polling mechanism for detecting/clearing overflow
condition.  we have an interrupt and are now using it.

also removed timercontrol calls, now unused.

poll_for_50_msec was unused, too; removed.


Index: RovingNetworksM.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-1.x/contrib/handhelds/tos/lib/RovingNetworks/RovingNetworksM.nc,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** RovingNetworksM.nc	10 Aug 2007 17:13:02 -0000	1.4
--- RovingNetworksM.nc	13 Sep 2007 17:57:32 -0000	1.5
***************
*** 42,47 ****
    }
    uses {
-     interface StdControl as TimerControl;
-     interface Timer as OverflowTimer;
      interface HPLUSARTControl as UARTControl;
      interface HPLUSARTFeedback as UARTData;
--- 42,45 ----
***************
*** 54,58 ****
  
  implementation {
- 
    extern int sprintf(char *str, const char *format, ...) __attribute__ ((C));
    extern int snprintf(char *str, size_t len, const char *format, ...) __attribute__ ((C));
--- 52,55 ----
***************
*** 129,151 ****
    }
  
-   /*
-    * poll?  what's going on here?  mike conrad asserts that the module fw 
-    * should be able to respond to a command request within about 50ms,
-    * so instead of posting a separate task for each command (messy!),
-    * we'll just poll inline and wait for the uart to tell us it has 
-    * heard back from the bt module by setting the expectedResponse to NULL
-    */
-   result_t poll_for_fifty_msec() {
-     register uint8_t i;
-     
-     for(i = 0; i < 10; i++)
-       TOSH_uwait(5000);
- 
-     if(*expectedCommandResponse)     
-       return FAIL;
-     else
-       return SUCCESS;
-   }
- 
    void disableRN() {
      TOSH_CLR_BT_RESET_PIN();
--- 126,129 ----
***************
*** 219,236 ****
      char commandbuf[32];
  
-     /* if we're in default mode, don't even go to cmd mode
-     if(!radioMode &&     
-        discoverable &&
-        !authenticate &&
-        !setNameRequest &&
-        !setPINRequest &&
-        !setSvcClassRequest &&
-        !setDevClassRequest &&
-        !resetDefaultsRequest &&
-        !encrypt){
-       signal Bluetooth.commandModeEnded();
-       return;
-     }
-     */
      switch(setupStep) {
      case 0:
--- 197,200 ----
***************
*** 348,352 ****
      transmissionOverflow = FALSE, messageInProgress = FALSE;
  
-     call TimerControl.init();
      call MessagePool.init();
      
--- 312,315 ----
***************
*** 363,368 ****
  
    command result_t StdControl.start(){
-     call TimerControl.start();
- 
      TOSH_uwait(15000);
      post runSetCommands();
--- 326,329 ----
***************
*** 372,377 ****
  
    command result_t StdControl.stop(){
-     call TimerControl.stop();
- 
      disableRN();
  
--- 333,336 ----
***************
*** 449,471 ****
    }
      
-   event result_t OverflowTimer.fired() {
-     if (call RTSInterrupt.getValue() == FALSE) {
-       transmissionOverflow = 0;
-       post sendNextChar();
-       //      call Leds.redOff();
-     } 
-     else
-       call OverflowTimer.start(TIMER_ONE_SHOT, 10);	    
- 
-     return SUCCESS;
-   }
- 
    // Interrupt associated with radio flow control.  Ensures that there are no buffer overflows.
    async event void RTSInterrupt.fired() {
      if (call RTSInterrupt.getValue() == TRUE) {
        transmissionOverflow = 1;
!       call OverflowTimer.start(TIMER_ONE_SHOT, 10);
        //      call Leds.redOn();
      } 
      atomic call RTSInterrupt.clear();
    }
--- 408,425 ----
    }
      
    // Interrupt associated with radio flow control.  Ensures that there are no buffer overflows.
    async event void RTSInterrupt.fired() {
      if (call RTSInterrupt.getValue() == TRUE) {
+       call Leds.redOn();
        transmissionOverflow = 1;
!       call RTSInterrupt.edge(FALSE);
        //      call Leds.redOn();
      } 
+     else{
+       atomic transmissionOverflow = 0;
+       post sendNextChar();
+       call RTSInterrupt.edge(TRUE);
+       call Leds.redOff();
+     }
      atomic call RTSInterrupt.clear();
    }
***************
*** 477,485 ****
      }
      else{
- 
        call ConnectionInterrupt.edge(TRUE);
        signal Bluetooth.connectionClosed(0);
      }
!     call ConnectionInterrupt.clear();
    }
    
--- 431,438 ----
      }
      else{
        call ConnectionInterrupt.edge(TRUE);
        signal Bluetooth.connectionClosed(0);
      }
!     atomic call ConnectionInterrupt.clear();
    }
    



More information about the Tinyos-contrib-commits mailing list