|
|
@@ -14,16 +14,19 @@ class ContrlService {
|
|
|
}
|
|
|
//PCA 板子位置电调+舵机
|
|
|
this.MoAndSero = {
|
|
|
- m1: 1,
|
|
|
- m2: 0,
|
|
|
+ m1: 0,
|
|
|
+ m2: 1,
|
|
|
s1: 2,
|
|
|
s2: 3
|
|
|
}
|
|
|
// prio init
|
|
|
RPIO.init({ mapping: "gpio" });
|
|
|
- // 关闭继电器
|
|
|
+ // 继电器解锁
|
|
|
RPIO.open(6, RPIO.OUTPUT, RPIO.LOW);
|
|
|
+ //RPIO.open(13, RPIO.OUTPUT, RPIO.HIGH);
|
|
|
+ //关闭继电器
|
|
|
RPIO.open(13, RPIO.OUTPUT, RPIO.LOW);
|
|
|
+ // 开灯
|
|
|
RPIO.open(19, RPIO.OUTPUT, RPIO.LOW);
|
|
|
// init PWM
|
|
|
this.PWM = new Pca9685Driver(this.pwmOption, er => {
|
|
|
@@ -43,7 +46,7 @@ class ContrlService {
|
|
|
// 设置pwm
|
|
|
async changPWM(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) {
|
|
|
//中位值
|
|
|
@@ -88,9 +91,7 @@ class ContrlService {
|
|
|
this.unLOCK(v0, v1, v2, v3)
|
|
|
}
|
|
|
} else {
|
|
|
- // 遥杆数据错误,断开继电器
|
|
|
- this.stop()
|
|
|
- process.exit(1)
|
|
|
+ console.log('参数格式错误,自动略过');
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
@@ -111,14 +112,17 @@ class ContrlService {
|
|
|
this.Snum = 0
|
|
|
}
|
|
|
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)
|
|
|
}
|
|
|
/**
|
|
|
@@ -127,16 +131,7 @@ class ContrlService {
|
|
|
* @returns
|
|
|
*/
|
|
|
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
|
|
|
@@ -156,4 +151,4 @@ class ContrlService {
|
|
|
this.PWM = null
|
|
|
}
|
|
|
}
|
|
|
-module.exports = new ContrlService()
|
|
|
+module.exports = new ContrlService()
|