From e491cdb48129752324c4e3764f99bd9203c56dec Mon Sep 17 00:00:00 2001
From: lgq <1015864684@qq.com>
Date: 星期二, 31 三月 2026 09:48:44 +0800
Subject: [PATCH] 1.新增VF205门禁机代码

---
 vf205_access/dxmodules/dxGpio.js |  123 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 123 insertions(+), 0 deletions(-)

diff --git a/vf205_access/dxmodules/dxGpio.js b/vf205_access/dxmodules/dxGpio.js
new file mode 100644
index 0000000..457d8ba
--- /dev/null
+++ b/vf205_access/dxmodules/dxGpio.js
@@ -0,0 +1,123 @@
+// build : 20240524
+// gpio 杈撳嚭,鍙兘杈撳嚭2绉嶇姸鎬侊紝楂樼數骞�/浣庣數骞筹紝濡傛灉鎺ュ叆缁х數鍣紝鍒欓珮鐢靛钩鏄紑锛屼綆鐢靛钩鏄叧
+import { gpioClass } from './libvbar-b-dxgpio.so'
+const gpioObj = new gpioClass();
+const gpio = {}
+
+/**
+ * 鍒濆鍖�,鍙渶瑕佹墽琛屼竴娆″嵆鍙�
+ * @returns true/false
+ */
+gpio.init = function () {
+	return gpioObj.init();
+}
+
+/**
+ * 閲婃斁gpio璧勬簮
+ * @returns true/false
+ */
+gpio.deinit = function () {
+	return gpioObj.exit();
+}
+
+/**
+ * 鐢宠gpio,姣忎釜gpio鍙渶瑕佺敵璇蜂竴娆�
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @returns true/false
+ */
+gpio.request = function (gpio_) {
+	let res = gpioObj.request(gpio_)
+	if (!res) {
+		return res
+	}
+	gpioObj.setFunc(gpio_, 0x04);
+	return true
+}
+
+/**
+ * 閲婃斁鎸囧畾gpio
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @returns true/false
+ */
+gpio.free = function (gpio_) {
+	return gpioObj.free(gpio_);
+}
+
+/**
+ * 鎸囧畾gpio杈撳嚭楂�/浣庣數骞�
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @param {number} value 鍙兘鏄�1鍜�0锛�1琛ㄧず楂樼數骞筹紝0琛ㄧず浣庣數骞筹紝缂虹渷鏄珮鐢靛钩锛屽繀濉�
+ * @returns true/false
+ */
+gpio.setValue = function (gpio_, value) {
+	return gpioObj.setValue(gpio_, value);
+}
+
+/**
+ * 鑾峰彇鎸囧畾gpio褰撳墠鐨勮緭鍑� 锛氶珮/浣庣數骞�
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @returns 1鍜�0锛�1琛ㄧず楂樼數骞筹紝0琛ㄧず浣庣數骞�
+ */
+gpio.getValue = function (gpio_) {
+	return gpioObj.getValue(gpio_);
+}
+
+/**
+ * 鐢宠gpio,姣忎釜gpio鍙渶瑕佺敵璇蜂竴娆�
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @returns true/false
+ */
+gpio.requestGpio = function (gpio_) {
+	let res = gpioObj.request(gpio_)
+	return res
+}
+
+/**
+ * 璁剧疆gpio鍔熻兘
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @param {number} gpio鍔熻兘灞炴�э紝涓嶅悓鐨勮澶囦笉鍚岀殑鍔熻兘灞炴�э紝蹇呭~
+ * @returns true/false
+ */
+gpio.setFuncGpio = function (gpio_, func) {
+	let res = gpioObj.setFunc(gpio_, func)
+	return res
+}
+
+/**
+ * 璁剧疆鎸囧畾gpio涓婃媺鐘舵��
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @param {number} state 涓婃媺鐘舵�侊紝蹇呭~
+ * @returns true/false
+ */
+gpio.setPullState = function (gpio_, state) {
+	return gpioObj.setPullState(gpio_, state);
+}
+
+/**
+ * 鑾峰彇鎸囧畾gpio涓婃媺鐘舵��
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @returns 涓婃媺鐘舵��(int)
+ */
+gpio.getPullState = function (gpio_) {
+	return gpioObj.getPullState(gpio_);
+}
+/**
+ * 璁剧疆鎸囧畾gpio鐨勯┍鍔ㄨ兘鍔�
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @param {number} strength 鑳藉姏锛屽繀濉�
+ * @returns true/false
+ */
+gpio.setDriveStrength = function (gpio_, strength) {
+	return gpioObj.setDriveStrength(gpio_, strength);
+}
+
+/**
+ * 鑾峰彇鎸囧畾gpio鐨勯┍鍔ㄨ兘鍔�
+ * @param {number} gpio鐨勬爣璇嗭紝涓嶅悓鐨勮澶囦笉鍚岀殑鏍囪瘑锛屽繀濉�
+ * @returns 鑳藉姏(int)
+ */
+gpio.getDriveStrength = function (gpio_) {
+	return gpioObj.getDriveStrength(gpio_);
+}
+
+export default gpio;

--
Gitblit v1.9.3