mbed libraries for KL25Z
Diff: DigitalIn.h
- Revision:
- 0:8024c367e29f
- Child:
- 8:c14af7958ef5
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DigitalIn.h Fri Oct 05 09:16:41 2012 +0000 @@ -0,0 +1,86 @@ +/* mbed Microcontroller Library - DigitalIn + * Copyright (c) 2006-2011 ARM Limited. All rights reserved. + */ +#ifndef MBED_DIGITALIN_H +#define MBED_DIGITALIN_H + +#include "platform.h" +#include "Base.h" + +#include "gpio_api.h" + +namespace mbed { + +/* Class: DigitalIn + * A digital input, used for reading the state of a pin + * + * Example: + * > // Flash an LED while a DigitalIn is true + * > + * > #include "mbed.h" + * > + * > DigitalIn enable(p5); + * > DigitalOut led(LED1); + * > + * > int main() { + * > while(1) { + * > if(enable) { + * > led = !led; + * > } + * > wait(0.25); + * > } + * > } + */ +class DigitalIn : public Base { + +public: + + /* Constructor: DigitalIn + * Create a DigitalIn connected to the specified pin + * + * Variables: + * pin - DigitalIn pin to connect to + * name - (optional) A string to identify the object + */ + DigitalIn(PinName pin, const char *name = NULL); + + /* Function: read + * Read the input, represented as 0 or 1 (int) + * + * Variables: + * returns - An integer representing the state of the input pin, + * 0 for logical 0 and 1 for logical 1 + */ + int read(); + + /* Function: mode + * Set the input pin mode + * + * Variables: + * mode - PullUp, PullDown, PullNone, OpenDrain + */ + void mode(PinMode pull); + +#ifdef MBED_OPERATORS + /* Function: operator int() + * An operator shorthand for <read()> + */ + operator int() { + return read(); + } + +#endif + +#ifdef MBED_RPC + virtual const struct rpc_method *get_rpc_methods(); + static struct rpc_class *get_rpc_class(); +#endif + +protected: + gpio_object gpio; +}; + +} // namespace mbed + +#endif +