From ae8438fb70aba54e488e1f79bfaae44449c68446 Mon Sep 17 00:00:00 2001 From: "steve.jeong" Date: Tue, 29 Nov 2022 10:41:34 +0900 Subject: [PATCH] ODROID-COMMON: Add function for input data to sysnode. Signed-off-by: steve.jeong Change-Id: I7a1c6b82f8461b78aa5f9616531f9e2ae08c0fd3 --- wiringPi/wiringPi.c | 24 ++++++++++++++++++++++++ wiringPi/wiringPi.h | 3 +++ 2 files changed, 27 insertions(+) diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c index 0d02b8a..c631dac 100644 --- a/wiringPi/wiringPi.c +++ b/wiringPi/wiringPi.c @@ -27,6 +27,7 @@ #include #include #include +#include #include /*----------------------------------------------------------------------------*/ @@ -264,6 +265,29 @@ void setUsingGpiomem(const unsigned int value) libwiring.usingGpiomem = value; } +/*----------------------------------------------------------------------------*/ +/* + * input data to sys node. + */ +/*----------------------------------------------------------------------------*/ +int inputToSysNode (const char* sysPath, const char* node, char* data) { + char dest[(BLOCK_SIZE * 2)]; + FILE *fd; + + memset(dest, 0, sizeof(dest)); + + sprintf(dest, "%s/%s", sysPath, node); + + if((fd = fopen(dest, "w")) == NULL) { + printf("Invalid sysnode path\n"); + return -1; + } + fprintf(fd, "%s\n", data); + fclose(fd); + + return 0; +} + /*----------------------------------------------------------------------------*/ /* * setKernelVersion: diff --git a/wiringPi/wiringPi.h b/wiringPi/wiringPi.h index cb9fefb..bb8721c 100644 --- a/wiringPi/wiringPi.h +++ b/wiringPi/wiringPi.h @@ -342,6 +342,9 @@ extern unsigned int digitalReadByte2 (void) UNU; extern void digitalWriteByte (int value) UNU; extern void digitalWriteByte2 (int value) UNU; +// sys node +extern int inputToSysNode (const char* sysPath, const char* node, char* data); + #ifdef __cplusplus } #endif