diff options
author | Perry Hung <iperry@alum.mit.edu> | 2010-03-22 23:52:08 -0400 |
---|---|---|
committer | Perry Hung <iperry@alum.mit.edu> | 2010-03-22 23:52:08 -0400 |
commit | 48be688f451e81d2a81c76a85dadf18093e672ab (patch) | |
tree | fb3321a04f2820926f91971cf1536d2cb8e63e7d /src/wiring | |
parent | 96ce013f875c918a70644ad23a03f0450a7f6848 (diff) | |
download | librambutan-48be688f451e81d2a81c76a85dadf18093e672ab.tar.gz librambutan-48be688f451e81d2a81c76a85dadf18093e672ab.zip |
Added open-drain output and analog-input modes
Diffstat (limited to 'src/wiring')
-rw-r--r-- | src/wiring/io.h | 18 | ||||
-rw-r--r-- | src/wiring/wiring_digital.c | 5 |
2 files changed, 7 insertions, 16 deletions
diff --git a/src/wiring/io.h b/src/wiring/io.h index 9c226c5..a313b2b 100644 --- a/src/wiring/io.h +++ b/src/wiring/io.h @@ -94,29 +94,15 @@ extern "C"{ typedef enum WiringPinMode { OUTPUT, + OUTPUT_OPEN_DRAIN, INPUT, + INPUT_ANALOG, INPUT_PULLUP, INPUT_PULLDOWN, INPUT_FLOATING, PWM } WiringPinMode; -#if 0 -typedef enum PinMode { - INPUT_FLOATING, - INPUT_ANALOG, - INPUT_DIGITAL, - INPUT_PULLDOWN, - INPUT_PULLUP, - INPUT, - OUTPUT, - PWM, - SERIAL, - SPI, - I2C, -} PinMode; -#endif - /* Set pin to mode * pinMode(pin, mode): * pin -> {0-38, D0-D39, A0-16} diff --git a/src/wiring/wiring_digital.c b/src/wiring/wiring_digital.c index 71be17b..b1be9a5 100644 --- a/src/wiring/wiring_digital.c +++ b/src/wiring/wiring_digital.c @@ -97,10 +97,15 @@ void pinMode(uint8_t pin, WiringPinMode mode) { case OUTPUT: outputMode = GPIO_MODE_OUTPUT_PP; break; + case OUTPUT_OPEN_DRAIN: + outputMode = GPIO_MODE_OUTPUT_OD; + break; case INPUT: case INPUT_FLOATING: outputMode = GPIO_MODE_INPUT_FLOATING; break; + case INPUT_ANALOG: + outputMode = GPIO_MODE_INPUT_ANALOG; case INPUT_PULLUP: outputMode = GPIO_MODE_INPUT_PU; break; |