mbed libraries for KL25Z
Diff: AnalogIn.h
- 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