Commit 193b8804 authored by 957dd's avatar 957dd

加入了限位何处理了一些bug

parent 04916f7c
No preview for this file type
...@@ -9,82 +9,31 @@ void car0104_stop() { ...@@ -9,82 +9,31 @@ void car0104_stop() {
} }
void car0104_back(unsigned char gval) { void car0104_back(unsigned char gval) {
int b=0;
if (gval < 50) { if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 75); pwmWrite(PWM_PIN_SPEED, 75);
} else if (gval <= 55) { }
pwmWrite(PWM_PIN_SPEED, 78); else if (gval <= 60) {
} else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 79); pwmWrite(PWM_PIN_SPEED, 79);
} else if (gval <= 65) { }else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 80); pwmWrite(PWM_PIN_SPEED, 80);
} else if (gval <= 70) { }else if(gval >70){
pwmWrite(PWM_PIN_SPEED, 81); int flont_speed = 80+(gval-70)/10+b;
} else if (gval <= 75) { pwmWrite(PWM_PIN_SPEED, flont_speed);
pwmWrite(PWM_PIN_SPEED, 82); }
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 83);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 84);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 85);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 86);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 87);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 88);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 89);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_SPEED, 90);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_SPEED, 91);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_SPEED, 92);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_SPEED, 93);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_SPEED, 94);
}
} }
void car0104_flont(unsigned char gval) { void car0104_flont(unsigned char gval) {
int b=0;
if (gval < 50) { if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 75); pwmWrite(PWM_PIN_SPEED, 75);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_SPEED, 72);
} else if (gval <= 60) { } else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 71); pwmWrite(PWM_PIN_SPEED, 71);
} else if (gval <= 65) { }else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 70); pwmWrite(PWM_PIN_SPEED, 70);
} else if (gval <= 70) { } else if(gval >70){
pwmWrite(PWM_PIN_SPEED, 69); int back_speed = 70 - (gval-70)/10-b;
} else if (gval <= 75) { pwmWrite(PWM_PIN_SPEED, back_speed);
pwmWrite(PWM_PIN_SPEED, 68);
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 67);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 66);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 65);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 64);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 63);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 62);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 61);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_SPEED, 60);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_SPEED, 59);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_SPEED, 58);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_SPEED, 57);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_SPEED, 56);
} }
} }
...@@ -173,13 +122,15 @@ void car0104_change(unsigned char *buf) { ...@@ -173,13 +122,15 @@ void car0104_change(unsigned char *buf) {
unsigned char val = buf[2]; unsigned char val = buf[2];
if(mode == 1 ) { if(mode == 1 ) {
car0104_flont(val+25); car0104_flont(val+20);
}else if(mode == 2 ) { }else if(mode == 2 ) {
car0104_back(val+25); car0104_back(val+20);
}else if(mode == 3) { }else if(mode == 3) {
car0104_lift(90); if(val !=0)car0104_lift(90);
else car0104_lift(0);
}else if(mode == 4) { }else if(mode == 4) {
car0104_right(90); if(val !=0) car0104_right(90);
else car0104_lift(0);
} }
} }
...@@ -3,7 +3,9 @@ ...@@ -3,7 +3,9 @@
#include "pthrpoll.h" #include "pthrpoll.h"
#include "tank0203_control.h" #include "tank0203_control.h"
int g_modecount_tank0203=0; #define PWM_MIN 55 // 最小PWM值
#define PWM_MAX 95 // 最大PWM值
#define PWM_NEUTRAL 75 // 中立位置
void tank0203_middle() { void tank0203_middle() {
pwmWrite(PWM_PIN_SPEED,75); pwmWrite(PWM_PIN_SPEED,75);
...@@ -11,207 +13,132 @@ void tank0203_middle() { ...@@ -11,207 +13,132 @@ void tank0203_middle() {
} }
void tank0203_mode_lift_flont(unsigned char gval) { void tank0203_mode_lift_flont(unsigned char gval) {
int b=0;
if (gval < 50) { if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 75); pwmWrite(PWM_PIN_SPEED, 75);
} else if (gval <= 55) { }
pwmWrite(PWM_PIN_SPEED, 78); else if (gval <= 60) {
} else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 79); pwmWrite(PWM_PIN_SPEED, 79);
} else if (gval <= 65) { }else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 80); pwmWrite(PWM_PIN_SPEED, 80);
} else if (gval <= 70) { }else if(gval >70){
pwmWrite(PWM_PIN_SPEED, 81); int flont_speed = 80+(gval-70)/10+b;
} else if (gval <= 75) { pwmWrite(PWM_PIN_SPEED, flont_speed);
pwmWrite(PWM_PIN_SPEED, 82); }
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 83);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 84);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 85);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 86);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 87);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 88);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 89);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_SPEED, 90);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_SPEED, 91);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_SPEED, 92);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_SPEED, 93);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_SPEED, 94);
}
} }
void tank0203_mode_lift_back(unsigned char gval) { void tank0203_mode_lift_back(unsigned char gval) {
int b=0;
if (gval < 50) { if (gval < 50) {
pwmWrite(PWM_PIN_SPEED, 75); pwmWrite(PWM_PIN_SPEED, 75);
} else if (gval <= 55) {
pwmWrite(PWM_PIN_SPEED, 72);
} else if (gval <= 60) { } else if (gval <= 60) {
pwmWrite(PWM_PIN_SPEED, 71); pwmWrite(PWM_PIN_SPEED, 71);
} else if (gval <= 65) { }else if (gval <= 70) {
pwmWrite(PWM_PIN_SPEED, 70); pwmWrite(PWM_PIN_SPEED, 70);
} else if (gval <= 70) { } else if(gval >70){
pwmWrite(PWM_PIN_SPEED, 69); int back_speed = 70 - (gval-70)/10-b;
} else if (gval <= 75) { pwmWrite(PWM_PIN_SPEED, back_speed);
pwmWrite(PWM_PIN_SPEED, 68); }
} else if (gval <= 90) {
pwmWrite(PWM_PIN_SPEED, 67);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_SPEED, 66);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_SPEED, 65);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_SPEED, 64);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_SPEED, 63);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_SPEED, 62);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_SPEED, 61);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_SPEED, 60);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_SPEED, 59);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_SPEED, 58);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_SPEED, 57);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_SPEED, 56);
}
} }
void tank0203_mode_right_flont(unsigned char gval) { void tank0203_mode_right_back(unsigned char gval) {
int b=0;
if (gval < 50) { if (gval < 50) {
pwmWrite(PWM_PIN_CHANGE, 75); pwmWrite(PWM_PIN_CHANGE, 75);
} else if (gval <= 55) { }else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 78);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 79); pwmWrite(PWM_PIN_CHANGE, 79);
} else if (gval <= 65) { }else if (gval <= 70) {
pwmWrite(PWM_PIN_CHANGE, 80); pwmWrite(PWM_PIN_CHANGE, 80);
} else if (gval <= 70) { }else if(gval >70){
pwmWrite(PWM_PIN_CHANGE, 81); int flont_speed = 80+(gval-70)/10+b;
} else if (gval <= 75) { pwmWrite(PWM_PIN_CHANGE, flont_speed);
pwmWrite(PWM_PIN_CHANGE, 82); }
} else if (gval <= 90) {
pwmWrite(PWM_PIN_CHANGE, 83);
} else if (gval <= 100) {
pwmWrite(PWM_PIN_CHANGE, 84);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_CHANGE, 85);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_CHANGE, 86);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_CHANGE, 87);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_CHANGE, 88);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_CHANGE, 89);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_CHANGE, 90);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_CHANGE, 91);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_CHANGE, 92);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_CHANGE, 93);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_CHANGE, 94);
}
} }
void tank0203_mode_right_back(unsigned char gval) { void tank0203_mode_right_flont(unsigned char gval) {
int b=0;
if (gval < 50) { if (gval < 50) {
pwmWrite(PWM_PIN_CHANGE, 75); pwmWrite(PWM_PIN_CHANGE, 75);
} else if (gval <= 55) { }else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 71); pwmWrite(PWM_PIN_CHANGE, 71);
} else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 65) {
pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 70) { } else if (gval <= 70) {
pwmWrite(PWM_PIN_CHANGE, 70); pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 75) { } else if(gval >70){
pwmWrite(PWM_PIN_CHANGE, 69); int back_speed = 70 - (gval-70)/10-b;
} else if (gval <= 90) { pwmWrite(PWM_PIN_CHANGE, back_speed);
pwmWrite(PWM_PIN_CHANGE, 68); }
} else if (gval <= 100) {
pwmWrite(PWM_PIN_CHANGE, 68);
} else if (gval <= 110) {
pwmWrite(PWM_PIN_CHANGE, 66);
} else if (gval <= 120) {
pwmWrite(PWM_PIN_CHANGE, 65);
} else if (gval <= 130) {
pwmWrite(PWM_PIN_CHANGE, 64);
} else if (gval <= 140) {
pwmWrite(PWM_PIN_CHANGE, 62);
} else if (gval <= 150) {
pwmWrite(PWM_PIN_CHANGE, 60);
} else if (gval <= 160) {
pwmWrite(PWM_PIN_CHANGE, 59);
} else if (gval <= 170) {
pwmWrite(PWM_PIN_CHANGE, 58);
} else if (gval <= 180) {
pwmWrite(PWM_PIN_CHANGE, 57);
} else if (gval <= 190) {
pwmWrite(PWM_PIN_CHANGE, 56);
} else if (gval <= 200) {
pwmWrite(PWM_PIN_CHANGE, 55);
}
} }
void tank0203_change(unsigned char *buf) { void tank0203_change(unsigned char *buf) {
unsigned char mode = buf[1]; unsigned char mode = buf[1];
unsigned char val = buf[2]; unsigned char val = buf[2];
static bool tank0203_judg = 0; static int modecount_tank0203=0;
static int tank0203_val_1=0; static int tank0203_index =0;
static int tank0203_val_2=0; // static int s_val_1=0;
// static int s_val_2=0;
if(mode == 1 ) { if(mode == 1 ) {
//tank0203_mode_lift_flont(val); tank0203_mode_lift_flont(val);
tank0203_mode_right_flont(val); tank0203_mode_right_flont(val);
g_modecount_tank0203=0; modecount_tank0203=0;
tank0203_val_1 = val; //s_val_1 = val;
}else if(mode == 2 ) { }else if(mode == 2 ) {
//tank0203_mode_lift_back(val); tank0203_mode_lift_back(val);
tank0203_mode_right_back(val); tank0203_mode_right_back(val);
g_modecount_tank0203=1; modecount_tank0203=1;
tank0203_val_2 = val; //s_val_2 = val;
} }
if((mode == 1||mode == 2)&&val == 0) {
if((mode == 1||mode ==2)&&val == 0) { modecount_tank0203 = 0;
g_modecount_tank0203=0; tank0203_index = 0;
tank0203_judg = 0; }
}else tank0203_judg = 1; if((mode == 1||mode == 2)&&val != 0) tank0203_index = 1;
if(mode == 3) { if(mode == 3) {
if(g_modecount_tank0203 == 0) { if(modecount_tank0203 == 0){
if(tank0203_judg == 0) tank0203_mode_lift_back(tank0203_val_1-15); if(tank0203_index == 1) {
else tank0203_mode_lift_back(val+11); tank0203_mode_lift_flont(0);
//tank0203_mode_right_flont(s_val_1-20);
}
else {
tank0203_mode_lift_back(val+30);
tank0203_mode_right_flont(val+30);
}
} }
if(g_modecount_tank0203 == 1) { if(modecount_tank0203 == 1) {
if(tank0203_judg == 0) tank0203_mode_lift_flont(tank0203_val_2-15); if(tank0203_index == 1) {
else tank0203_mode_lift_flont(val+11); tank0203_mode_lift_back(0);
//tank0203_mode_lift_back(s_val_2-20);
}else {
tank0203_mode_lift_back(val+20);
tank0203_mode_right_flont(val+20);
}
} }
}else if(mode == 4) { }else if(mode == 4) {
if(g_modecount_tank0203 == 0) { if(modecount_tank0203 == 1){
if(tank0203_judg == 0) tank0203_mode_lift_flont(tank0203_val_2-15); if(tank0203_index == 1) {
else tank0203_mode_lift_flont(val+11); //tank0203_mode_right_back(s_val_1);
tank0203_mode_right_back(0);
}
else {
tank0203_mode_lift_flont(val+20);
tank0203_mode_right_back(val+20);
}
} }
if(g_modecount_tank0203 == 1) { if(modecount_tank0203 == 0) {
if(tank0203_judg == 0) tank0203_mode_lift_back(tank0203_val_1-15); if(tank0203_index == 1) {
else tank0203_mode_lift_back(val+11); //tank0203_mode_lift_flont(s_val_1-20);
tank0203_mode_right_flont(0);
}
else {
tank0203_mode_lift_flont(val+20);
tank0203_mode_right_back(val+20);
}
} }
} }
} }
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
#include "devcontrol_common.h" #include "devcontrol_common.h"
#include "gpio_init.h" #include "gpio_init.h"
#include "pthrpoll.h" #include "pthrpoll.h"
#include "tank_angle.h"
int tank_shot_back_stop(unsigned char pin,unsigned char val); int tank_shot_back_stop(unsigned char pin,unsigned char val);
...@@ -11,43 +12,61 @@ long long shot_device_time_start =0 ; ...@@ -11,43 +12,61 @@ long long shot_device_time_start =0 ;
long long shot_device_time_end = 0; long long shot_device_time_end = 0;
void tank_shot_back(unsigned char gval) { void tank_shot_back(unsigned char gval) {
if (gval < 50) {
int b=0;
if (gval < 50) {
pwmWrite(PWM_PIN_CHANGE, 75); pwmWrite(PWM_PIN_CHANGE, 75);
} else if (gval <= 55) { if(g_tank_common_config_t->device_id ==DEVICE_TANK0203) pwmWrite(PWM_PIN_SPEED, 75);
pwmWrite(PWM_PIN_CHANGE, 71); }else if (gval <= 60) {
} else if (gval <= 60) { pwmWrite(PWM_PIN_CHANGE, 79);
pwmWrite(PWM_PIN_CHANGE, 70); if(g_tank_common_config_t->device_id ==DEVICE_TANK0203) pwmWrite(PWM_PIN_SPEED, 71);
} else if (gval <= 65) { }else if (gval <= 70) {
pwmWrite(PWM_PIN_CHANGE, 70); pwmWrite(PWM_PIN_CHANGE, 80);
} else if (gval <= 70) { if(g_tank_common_config_t->device_id ==DEVICE_TANK0203) pwmWrite(PWM_PIN_SPEED, 70);
pwmWrite(PWM_PIN_CHANGE, 70); }else if(gval >70){
} else if (gval <= 75) { int change_1 = 80+(gval-70)/10+b;
pwmWrite(PWM_PIN_CHANGE, 69); int speed_2= 70 - (gval-70)/10-b;
} else if (gval <= 90) { if(g_tank_common_config_t->device_id ==DEVICE_TANK0203) pwmWrite(PWM_PIN_SPEED, speed_2);
pwmWrite(PWM_PIN_CHANGE, 68); pwmWrite(PWM_PIN_CHANGE, change_1);
} else if (gval <= 100) { }
pwmWrite(PWM_PIN_CHANGE, 68);
} else if (gval <= 110) { // if (gval < 50) {
pwmWrite(PWM_PIN_CHANGE, 66); // pwmWrite(PWM_PIN_CHANGE, 75);
} else if (gval <= 120) { // } else if (gval <= 55) {
pwmWrite(PWM_PIN_CHANGE, 65); // pwmWrite(PWM_PIN_CHANGE, 71);
} else if (gval <= 130) { // } else if (gval <= 60) {
pwmWrite(PWM_PIN_CHANGE, 64); // pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 140) { // } else if (gval <= 65) {
pwmWrite(PWM_PIN_CHANGE, 62); // pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 150) { // } else if (gval <= 70) {
pwmWrite(PWM_PIN_CHANGE, 60); // pwmWrite(PWM_PIN_CHANGE, 70);
} else if (gval <= 160) { // } else if (gval <= 75) {
pwmWrite(PWM_PIN_CHANGE, 59); // pwmWrite(PWM_PIN_CHANGE, 69);
} else if (gval <= 170) { // } else if (gval <= 90) {
pwmWrite(PWM_PIN_CHANGE, 58); // pwmWrite(PWM_PIN_CHANGE, 68);
} else if (gval <= 180) { // } else if (gval <= 100) {
pwmWrite(PWM_PIN_CHANGE, 57); // pwmWrite(PWM_PIN_CHANGE, 68);
} else if (gval <= 190) { // } else if (gval <= 110) {
pwmWrite(PWM_PIN_CHANGE, 56); // pwmWrite(PWM_PIN_CHANGE, 66);
} else if (gval <= 200) { // } else if (gval <= 120) {
pwmWrite(PWM_PIN_CHANGE, 55); // pwmWrite(PWM_PIN_CHANGE, 65);
} // } else if (gval <= 130) {
// pwmWrite(PWM_PIN_CHANGE, 64);
// } else if (gval <= 140) {
// pwmWrite(PWM_PIN_CHANGE, 62);
// } else if (gval <= 150) {
// pwmWrite(PWM_PIN_CHANGE, 60);
// } else if (gval <= 160) {
// pwmWrite(PWM_PIN_CHANGE, 59);
// } else if (gval <= 170) {
// pwmWrite(PWM_PIN_CHANGE, 58);
// } else if (gval <= 180) {
// pwmWrite(PWM_PIN_CHANGE, 57);
// } else if (gval <= 190) {
// pwmWrite(PWM_PIN_CHANGE, 56);
// } else if (gval <= 200) {
// pwmWrite(PWM_PIN_CHANGE, 55);
// }
} }
const tank_common_back tank_common_config_t[]={ const tank_common_back tank_common_config_t[]={
...@@ -147,4 +166,5 @@ void tank_shot_stop_control(int device_id,unsigned char pin,unsigned char val) { ...@@ -147,4 +166,5 @@ void tank_shot_stop_control(int device_id,unsigned char pin,unsigned char val) {
} }
g_tank_common_config_t->shot_back(pin,val); g_tank_common_config_t->shot_back(pin,val);
} }
\ No newline at end of file
...@@ -15,4 +15,6 @@ void tank_shot_stop_control(int device_id,unsigned char pin,unsigned char val); ...@@ -15,4 +15,6 @@ void tank_shot_stop_control(int device_id,unsigned char pin,unsigned char val);
void tank_thread_close(); void tank_thread_close();
int angele_limit();
#endif #endif
\ No newline at end of file
...@@ -62,7 +62,7 @@ const deviceconfig_t device_configs[] = { ...@@ -62,7 +62,7 @@ const deviceconfig_t device_configs[] = {
.device_id = DEVICE_TANK0203, .device_id = DEVICE_TANK0203,
.device_name = "tank0203", .device_name = "tank0203",
.gpio_pins = {6, 16, 20, 22, 23,-1},/* 补充GPIO引脚 */ .gpio_pins = {6, 16, 20, 22, 23,-1},/* 补充GPIO引脚 */
.gpio_pwms = {5 , 7 ,24,26, 27,-1}, .gpio_pwms = {5 , 7 ,24, 26, 27,-1},
.device_pwm_init = physics_pwm_init, .device_pwm_init = physics_pwm_init,
.device_control_stop = tank0203_middle,/* 补充速度控制函数 */ .device_control_stop = tank0203_middle,/* 补充速度控制函数 */
.emergency_code = 203 .emergency_code = 203
......
...@@ -70,21 +70,31 @@ void pwm_value(int pin,int value) { //软件陪我们控制调速 ...@@ -70,21 +70,31 @@ void pwm_value(int pin,int value) { //软件陪我们控制调速
else if(g_device_type == DEVICE_TANK0206) softPwmWrite(pin, 45); else if(g_device_type == DEVICE_TANK0206) softPwmWrite(pin, 45);
else { else {
softPwmWrite(pin, shot_speed); softPwmWrite(pin, shot_speed);
my_zlog_debug("pin:%d,%d",pin,shot_speed); my_zlog_debug("pwm:%d,%d",pin,shot_speed);
} }
} else { } else {
if(g_device_type == DEVICE_TANK0202) softPwmWrite(pin, 35); if(g_device_type == DEVICE_TANK0202) {
if(g_device_type == DEVICE_TANK0203) softPwmWrite(pin, 35); softPwmWrite(pin, 35);
if(g_device_type == DEVICE_TANK0206) softPwmWrite(pin, 35); if(angele_limit() == 1) softPwmWrite(5, 0);
if(angele_limit() == 2) softPwmWrite(7, 0);
}
else if(g_device_type == DEVICE_TANK0203) {
softPwmWrite(pin, 30);
if(angele_limit() == 1) softPwmWrite(5, 0);
if(angele_limit() == 2) softPwmWrite(7, 0);
}
else if(g_device_type == DEVICE_TANK0206) softPwmWrite(pin, 35);
else{ else{
softPwmWrite(pin, shot_speed); softPwmWrite(pin, shot_speed);
my_zlog_debug("pwm:%d,%d",pin,shot_speed);
} }
my_zlog_debug("pwm:%d",pin);
} }
}else if(value==0) { }else if(value==0) {
softPwmWrite(pin, 0); softPwmWrite(pin, 0);
my_zlog_debug("pin:%d,0",pin); my_zlog_debug("pwm:%d,0",pin);
} }
} }
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
#include "common.h" #include "common.h"
#include "ads1115.h" #include "ads1115.h"
#define LIFT_LIMIT 165
#define MIDDLE_LIMIT 180
#define RIGHT_LIMIT 195
double tank_angle(){ double tank_angle(){
double angle=0; double angle=0;
...@@ -12,4 +15,13 @@ double tank_angle(){ ...@@ -12,4 +15,13 @@ double tank_angle(){
} }
return angle; return angle;
}
int angele_limit(){
int tank_limit_angele = tank_angle();
if(tank_limit_angele >=LIFT_LIMIT && tank_limit_angele<=MIDDLE_LIMIT) return 1;
else if(tank_limit_angele >=MIDDLE_LIMIT && tank_limit_angele<=RIGHT_LIMIT) return 2;
return 0;
} }
\ No newline at end of file
...@@ -2,4 +2,7 @@ ...@@ -2,4 +2,7 @@
#define TANK_ANGLE_H #define TANK_ANGLE_H
double tank_angle(); double tank_angle();
int angele_limit();
#endif #endif
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
#include"common.h"// 用于存储HTTP响应数据的结构体 #include"common.h"// 用于存储HTTP响应数据的结构体
/*2为关闭请求,1为打开*/ /*2为关闭请求,1为打开*/
#define HTTP_REQUEST_INDEX 1 #define HTTP_REQUEST_INDEX 2
struct MemoryStruct { struct MemoryStruct {
char *memory; char *memory;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment