diff --git a/examples/blink_onboard.c b/examples/blink_onboard.c index 4d0078b..272547d 100644 --- a/examples/blink_onboard.c +++ b/examples/blink_onboard.c @@ -32,7 +32,7 @@ int main(int argc, char **argv) { mraa_platform_t platform = mraa_get_platform_type(); - mraa_gpio_context gpio; + mraa_gpio_context gpio, gpio_in = NULL; char board_name[] = "Some weird devboard that isn't recognised..."; int ledstate = 0; @@ -43,6 +43,12 @@ main(int argc, char **argv) break; case MRAA_INTEL_GALILEO_GEN2: strcpy(board_name, "Intel Galileo Gen2"); + gpio = mraa_gpio_init(13); + break; + case MRAA_INTEL_MINNOWBOARD_MAX: + strcpy(board_name, "Intel Minnowboard Max"); + gpio = mraa_gpio_init(21); + break; default: gpio = mraa_gpio_init(13); } @@ -50,8 +56,24 @@ main(int argc, char **argv) fprintf(stdout, "Welcome to libmraa\n Version: %s\n Running on %s\n", mraa_get_version(), board_name); + + if (gpio == NULL) { + fprintf(stdout, "Could not initilaize gpio\n"); + return 1; + } + + if (platform == MRAA_INTEL_MINNOWBOARD_MAX) { + gpio_in = mraa_gpio_init(14); + if (gpio_in != NULL) { + mraa_gpio_dir(gpio_in, MRAA_GPIO_IN); + fprintf(stdout, "Press and hold S1 to stop\n"); + } + } mraa_gpio_dir(gpio, MRAA_GPIO_OUT); for (;;) { + if (gpio_in != NULL && mraa_gpio_read(gpio_in) == 0) { + return 0; + } ledstate = !ledstate; mraa_gpio_write(gpio, !ledstate); sleep(1);