]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Simple ADC HIL test app that does not use any sensor wrappers.
authorjanhauer <janhauer>
Wed, 1 Aug 2007 09:28:58 +0000 (09:28 +0000)
committerjanhauer <janhauer>
Wed, 1 Aug 2007 09:28:58 +0000 (09:28 +0000)
apps/tests/msp430/AdcSimple/AdcSimpleAppC.nc [new file with mode: 0644]
apps/tests/msp430/AdcSimple/AdcSimpleC.nc [new file with mode: 0644]
apps/tests/msp430/AdcSimple/Makefile [new file with mode: 0644]

diff --git a/apps/tests/msp430/AdcSimple/AdcSimpleAppC.nc b/apps/tests/msp430/AdcSimple/AdcSimpleAppC.nc
new file mode 100644 (file)
index 0000000..9b211d3
--- /dev/null
@@ -0,0 +1,51 @@
+/* 
+ * Copyright (c) 2007, Technische Universitaet Berlin
+ * 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 Universitaet 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.
+ *
+ * - Revision -------------------------------------------------------------
+ * $Revision$
+ * $Date$
+ * @author: Jan Hauer <hauer@tkn.tu-berlin.de>
+ * ========================================================================
+ */
+
+/**
+ * Example for configuring and reading data from msp430 ADC via the HIL.
+ * The configuration is stored within the app component - however,
+ * typically it will be stored in a separate component.
+ * (see tinyos-2.x/tos/chips/msp430/sensors)
+ */
+configuration AdcSimpleAppC {
+}
+implementation {
+  components MainC, AdcSimpleC, new AdcReadClientC(), LedsC;
+
+  MainC.Boot <- AdcSimpleC;
+  AdcSimpleC.VoltageRead -> AdcReadClientC;
+  AdcReadClientC.AdcConfigure -> AdcSimpleC.VoltageConfigure;
+  AdcSimpleC.Leds -> LedsC;
+}
diff --git a/apps/tests/msp430/AdcSimple/AdcSimpleC.nc b/apps/tests/msp430/AdcSimple/AdcSimpleC.nc
new file mode 100644 (file)
index 0000000..1447e0b
--- /dev/null
@@ -0,0 +1,82 @@
+/* 
+ * Copyright (c) 2007, Technische Universitaet Berlin
+ * 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 Universitaet 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.
+ *
+ * - Revision -------------------------------------------------------------
+ * $Revision$
+ * $Date$
+ * @author: Jan Hauer <hauer@tkn.tu-berlin.de>
+ * ========================================================================
+ */
+
+#include "Msp430Adc12.h"
+
+module AdcSimpleC {
+  provides {
+    interface AdcConfigure<const msp430adc12_channel_config_t*> as VoltageConfigure;
+  }
+  uses {
+    interface Boot;
+    interface Read<uint16_t> as VoltageRead;
+    interface Leds;
+  }
+}
+implementation {
+
+  const msp430adc12_channel_config_t config = {
+      inch: SUPPLY_VOLTAGE_HALF_CHANNEL,
+      sref: REFERENCE_VREFplus_AVss,
+      ref2_5v: REFVOLT_LEVEL_1_5,
+      adc12ssel: SHT_SOURCE_ACLK,
+      adc12div: SHT_CLOCK_DIV_1,
+      sht: SAMPLE_HOLD_4_CYCLES,
+      sampcon_ssel: SAMPCON_SOURCE_SMCLK,
+      sampcon_id: SAMPCON_CLOCK_DIV_1
+  };
+
+  event void Boot.booted() 
+  {
+    call Leds.led0Off();
+    call Leds.led1Off();
+    call Leds.led2Off();
+    call VoltageRead.read();
+  }
+
+  event void VoltageRead.readDone( error_t result, uint16_t val )
+  {
+    if (result == SUCCESS){
+      call Leds.led0On();
+      call Leds.led1On();
+      call Leds.led2On();
+    }
+  }
+
+  async command const msp430adc12_channel_config_t* VoltageConfigure.getConfiguration()
+  {
+    return &config; // must not be changed
+  }
+}
diff --git a/apps/tests/msp430/AdcSimple/Makefile b/apps/tests/msp430/AdcSimple/Makefile
new file mode 100644 (file)
index 0000000..5102a7d
--- /dev/null
@@ -0,0 +1,2 @@
+COMPONENT=AdcSimpleAppC
+include $(MAKERULES)