From fb39c7466eee02ba0cfec4049b190a53c94afa23 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=EC=98=81?= <choi2054578@ajou.ac.kr>
Date: Fri, 3 Jul 2020 20:34:03 +0900
Subject: [PATCH] Add new file

---
 motion_app.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 motion_app.c

diff --git a/motion_app.c b/motion_app.c
new file mode 100644
index 0000000..b42c58e
--- /dev/null
+++ b/motion_app.c
@@ -0,0 +1,51 @@
+#include <stdio.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdlib.h>
+
+#include <sys/stat.h>
+#include <sys/ioctl.h>
+#include <sys/types.h>
+#include <sys/ioctl.h>
+#include <sys/sysmacros.h>
+
+
+#define MOTION_MAJOR_NUMBER	500
+#define MOTION_MINOR_NUMBER 100
+#define MOTION_DEV_PATH_NAME 	"/dev/motion_ioctl"
+
+#define IOCTL_MAGIC_NUMBER		'm'
+#define IOCTL_CMD_MOTION_ON					_IO(IOCTL_MAGIC_NUMBER, 0)
+#define IOCTL_CMD_MOTION_OFF				_IO(IOCTL_MAGIC_NUMBER, 1)
+
+int main(void) {
+	dev_t motion_dev;
+	int fd;
+	motion_dev = makedev(MOTION_MAJOR_NUMBER, MOTION_MINOR_NUMBER);
+	mknod(MOTION_DEV_PATH_NAME, S_IFCHR | 0666, motion_dev);
+
+
+	fd = open(MOTION_DEV_PATH_NAME, O_RDWR);
+
+	if (fd < 0) {
+		printf("fail to open motion\n");
+		return -1;
+	}
+
+	int i = 0;
+
+	while (i < 100) {
+		if (ioctl(fd, IOCTL_CMD_MOTION_ON, 0) == 1) {
+			printf("HIGH\n");
+			sleep(1);
+			i++;
+		}
+		else
+			printf("LOW\n");
+		sleep(1);
+		i++;
+	}
+
+	close(fd);
+	return 0;
+}
-- 
GitLab