Modified InOut library
Diff: DigitalInOut2.h
- Revision:
- 2:291f43f0b5a2
- Parent:
- 1:f3a86fb2a054
- Child:
- 3:edc96c27c5c2
--- a/DigitalInOut2.h Sun Oct 12 23:51:11 2014 +0000 +++ b/DigitalInOut2.h Mon Oct 13 00:16:44 2014 +0000 @@ -1,5 +1,5 @@ -#ifndef MBED_DIGITALINOUT_H -#define MBED_DIGITALINOUT_H +#ifndef DIGITALINOUT2_H +#define DIGITALINOUT2_H #include "platform.h" @@ -7,63 +7,37 @@ namespace mbed { -/** A digital input/output, used for setting or reading a bi-directional pin - */ class DigitalInOut2 { public: gpio_t gpio; - /** Create a DigitalInOut connected to the specified pin - * - * @param pin DigitalInOut pin to connect to - */ DigitalInOut2(PinName pin) { - gpio_init(&gpio, pin, PIN_INPUT); + gpio_init(&gpio, pin); } - /** Set the output, specified as 0 or 1 (int) - * - * @param value An integer specifying the pin output value, - * 0 for logical 0, 1 (or any other non-zero value) for logical 1 - */ void write(int value) { gpio_write(&gpio, value); } - - /** Return the output setting, represented as 0 or 1 (int) - * - * @returns - * an integer representing the output setting of the pin if it is an output, - * or read the input if set as an input - */ + int read() { return gpio_read(&gpio); } - /** Set as an output - */ void output() { gpio_dir(&gpio, PIN_OUTPUT); } - - /** Set as an input - */ + void input() { gpio_dir(&gpio, PIN_INPUT); } - - /** Set the input pin mode - * - * @param mode PullUp, PullDown, PullNone, OpenDrain - */ + void mode(PinMode pull) { gpio_mode(&gpio, pull); } #ifdef MBED_OPERATORS - /** A shorthand for write() - */ + DigitalInOut2& operator= (int value) { write(value); return *this; @@ -74,8 +48,6 @@ return *this; } - /** A shorthand for read() - */ operator int() { return read(); } @@ -83,6 +55,6 @@ }; -} // namespace mbed +} #endif \ No newline at end of file