diff --git a/api/mraa/gpio.h b/api/mraa/gpio.h index 953d1a5..2a2a26c 100644 --- a/api/mraa/gpio.h +++ b/api/mraa/gpio.h @@ -70,7 +70,9 @@ typedef enum { */ typedef enum { MRAA_GPIO_OUT = 0, /**< Output. A Mode can also be set */ - MRAA_GPIO_IN = 1 /**< Input */ + MRAA_GPIO_IN = 1, /**< Input */ + MRAA_GPIO_OUT_HIGH = 2, /**< Output. Init High */ + MRAA_GPIO_OUT_LOW = 3 /**< Output. Init Low */ } gpio_dir_t; /** diff --git a/api/mraa/gpio.hpp b/api/mraa/gpio.hpp index 1786f45..9776627 100644 --- a/api/mraa/gpio.hpp +++ b/api/mraa/gpio.hpp @@ -45,8 +45,10 @@ typedef enum { * Gpio Direction options */ typedef enum { - DIR_OUT = 0, /**< Output. A Mode can also be set */ - DIR_IN = 1 /**< Input */ + DIR_OUT = 0, /**< Output. A Mode can also be set */ + DIR_IN = 1, /**< Input */ + DIR_OUT_HIGH = 2, /**< Output. Init High */ + DIR_OUT_LOW = 3 /**< Output. Init Low */ } Dir; /** diff --git a/src/gpio/gpio.c b/src/gpio/gpio.c index b004015..adeae3c 100644 --- a/src/gpio/gpio.c +++ b/src/gpio/gpio.c @@ -426,6 +426,12 @@ mraa_gpio_dir(mraa_gpio_context dev, gpio_dir_t dir) case MRAA_GPIO_IN: length = snprintf(bu, sizeof(bu), "in"); break; + case MRAA_GPIO_OUT_HIGH: + length = snprintf(bu, sizeof(bu), "high"); + break; + case MRAA_GPIO_OUT_LOW: + length = snprintf(bu, sizeof(bu), "low"); + break; default: close(direction); return MRAA_ERROR_FEATURE_NOT_IMPLEMENTED;