From 694cb9e9fe2e830c439ef1251952c1c3fc4c608d Mon Sep 17 00:00:00 2001 From: Hanyuan Zhao Date: Sat, 14 Oct 2023 23:11:40 +0800 Subject: [PATCH] package/wiringX: add GPIO library wiringX wiringX is a cross-platform GPIO interface that allows developers to control the GPIO of various platforms with generic and uniform functions. By using wiringX, the same code will run on all platforms supported by wiringX. https://github.com/wiringX/wiringX Signed-off-by: Hanyuan Zhao --- package/Config.in | 1 + ...ed-time-type-error-when-compiling-by.patch | 47 +++++++++++++++++++ package/wiringx/Config.in | 18 +++++++ package/wiringx/wiringx.hash | 3 ++ package/wiringx/wiringx.mk | 12 +++++ 5 files changed, 81 insertions(+) create mode 100644 package/wiringx/0001-Fix-the-undeclared-time-type-error-when-compiling-by.patch create mode 100644 package/wiringx/Config.in create mode 100644 package/wiringx/wiringx.hash create mode 100644 package/wiringx/wiringx.mk diff --git a/package/Config.in b/package/Config.in index 9c037f2ef4a0..b46bb4654ee3 100644 --- a/package/Config.in +++ b/package/Config.in @@ -654,6 +654,7 @@ endmenu source "package/wf111/Config.in" source "package/wilc-driver/Config.in" source "package/wipe/Config.in" + source "package/wiringx/Config.in" source "package/xorriso/Config.in" source "package/xr819-xradio/Config.in" endmenu diff --git a/package/wiringx/0001-Fix-the-undeclared-time-type-error-when-compiling-by.patch b/package/wiringx/0001-Fix-the-undeclared-time-type-error-when-compiling-by.patch new file mode 100644 index 000000000000..fe0fd56f829e --- /dev/null +++ b/package/wiringx/0001-Fix-the-undeclared-time-type-error-when-compiling-by.patch @@ -0,0 +1,47 @@ +From 3185311331f8fb90ce5dd9376e8b35bff4bb083f Mon Sep 17 00:00:00 2001 +From: Hanyuan Zhao +Date: Sat, 14 Oct 2023 14:46:15 +0800 +Subject: [PATCH] Fix the undeclared time type error when compiling by + buildroot + +Signed-off-by: Hanyuan Zhao +--- + src/wiringx.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/wiringx.c b/src/wiringx.c +index e831caa..b424c5b 100644 +--- a/src/wiringx.c ++++ b/src/wiringx.c +@@ -119,8 +119,8 @@ static void delayMicrosecondsHard(unsigned int howLong) { + tLong.tv_sec = howLong / 1000000; + tLong.tv_usec = howLong % 1000000; + #else +- tLong.tv_sec = (__time_t)howLong / 1000000; +- tLong.tv_usec = (__suseconds_t)howLong % 1000000; ++ tLong.tv_sec = (time_t)howLong / 1000000; ++ tLong.tv_usec = (suseconds_t)howLong % 1000000; + #endif + timeradd(&tNow, &tLong, &tEnd); + +@@ -135,7 +135,7 @@ EXPORT void delayMicroseconds(unsigned int howLong) { + long int uSecs = howLong % 1000000; + unsigned int wSecs = howLong / 1000000; + #else +- long int uSecs = (__time_t)howLong % 1000000; ++ long int uSecs = (time_t)howLong % 1000000; + unsigned int wSecs = howLong / 1000000; + #endif + +@@ -147,7 +147,7 @@ EXPORT void delayMicroseconds(unsigned int howLong) { + #ifdef _WIN32 + sleeper.tv_sec = wSecs; + #else +- sleeper.tv_sec = (__time_t)wSecs; ++ sleeper.tv_sec = (time_t)wSecs; + #endif + sleeper.tv_nsec = (long)(uSecs * 1000L); + nanosleep(&sleeper, NULL); +-- +2.34.1 + diff --git a/package/wiringx/Config.in b/package/wiringx/Config.in new file mode 100644 index 000000000000..04b944b217c7 --- /dev/null +++ b/package/wiringx/Config.in @@ -0,0 +1,18 @@ +config BR2_PACKAGE_WIRINGX + bool "wiringX" + help + wiringX is a cross-platform GPIO interface that allows + developers to control the GPIO of various platforms with + generic and uniform functions. By using wiringX, the same + code will run on all platforms supported by wiringX. + + Supported vendors: + + allwinner = + amlogic = + broadcom = + nXP = + rockchip = + samsung = + + https://wiringx.org/ diff --git a/package/wiringx/wiringx.hash b/package/wiringx/wiringx.hash new file mode 100644 index 000000000000..b98e707326fa --- /dev/null +++ b/package/wiringx/wiringx.hash @@ -0,0 +1,3 @@ +# Locally computed: +sha256 62a0bae8f749ad934f1309cdb9df1dbc79a6ce2abc8c6da11040673564c8fb0b wiringx-54030cd9b68ef895439e1444f418524e16cbb4c1.tar.gz +sha256 fab3dd6bdab226f1c08630b1dd917e11fcb4ec5e1e020e2c16f83a0a13863e85 LICENSE diff --git a/package/wiringx/wiringx.mk b/package/wiringx/wiringx.mk new file mode 100644 index 000000000000..b72046ab606b --- /dev/null +++ b/package/wiringx/wiringx.mk @@ -0,0 +1,12 @@ +################################################################################ +# +# wiringX +# +################################################################################ + +WIRINGX_VERSION = 54030cd9b68ef895439e1444f418524e16cbb4c1 +WIRINGX_SITE = $(call github,wiringX,wiringX,$(WIRINGX_VERSION)) +WIRINGX_LICENSE = MPL-2.0 +WIRINGX_LICENSE_FILES = LICENSE + +$(eval $(cmake-package))