--- /dev/null
+// $Id$\r
+\r
+/* tab:4\r
+ * "Copyright (c) 2000-2003 The Regents of the University of California.\r
+ * All rights reserved.\r
+ *\r
+ * Permission to use, copy, modify, and distribute this software and its\r
+ * documentation for any purpose, without fee, and without written agreement is\r
+ * hereby granted, provided that the above copyright notice, the following\r
+ * two paragraphs and the author appear in all copies of this software.\r
+ *\r
+ * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR\r
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT\r
+ * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF\r
+ * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\r
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\r
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS\r
+ * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO\r
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."\r
+ *\r
+ * Copyright (c) 2002-2003 Intel Corporation\r
+ * All rights reserved.\r
+ *\r
+ * This file is distributed under the terms in the attached INTEL-LICENSE\r
+ * file. If you do not find these files, copies can be found by writing to\r
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,\r
+ * 94704. Attention: Intel License Inquiry.\r
+ */\r
+#include "mts300.h"\r
+\r
+configuration MagReadP \r
+{\r
+ provides \r
+ {\r
+ interface Mag;\r
+ interface Read<uint16_t> as MagX[uint8_t client];\r
+ interface Read<uint16_t> as MagY[uint8_t client];\r
+ }\r
+ uses\r
+ {\r
+ interface Read<uint16_t> as ActualX[uint8_t client];\r
+ interface Read<uint16_t> as ActualY[uint8_t client];\r
+ }\r
+}\r
+implementation\r
+{\r
+ components MagConfigP,\r
+ new ArbitratedReadC(uint16_t) as AdcX,\r
+ new ArbitratedReadC(uint16_t) as AdcY;\r
+\r
+ Mag = MagConfigP;\r
+\r
+ MagX = AdcX;\r
+ AdcX.Resource -> MagConfigP;\r
+ AdcX.Service = ActualX;\r
+\r
+ MagY = AdcY;\r
+ AdcY.Resource -> MagConfigP;\r
+ AdcY.Service = ActualY;\r
+}\r
--- /dev/null
+// $Id$\r
+\r
+/* tab:4\r
+ * "Copyright (c) 2000-2003 The Regents of the University of California.\r
+ * All rights reserved.\r
+ *\r
+ * Permission to use, copy, modify, and distribute this software and its\r
+ * documentation for any purpose, without fee, and without written agreement is\r
+ * hereby granted, provided that the above copyright notice, the following\r
+ * two paragraphs and the author appear in all copies of this software.\r
+ *\r
+ * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR\r
+ * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT\r
+ * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF\r
+ * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+ *\r
+ * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,\r
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY\r
+ * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS\r
+ * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO\r
+ * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS."\r
+ *\r
+ * Copyright (c) 2002-2003 Intel Corporation\r
+ * All rights reserved.\r
+ *\r
+ * This file is distributed under the terms in the attached INTEL-LICENSE\r
+ * file. If you do not find these files, copies can be found by writing to\r
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA,\r
+ * 94704. Attention: Intel License Inquiry.\r
+ */\r
+#include "mts300.h"\r
+\r
+configuration MagReadStreamP\r
+{\r
+ provides {\r
+ interface Mag;\r
+ interface ReadStream<uint16_t> as ReadStreamX[uint8_t client];\r
+ interface ReadStream<uint16_t> as ReadStreamY[uint8_t client];\r
+ }\r
+ uses {\r
+ interface ReadStream<uint16_t> as ActualX[uint8_t client];\r
+ interface ReadStream<uint16_t> as ActualY[uint8_t client];\r
+ }\r
+}\r
+implementation\r
+{\r
+ enum {\r
+ NMAG_CLIENTS = uniqueCount(UQ_MAG_RESOURCE)\r
+ };\r
+ components MagConfigP,\r
+ new ArbitratedReadStreamC(NMAG_CLIENTS, uint16_t) as MultiplexX,\r
+ new ArbitratedReadStreamC(NMAG_CLIENTS, uint16_t) as MultiplexY;\r
+\r
+ Mag = MagConfigP;\r
+\r
+ ReadStreamX = MultiplexX;\r
+ MultiplexX.Resource -> MagConfigP;\r
+ MultiplexX.Service = ActualX;\r
+\r
+ ReadStreamY = MultiplexY;\r
+ MultiplexY.Resource -> MagConfigP;\r
+ MultiplexY.Service = ActualY;\r
+}
\ No newline at end of file
--- /dev/null
+/* $Id$\r
+ * Copyright (c) 2006 Intel Corporation\r
+ * All rights reserved.\r
+ *\r
+ * This file is distributed under the terms in the attached INTEL-LICENSE \r
+ * file. If you do not find these files, copies can be found by writing to\r
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, \r
+ * 94704. Attention: Intel License Inquiry.\r
+ */\r
+/**\r
+ * @author Alif Chen\r
+ */\r
+\r
+#include "mts300.h"\r
+\r
+generic configuration MagXC()\r
+{\r
+ provides interface Mag;\r
+ provides interface Read<uint16_t>;\r
+}\r
+implementation {\r
+ enum {\r
+ ID = unique(UQ_MAG_RESOURCE)\r
+ };\r
+ \r
+ components MagReadP,MagConfigP, new AdcReadClientC() as AdcX;\r
+\r
+ Mag = MagReadP;\r
+\r
+ Read = MagReadP.MagX[ID];\r
+ MagReadP.ActualX[ID] -> AdcX;\r
+ AdcX.Atm128AdcConfig -> MagConfigP.ConfigX;\r
+}\r
+\r
--- /dev/null
+/* $Id$\r
+ * Copyright (c) 2006 Intel Corporation\r
+ * All rights reserved.\r
+ *\r
+ * This file is distributed under the terms in the attached INTEL-LICENSE \r
+ * file. If you do not find these files, copies can be found by writing to\r
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, \r
+ * 94704. Attention: Intel License Inquiry.\r
+ */\r
+/**\r
+ * \r
+ * @author Alif Chen\r
+ */\r
+\r
+#include "mts300.h"\r
+\r
+generic configuration MagXStreamC() {\r
+ provides interface ReadStream<uint16_t>;\r
+ provides interface Mag;\r
+}\r
+implementation {\r
+ enum {\r
+ ID = unique(UQ_ACCEL_RESOURCE)\r
+ };\r
+ components MagReadStreamP, MagConfigP, new AdcReadStreamClientC();\r
+\r
+ Mag = MagReadStreamP;\r
+\r
+ ReadStream = MagReadStreamP.ReadStreamX[ID];\r
+ MagReadStreamP.ActualX[ID] -> AdcReadStreamClientC;\r
+ AdcReadStreamClientC.Atm128AdcConfig -> MagConfigP.ConfigX;\r
+}\r
--- /dev/null
+/* $Id$\r
+ * Copyright (c) 2006 Intel Corporation\r
+ * All rights reserved.\r
+ *\r
+ * This file is distributed under the terms in the attached INTEL-LICENSE \r
+ * file. If you do not find these files, copies can be found by writing to\r
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, \r
+ * 94704. Attention: Intel License Inquiry.\r
+ */\r
+/**\r
+ * @author Alif Chen\r
+ */\r
+\r
+#include "mts300.h"\r
+\r
+generic configuration MagYC()\r
+{\r
+ provides interface Mag;\r
+ provides interface Read<uint16_t>;\r
+}\r
+implementation {\r
+ enum {\r
+ ID = unique(UQ_MAG_RESOURCE)\r
+ };\r
+ \r
+ components MagReadP,MagConfigP, new AdcReadClientC() as AdcY;\r
+\r
+ Mag = MagReadP;\r
+\r
+ Read = MagReadP.MagY[ID];\r
+ MagReadP.ActualY[ID] -> AdcY;\r
+ AdcY.Atm128AdcConfig -> MagConfigP.ConfigY;\r
+}\r
+\r
--- /dev/null
+/* $Id$\r
+ * Copyright (c) 2006 Intel Corporation\r
+ * All rights reserved.\r
+ *\r
+ * This file is distributed under the terms in the attached INTEL-LICENSE \r
+ * file. If you do not find these files, copies can be found by writing to\r
+ * Intel Research Berkeley, 2150 Shattuck Avenue, Suite 1300, Berkeley, CA, \r
+ * 94704. Attention: Intel License Inquiry.\r
+ */\r
+/**\r
+ * @author Alif Chen\r
+ */\r
+\r
+#include "mts300.h"\r
+\r
+generic configuration MagYStreamC() {\r
+ provides interface ReadStream<uint16_t>;\r
+ provides interface Mag;\r
+}\r
+implementation {\r
+ enum {\r
+ ID = unique(UQ_ACCEL_RESOURCE)\r
+ };\r
+ components MagReadStreamP, MagConfigP, new AdcReadStreamClientC();\r
+\r
+ Mag = MagReadStreamP;\r
+\r
+ ReadStream = MagReadStreamP.ReadStreamY[ID];\r
+ MagReadStreamP.ActualY[ID] -> AdcReadStreamClientC;\r
+ AdcReadStreamClientC.Atm128AdcConfig -> MagConfigP.ConfigY;\r
+}\r