From: bengreenstein Date: Wed, 24 Jan 2007 17:17:01 +0000 (+0000) Subject: added SerialFlush interface to SerialP. X-Git-Tag: tinyos/2.0.1~219 X-Git-Url: https://oss.titaniummirror.com/gitweb?a=commitdiff_plain;h=80fc35c779203dd4cfc0dde848831275e21cb220;p=tinyos-2.x.git added SerialFlush interface to SerialP. --- diff --git a/tos/lib/serial/HdlcTranslateC.nc b/tos/lib/serial/HdlcTranslateC.nc index 40cc401a..959e99ed 100644 --- a/tos/lib/serial/HdlcTranslateC.nc +++ b/tos/lib/serial/HdlcTranslateC.nc @@ -114,4 +114,5 @@ implementation { } async event void UartStream.receiveDone( uint8_t* buf, uint16_t len, error_t error ) {} + } diff --git a/tos/lib/serial/SerialDispatcherC.nc b/tos/lib/serial/SerialDispatcherC.nc index a8786e6a..8c2f892a 100644 --- a/tos/lib/serial/SerialDispatcherC.nc +++ b/tos/lib/serial/SerialDispatcherC.nc @@ -65,7 +65,8 @@ implementation { SerialP.SerialFrameComm -> HdlcTranslateC; SerialP.SerialControl -> PlatformSerialC; - + // SerialP.SerialFlush -> PlatformSerialC; HdlcTranslateC.UartStream -> PlatformSerialC; + } diff --git a/tos/lib/serial/SerialP.nc b/tos/lib/serial/SerialP.nc index f2c4f28d..eb5398e3 100644 --- a/tos/lib/serial/SerialP.nc +++ b/tos/lib/serial/SerialP.nc @@ -70,6 +70,7 @@ module SerialP { interface SerialFrameComm; interface Leds; interface StdControl as SerialControl; + interface SerialFlush; } } implementation { @@ -321,11 +322,23 @@ implementation { signal SplitControl.startDone(SUCCESS); } + task void stopDoneTask() { + call SerialFlush.flush(); + } + + event void SerialFlush.flushDone(){ call SerialControl.stop(); signal SplitControl.stopDone(SUCCESS); } - + + task void defaultSerialFlushTask(){ + signal SerialFlush.flushDone(); + } + default command void SerialFlush.flush(){ + post defaultSerialFlushTask(); + } + command error_t SplitControl.start() { post startDoneTask(); return SUCCESS;