mbed libraries for KL25Z

Dependents:   FRDM_RGBLED

Revision:
9:663789d7729f
Parent:
8:c14af7958ef5
--- a/AnalogIn.h	Fri Nov 09 11:33:53 2012 +0000
+++ b/AnalogIn.h	Mon Feb 18 09:41:56 2013 +0000
@@ -1,5 +1,17 @@
-/* mbed Microcontroller Library - AnalogIn
- * Copyright (c) 2006-2011 ARM Limited. All rights reserved.
+/* mbed Microcontroller Library
+ * Copyright (c) 2006-2013 ARM Limited
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
  */
 #ifndef MBED_ANALOGIN_H
 #define MBED_ANALOGIN_H
@@ -8,6 +20,8 @@
 
 #if DEVICE_ANALOGIN
 
+#include "analogin_api.h"
+
 namespace mbed {
 
 /** An analog input, used for reading the voltage on a pin
@@ -15,11 +29,11 @@
  * Example:
  * @code
  * // Print messages when the AnalogIn is greater than 50%
- * 
+ *
  * #include "mbed.h"
- * 
+ *
  * AnalogIn temperature(p20);
- * 
+ *
  * int main() {
  *     while(1) {
  *         if(temperature > 0.5) {
@@ -35,23 +49,29 @@
 
     /** Create an AnalogIn, connected to the specified pin
      *
-     * @param pin AnalogIn pin to connect to 
+     * @param pin AnalogIn pin to connect to
      * @param name (optional) A string to identify the object
      */
-    AnalogIn(PinName pin);
-    
+    AnalogIn(PinName pin) {
+        analogin_init(&_adc, pin);
+    }
+
     /** Read the input voltage, represented as a float in the range [0.0, 1.0]
      *
      * @returns A floating-point value representing the current input voltage, measured as a percentage
      */
-    float read();
+    float read() {
+        return analogin_read(&_adc);
+    }
 
     /** Read the input voltage, represented as an unsigned short in the range [0x0, 0xFFFF]
      *
      * @returns
-     *   16-bit unsigned short representing the current input voltage, normalised to a 16-bit value 
+     *   16-bit unsigned short representing the current input voltage, normalised to a 16-bit value
      */
-    unsigned short read_u16();
+    unsigned short read_u16() {
+        return analogin_read_u16(&_adc);
+    }
 
 #ifdef MBED_OPERATORS
     /** An operator shorthand for read()
@@ -62,16 +82,18 @@
      * @code
      * float x = volume.read();
      * float x = volume;
-     * 
+     *
      * if(volume.read() > 0.25) { ... }
      * if(volume > 0.25) { ... }
      * @endcode
      */
-    operator float();
+    operator float() {
+        return read();
+    }
 #endif
 
 protected:
-    ADCName _adc;
+    analogin_t _adc;
 };
 
 } // namespace mbed