[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