This is my quadcopter prototype software, still in development!
Diff: quadv3/mbed/AnalogIn.h
- Revision:
- 0:978110f7f027
diff -r 000000000000 -r 978110f7f027 quadv3/mbed/AnalogIn.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/quadv3/mbed/AnalogIn.h Wed Jan 30 13:14:44 2013 +0000 @@ -0,0 +1,99 @@ +/* mbed Microcontroller Library - AnalogIn + * Copyright (c) 2006-2011 ARM Limited. All rights reserved. + */ + +#ifndef MBED_ANALOGIN_H +#define MBED_ANALOGIN_H + +#include "device.h" + +#if DEVICE_ANALOGIN + +#include "platform.h" +#include "PinNames.h" +#include "PeripheralNames.h" +#include "Base.h" + +namespace mbed { + +/* Class: AnalogIn + * An analog input, used for reading the voltage on a pin + * + * Example: + * > // Print messages when the AnalogIn is greater than 50% + * > + * > #include "mbed.h" + * > + * > AnalogIn temperature(p20); + * > + * > int main() { + * > while(1) { + * > if(temperature > 0.5) { + * > printf("Too hot! (%f)", temperature.read()); + * > } + * > } + * > } + */ +class AnalogIn : public Base { + +public: + + /* Constructor: AnalogIn + * Create an AnalogIn, connected to the specified pin + * + * Variables: + * pin - AnalogIn pin to connect to + * name - (optional) A string to identify the object + */ + AnalogIn(PinName pin, const char *name = NULL); + + /* Function: read + * Read the input voltage, represented as a float in the range [0.0, 1.0] + * + * Variables: + * returns - A floating-point value representing the current input voltage, + * measured as a percentage + */ + float read(); + + /* Function: read_u16 + * Read the input voltage, represented as an unsigned short in the range [0x0, 0xFFFF] + * + * Variables: + * returns - 16-bit unsigned short representing the current input voltage, + * normalised to a 16-bit value + */ + unsigned short read_u16(); + +#ifdef MBED_OPERATORS + /* Function: operator float + * An operator shorthand for <read()> + * + * The float() operator can be used as a shorthand for <read()> to simplify common code sequences + * + * Example: + * > float x = volume.read(); + * > float x = volume; + * > + * > if(volume.read() > 0.25) { ... } + * > if(volume > 0.25) { ... } + */ + operator float(); +#endif + +#ifdef MBED_RPC + virtual const struct rpc_method *get_rpc_methods(); + static struct rpc_class *get_rpc_class(); +#endif + +protected: + + ADCName _adc; + +}; + +} // namespace mbed + +#endif + +#endif