summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-09-11 15:50:16 +0200
committerErich Eckner <git@eckner.net>2019-09-11 15:50:16 +0200
commitcc092c11bc221de13e439c5155dd1a880cc3e3c2 (patch)
tree72b9daa0abd17924d0924b05662cc7a70634ff85
downloadraspi-sensor-cc092c11bc221de13e439c5155dd1a880cc3e3c2.tar.xz
added blink.c from wiringX tests
-rw-r--r--blink.c73
1 files changed, 73 insertions, 0 deletions
diff --git a/blink.c b/blink.c
new file mode 100644
index 0000000..4598503
--- /dev/null
+++ b/blink.c
@@ -0,0 +1,73 @@
+/*
+ Copyright (c) 2016 CurlyMo <curlymoo1@gmail.com>
+
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <unistd.h>
+
+#include "wiringx.h"
+#include "../src/platform/platform.h"
+
+char *usage =
+ "Usage: %s platform GPIO\n"
+ " GPIO is the GPIO to write to\n"
+ "Example: %s raspberrypi2 10\n";
+
+int main(int argc, char *argv[]) {
+ char *str = NULL, *platform = NULL;
+ char usagestr[130];
+ int gpio = 0, invalid = 0;
+
+ memset(usagestr, '\0', 130);
+
+ // expect only 1 argument => argc must be 2
+ if(argc != 3) {
+ snprintf(usagestr, 129, usage, argv[0], argv[0]);
+ puts(usagestr);
+ return -1;
+ }
+
+ // check for a valid, numeric argument
+ platform = argv[1];
+ str = argv[2];
+ while(*str != '\0') {
+ if(!isdigit(*str)) {
+ invalid = 1;
+ }
+ str++;
+ }
+ if(invalid == 1) {
+ printf("%s: Invalid GPIO %s\n", argv[0], argv[2]);
+ return -1;
+ }
+
+ gpio = atoi(argv[2]);
+
+ if(wiringXSetup(platform, NULL) == -1) {
+ wiringXGC();
+ return -1;
+ }
+
+ if(wiringXValidGPIO(gpio) != 0) {
+ printf("%s: Invalid GPIO %d\n", argv[0], gpio);
+ wiringXGC();
+ return -1;
+ }
+
+ pinMode(gpio, PINMODE_OUTPUT);
+ while(1) {
+ printf("Writing to GPIO %d: High\n", gpio);
+ digitalWrite(gpio, HIGH);
+ sleep(1);
+ printf("Writing to GPIO %d: Low\n", gpio);
+ digitalWrite(gpio, LOW);
+ sleep(1);
+ }
+}