From: R. Steve McKown Date: Fri, 30 Jul 2010 22:34:41 +0000 (-0600) Subject: PlatformUartC provides Resource; PlatformSerialC provides StdControl. X-Git-Tag: patchset/2.1.1-4.5~13 X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=commitdiff_plain;h=40caf9c26fdd0bf045b7ce19148b9ba6e1a78b36 PlatformUartC provides Resource; PlatformSerialC provides StdControl. PlatformSerialC is then derived from PlatformUartC. Only for TMI created platforms for now. --- diff --git a/tos/platforms/olimexp169/PlatformSerialC.nc b/tos/platforms/olimexp169/PlatformSerialC.nc index 58d28330..1acf9fac 100644 --- a/tos/platforms/olimexp169/PlatformSerialC.nc +++ b/tos/platforms/olimexp169/PlatformSerialC.nc @@ -9,13 +9,11 @@ configuration PlatformSerialC { implementation { - components new Msp430Uart0C() as UartC; + components PlatformUartC as UartC; UartStream = UartC; UartByte = UartC; components TelosSerialP; StdControl = TelosSerialP; - TelosSerialP.Msp430UartConfigure <- UartC.Msp430UartConfigure; - TelosSerialP.Resource -> UartC.Resource; } diff --git a/tos/platforms/olimexp169/PlatformSerialP.nc b/tos/platforms/olimexp169/PlatformSerialP.nc deleted file mode 100644 index 034547d1..00000000 --- a/tos/platforms/olimexp169/PlatformSerialP.nc +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright (c) 2008, Titanium Mirror, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - Neither the name of the Technische Universität Berlin nor the names - * of its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED - * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE - * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - - /** - * @author R. Steve McKown - */ - -module PlatformSerialP { - provides interface StdControl; - uses interface Resource; -} -implementation { - command error_t StdControl.start() - { - return call Resource.immediateRequest(); - } - - command error_t StdControl.stop() - { - call Resource.release(); - return SUCCESS; - } - - event void Resource.granted() {} -} diff --git a/tos/platforms/olimexp169/PlatformUartC.nc b/tos/platforms/olimexp169/PlatformUartC.nc new file mode 100644 index 00000000..bc06f1fd --- /dev/null +++ b/tos/platforms/olimexp169/PlatformUartC.nc @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2008-2010, Titanium Mirror, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * - Neither the name of the Technische Universität Berlin nor the names + * of its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + /** + * @author R. Steve McKown + */ + +configuration PlatformUartC { + provides { + interface Resource; + interface UartStream; + interface UartByte; + } +} +implementation { + components new Msp430Uart0C() as UartC; + Resource = UartC; + UartStream = UartC; + UartByte = UartC; + + components TelosSerialP; + TelosSerialP.Msp430UartConfigure <- UartC.Msp430UartConfigure; + TelosSerialP.Resource -> UartC.Resource; + +} diff --git a/tos/platforms/tmicore/PlatformSerialC.nc b/tos/platforms/tmicore/PlatformSerialC.nc index 28f4354e..a32ffa04 100644 --- a/tos/platforms/tmicore/PlatformSerialC.nc +++ b/tos/platforms/tmicore/PlatformSerialC.nc @@ -37,16 +37,11 @@ configuration PlatformSerialC { provides interface UartByte; } implementation { - components new Msp430UartA1C() as UartC; + components PlatformUartC as UartC; UartStream = UartC; UartByte = UartC; components PlatformSerialP; StdControl = PlatformSerialP; PlatformSerialP.Resource -> UartC; - -#if 0 /* If you want to change the configuration... */ - components SomeConfigurationComponentC as ConfigC; - UartC.AsyncConfigure -> ConfigC; -#endif } diff --git a/tos/platforms/tmicore/PlatformUartC.nc b/tos/platforms/tmicore/PlatformUartC.nc new file mode 100644 index 00000000..10a7cec4 --- /dev/null +++ b/tos/platforms/tmicore/PlatformUartC.nc @@ -0,0 +1,51 @@ +/* + * Copyright (c) 2008-2010, Titanium Mirror, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * - Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * - Neither the name of the Technische Universität Berlin nor the names + * of its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED + * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE + * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + /** + * @author R. Steve McKown + */ + +configuration PlatformUartC { + provides { + interface Resource; + interface UartStream; + interface UartByte; + } +} +implementation { + components new Msp430UartA1C() as UartC; + Resource = UartC; + UartStream = UartC; + UartByte = UartC; + +#if 0 /* If you want to change the Uart's configuration... */ + components SomeConfigurationComponentC as ConfigC; + UartC.AsyncConfigure -> ConfigC; +#endif +}