X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=tos%2Flib%2Fprintf%2FPrintfP.nc;h=a1a81f3beb6a05786d14f20b268ed2cffdadd126;hp=c9a99d4397fd2f84a4896ab25f7fdbec0f1d4bd9;hb=32d57e66807cbea2aedfda37461a891b3168d422;hpb=5cb9fa871fafa88bc76cb5e17a4f6708c3e17627 diff --git a/tos/lib/printf/PrintfP.nc b/tos/lib/printf/PrintfP.nc index c9a99d43..a1a81f3b 100644 --- a/tos/lib/printf/PrintfP.nc +++ b/tos/lib/printf/PrintfP.nc @@ -111,11 +111,13 @@ implementation { } event void SerialControl.startDone(error_t error) { + if (state == S_STOPPED) { #ifdef _H_atmega128hardware_H - stdout = &atm128_stdout; + stdout = &atm128_stdout; #endif - atomic state = S_STARTED; - signal Boot.booted(); + atomic state = S_STARTED; + signal Boot.booted(); + } } event void SerialControl.stopDone(error_t error) { @@ -159,13 +161,16 @@ implementation { else post retrySend(); } -#ifdef _H_msp430hardware_h - int putchar(int c) __attribute__((noinline)) @C() @spontaneous() { -#endif #ifdef _H_atmega128hardware_H int uart_putchar(char c, FILE *stream) __attribute__((noinline)) @C() @spontaneous() { +#else +#ifdef __M16C62PHARDWARE_H__ + int lowlevel_putc(int c) __attribute__((noinline)) @C() @spontaneous() { +#else + int putchar(int c) __attribute__((noinline)) @C() @spontaneous() { +#endif #endif - if((state == S_STARTED) && (call Queue.size() >= 5*sizeof(printf_msg_t))) { + if((state == S_STARTED) && (call Queue.size() >= ((PRINTF_BUFFER_SIZE)/2))) { state = S_FLUSHING; sendNext(); }