aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/wiring/io.h18
-rw-r--r--src/wiring/wiring_digital.c5
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;