-/*\r
- * Copyright (c) 2007 Stanford University.\r
- * All rights reserved.\r
- *\r
- * Redistribution and use in source and binary forms, with or without\r
- * modification, are permitted provided that the following conditions\r
- * are met:\r
- * - Redistributions of source code must retain the above copyright\r
- * notice, this list of conditions and the following disclaimer.\r
- * - Redistributions in binary form must reproduce the above copyright\r
- * notice, this list of conditions and the following disclaimer in the\r
- * documentation and/or other materials provided with the\r
- * distribution.\r
- * - Neither the name of the Stanford University nor the names of\r
- * its contributors may be used to endorse or promote products derived\r
- * from this software without specific prior written permission.\r
- *\r
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\r
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\r
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL STANFORD\r
- * UNIVERSITY OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\r
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\r
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\r
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\r
- * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\r
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\r
- * OF THE POSSIBILITY OF SUCH DAMAGE.\r
- */\r
-\r
-/**\r
- * @author Kevin Klues <klueska@cs.stanford.edu>\r
- * @date August 20th, 2007\r
- */\r
-\r
-generic configuration SharedAnalogDeviceC(char resourceName[], uint32_t startup_delay) {\r
- provides {\r
- interface Resource[uint8_t];\r
- interface Read<uint16_t>[uint8_t];\r
- }\r
- uses {\r
- interface Atm128AdcConfig as AdcConfig;\r
- interface GeneralIO as EnablePin;\r
- } \r
-}\r
-implementation {\r
- components new RoundRobinArbiterC(resourceName) as Arbiter;\r
- components new SplitControlPowerManagerC() as PowerManager;\r
- components new SharedAnalogDeviceP(startup_delay) as AnalogDevice;\r
- components new AdcReadNowClientC() as Adc;\r
- components new TimerMilliC();\r
- Resource = Arbiter;\r
- Read = AnalogDevice;\r
-\r
- PowerManager.ArbiterInfo -> Arbiter;\r
- PowerManager.SplitControl -> AnalogDevice;\r
- PowerManager.ResourceDefaultOwner -> Arbiter;\r
- AnalogDevice.ActualRead -> Adc;\r
- AnalogDevice.Timer -> TimerMilliC;\r
- AnalogDevice.AnalogDeviceResource -> Adc;\r
-\r
- Adc.Atm128AdcConfig = AdcConfig;\r
- AnalogDevice.EnablePin = EnablePin;\r
-}\r
+/*
+ * Copyright (c) 2007 Stanford University.
+ * 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 Stanford University 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 STANFORD
+ * UNIVERSITY OR ITS 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 Kevin Klues <klueska@cs.stanford.edu>
+ * @date August 20th, 2007
+ */
+
+generic configuration SharedAnalogDeviceC(char resourceName[], uint32_t startup_delay) {
+ provides {
+ interface Resource[uint8_t];
+ interface Read<uint16_t>[uint8_t];
+ }
+ uses {
+ interface Atm128AdcConfig as AdcConfig;
+ interface GeneralIO as EnablePin;
+ }
+}
+implementation {
+ components new RoundRobinArbiterC(resourceName) as Arbiter;
+ components new SplitControlPowerManagerC() as PowerManager;
+ components new SharedAnalogDeviceP(startup_delay) as AnalogDevice;
+ components new AdcReadNowClientC() as Adc;
+ components new TimerMilliC();
+ Resource = Arbiter;
+ Read = AnalogDevice;
+
+ PowerManager.ArbiterInfo -> Arbiter;
+ PowerManager.SplitControl -> AnalogDevice;
+ PowerManager.ResourceDefaultOwner -> Arbiter;
+ AnalogDevice.ActualRead -> Adc;
+ AnalogDevice.Timer -> TimerMilliC;
+ AnalogDevice.AnalogDeviceResource -> Adc;
+
+ Adc.Atm128AdcConfig = AdcConfig;
+ AnalogDevice.EnablePin = EnablePin;
+}