Browse Source

Signed-off-by: caner <5658514@qq.com>

caner 3 years ago
parent
commit
3dd65d9fc0
1 changed files with 20 additions and 25 deletions
  1. 20 25
      lib/Pwm.js

+ 20 - 25
lib/Pwm.js

@@ -14,16 +14,19 @@ class ContrlService {
         }
         }
         //PCA 板子位置电调+舵机
         //PCA 板子位置电调+舵机
         this.MoAndSero = {
         this.MoAndSero = {
-            m1: 1,
-            m2: 0,
+            m1: 0,
+            m2: 1,
             s1: 2,
             s1: 2,
             s2: 3
             s2: 3
         }
         }
         // prio init
         // prio init
         RPIO.init({ mapping: "gpio" });
         RPIO.init({ mapping: "gpio" });
-        // 关闭继电器
+        // 继电器解锁
         RPIO.open(6, RPIO.OUTPUT, RPIO.LOW);
         RPIO.open(6, RPIO.OUTPUT, RPIO.LOW);
+        //RPIO.open(13, RPIO.OUTPUT, RPIO.HIGH);
+        //关闭继电器
         RPIO.open(13, RPIO.OUTPUT, RPIO.LOW);
         RPIO.open(13, RPIO.OUTPUT, RPIO.LOW);
+        // 开灯
         RPIO.open(19, RPIO.OUTPUT, RPIO.LOW);
         RPIO.open(19, RPIO.OUTPUT, RPIO.LOW);
         // init PWM
         // init PWM
         this.PWM = new Pca9685Driver(this.pwmOption, er => {
         this.PWM = new Pca9685Driver(this.pwmOption, er => {
@@ -43,7 +46,7 @@ class ContrlService {
     // 设置pwm
     // 设置pwm
     async changPWM(params) {
     async changPWM(params) {
         const { v0, v1, v2, v3 } = params
         const { v0, v1, v2, v3 } = params
-        if (typeof (v0) == 'number' && typeof (v2) == 'number' && typeof (v1) == 'number' && typeof (v3) == 'number') {
+        if (typeof (v0) == 'number' || typeof (v2) == 'number') {
             // 内八解锁
             // 内八解锁
             if (this.enable) {
             if (this.enable) {
                 //中位值
                 //中位值
@@ -88,9 +91,7 @@ class ContrlService {
                 this.unLOCK(v0, v1, v2, v3)
                 this.unLOCK(v0, v1, v2, v3)
             }
             }
         } else {
         } else {
-            // 遥杆数据错误,断开继电器
-            this.stop()
-            process.exit(1)
+            console.log('参数格式错误,自动略过');
             return
             return
         }
         }
     }
     }
@@ -111,14 +112,17 @@ class ContrlService {
             this.Snum = 0
             this.Snum = 0
         }
         }
         if (this.Snum == 50) {
         if (this.Snum == 50) {
-            //继电器开灯
-            RPIO.open(19, RPIO.OUTPUT, RPIO.HIGH);
-            //空闲继电器
-            //RPIO.open(13, RPIO.OUTPUT, RPIO.HIGH);
-            //空闲继电器
-            //RPIO.open(6, RPIO.OUTPUT, RPIO.HIGH);
-            this.enable = true
+            setTimeout(() => {
+                //继电器
+                RPIO.open(19, RPIO.OUTPUT, RPIO.HIGH);
+                //空闲继电器
+                //RPIO.open(13, RPIO.OUTPUT, RPIO.HIGH);
+                //空闲继电器
+                //RPIO.open(6, RPIO.OUTPUT, RPIO.HIGH);
+                this.enable = true
+            }, 1000)
         }
         }
+
         console.log('解锁中', v0, v1, v2, v3)
         console.log('解锁中', v0, v1, v2, v3)
     }
     }
     /**
     /**
@@ -127,16 +131,7 @@ class ContrlService {
      * @returns 
      * @returns 
      */
      */
     Motor2pwm(v) {
     Motor2pwm(v) {
-        // 使用低速
-        let num = 128
-        if (v < 116) {
-            num = 116;
-        } else if (v >= 120 && v <= 131) {
-            num = 128;
-        } else if (v > 140) {
-            num = 140;
-        }
-        return parseInt(num / (255 / 2000)) + 500
+        return parseInt(v / (256 / 1000)) + 1000
     }
     }
     /**
     /**
      * 舵机换算比例:摇杆范围0-256,PWM范围1000~1500~2000
      * 舵机换算比例:摇杆范围0-256,PWM范围1000~1500~2000
@@ -156,4 +151,4 @@ class ContrlService {
         this.PWM = null
         this.PWM = null
     }
     }
 }
 }
-module.exports = new ContrlService()
+module.exports = new ContrlService()