[Tinyos-2-commits] CVS: tinyos-2.x/tos/lib/printf PrintfC.nc, 1.6, 1.7 PrintfP.nc, 1.7, 1.8

Kevin Klues klueska at users.sourceforge.net
Sun Aug 19 23:09:13 PDT 2007


Update of /cvsroot/tinyos/tinyos-2.x/tos/lib/printf
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv18560/tos/lib/printf

Modified Files:
	PrintfC.nc PrintfP.nc 
Log Message:
Small changes to the application to make it line up with the newly created tutorial on using printf

Index: PrintfC.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/printf/PrintfC.nc,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** PrintfC.nc	20 Apr 2007 01:14:13 -0000	1.6
--- PrintfC.nc	20 Aug 2007 06:09:11 -0000	1.7
***************
*** 52,61 ****
    components new SerialAMSenderC(AM_PRINTF_MSG);
    components PrintfP;
-   components LedsC;
  
    PrintfControl = PrintfP;
    PrintfFlush = PrintfP;
    
-   PrintfP.Leds -> LedsC;
    PrintfP.SerialControl -> SerialActiveMessageC;
    PrintfP.AMSend -> SerialAMSenderC;
--- 52,59 ----

Index: PrintfP.nc
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/tos/lib/printf/PrintfP.nc,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** PrintfP.nc	16 Jul 2007 19:42:34 -0000	1.7
--- PrintfP.nc	20 Aug 2007 06:09:11 -0000	1.8
***************
*** 58,63 ****
    }
    uses {
!   	interface SplitControl as SerialControl;
!     interface Leds;
      interface AMSend;
      interface Packet;
--- 58,62 ----
    }
    uses {
!     interface SplitControl as SerialControl;
      interface AMSend;
      interface Packet;
***************
*** 65,73 ****
  }
  implementation {
! 	
    enum {
!   	S_STARTED,
!   	S_STOPPED,
!   	S_FLUSHING,
    };
    
--- 64,72 ----
  }
  implementation {
!   
    enum {
!     S_STARTED,
!     S_STOPPED,
!     S_FLUSHING,
    };
    
***************
*** 87,91 ****
      printf_msg_t* m = (printf_msg_t*)call Packet.getPayload(&printfMsg, NULL);
      length_to_send = (bytes_left_to_flush < sizeof(printf_msg_t)) ? bytes_left_to_flush : sizeof(printf_msg_t);
!     memset(m->buffer, 0, sizeof(m->buffer));
      memcpy(m->buffer, (uint8_t*)next_byte, length_to_send);
      if(call AMSend.send(AM_BROADCAST_ADDR, &printfMsg, sizeof(printf_msg_t)) != SUCCESS)
--- 86,90 ----
      printf_msg_t* m = (printf_msg_t*)call Packet.getPayload(&printfMsg, NULL);
      length_to_send = (bytes_left_to_flush < sizeof(printf_msg_t)) ? bytes_left_to_flush : sizeof(printf_msg_t);
!     memset(m->buffer, 0, sizeof(printf_msg_t));
      memcpy(m->buffer, (uint8_t*)next_byte, length_to_send);
      if(call AMSend.send(AM_BROADCAST_ADDR, &printfMsg, sizeof(printf_msg_t)) != SUCCESS)
***************
*** 98,102 ****
  
    command error_t PrintfControl.start() {
!   	if(state == S_STOPPED)
        return call SerialControl.start();
      return FAIL;
--- 97,101 ----
  
    command error_t PrintfControl.start() {
!     if(state == S_STOPPED)
        return call SerialControl.start();
      return FAIL;
***************
*** 104,108 ****
    
    command error_t PrintfControl.stop() {
!   	if(state == S_STARTED)
        return call SerialControl.stop();
      return FAIL;
--- 103,107 ----
    
    command error_t PrintfControl.stop() {
!     if(state == S_STARTED)
        return call SerialControl.stop();
      return FAIL;
***************
*** 110,119 ****
  
    event void SerialControl.startDone(error_t error) {
!   	if(error != SUCCESS) {
!   	  signal PrintfControl.startDone(error);
!   	  return;
!   	}
  #ifdef _H_atmega128hardware_H
! 	stdout = &atm128_stdout;
  #endif
      atomic {
--- 109,118 ----
  
    event void SerialControl.startDone(error_t error) {
!     if(error != SUCCESS) {
!       signal PrintfControl.startDone(error);
!       return;
!     }
  #ifdef _H_atmega128hardware_H
!     stdout = &atm128_stdout;
  #endif
      atomic {
***************
*** 128,135 ****
  
    event void SerialControl.stopDone(error_t error) {
!   	if(error != SUCCESS) {
!   	  signal PrintfControl.stopDone(error);
!   	  return;
!   	}
      atomic state = S_STOPPED;
      signal PrintfControl.stopDone(error); 
--- 127,134 ----
  
    event void SerialControl.stopDone(error_t error) {
!     if(error != SUCCESS) {
!       signal PrintfControl.stopDone(error);
!       return;
!     }
      atomic state = S_STOPPED;
      signal PrintfControl.stopDone(error); 
***************
*** 137,165 ****
    
    command error_t PrintfFlush.flush() {
!   	atomic {
!   	  if(state == S_STARTED && (next_byte > buffer)) {
!   	    state = S_FLUSHING;
!             bytes_left_to_flush = next_byte - buffer;
!   	    next_byte = buffer;
!   	  }
!   	  else return FAIL;
!   	}
!   	sendNext();
!   	return SUCCESS;
    }
      
    event void AMSend.sendDone(message_t* msg, error_t error) {    
!   	if(error == SUCCESS) {
!   	  if(bytes_left_to_flush > 0)
!   	    sendNext();
!   	  else {
          next_byte = buffer;
          bytes_left_to_flush = 0; 
!     	length_to_send = 0;
          atomic state = S_STARTED;
! 	    signal PrintfFlush.flushDone(error);
! 	  }
! 	}
! 	else post retrySend();
    }
    
--- 136,164 ----
    
    command error_t PrintfFlush.flush() {
!     atomic {
!       if(state == S_STARTED && (next_byte > buffer)) {
!         state = S_FLUSHING;
!         bytes_left_to_flush = next_byte - buffer;
!         next_byte = buffer;
!       }
!       else return FAIL;
!     }
!     sendNext();
!     return SUCCESS;
    }
      
    event void AMSend.sendDone(message_t* msg, error_t error) {    
!     if(error == SUCCESS) {
!       if(bytes_left_to_flush > 0)
!         sendNext();
!       else {
          next_byte = buffer;
          bytes_left_to_flush = 0; 
!         length_to_send = 0;
          atomic state = S_STARTED;
!       signal PrintfFlush.flushDone(error);
!     }
!   }
!   else post retrySend();
    }
    
***************
*** 170,181 ****
    int uart_putchar(char c, FILE *stream) __attribute__((noinline)) @C() @spontaneous() {
  #endif
!   	atomic {
!   	  if(state == S_STARTED && ((next_byte-buffer+1) < PRINTF_BUFFER_SIZE)) {
!   	    *next_byte = c;
!   	    next_byte++;
!   	    return 0;
!   	  }
!   	  else return -1;
!   	}
    }
  }
--- 169,179 ----
    int uart_putchar(char c, FILE *stream) __attribute__((noinline)) @C() @spontaneous() {
  #endif
!     atomic {
!       if(state == S_STARTED && ((next_byte-buffer) < PRINTF_BUFFER_SIZE)) {
!         *(next_byte++) = c;
!         return 0;
!       }
!       else return -1;
!     }
    }
  }



More information about the Tinyos-2-commits mailing list