Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
car-controlserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wenzhongjian
car-controlserver
Commits
193b8804
Commit
193b8804
authored
Aug 02, 2025
by
957dd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
加入了限位何处理了一些bug
parent
04916f7c
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
191 additions
and
263 deletions
+191
-263
main
build/main
+0
-0
car0104_control.c
drivers/devicecontrol/car0104_control.c
+18
-67
tank0203_control.c
drivers/devicecontrol/tank0203_control.c
+82
-155
tank_common.c
drivers/devicecontrol/tank_common.c
+54
-34
tank_common.h
drivers/devicecontrol/tank_common.h
+3
-0
device_init.c
drivers/gpio/device_init.c
+1
-1
gpio_init.c
drivers/gpio/gpio_init.c
+15
-5
tank_angle.c
drivers/sensors/tank_angle.c
+13
-0
tank_angle.h
drivers/sensors/tank_angle.h
+4
-0
http_request.h
modules/http/http_request.h
+1
-1
No files found.
build/main
View file @
193b8804
No preview for this file type
drivers/devicecontrol/car0104_control.c
View file @
193b8804
...
...
@@ -9,82 +9,31 @@ void car0104_stop() {
}
void
car0104_back
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
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
);
}
else
if
(
gval
<=
65
)
{
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
80
);
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
81
);
}
else
if
(
gval
<=
75
)
{
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
);
}
else
if
(
gval
>
70
){
int
flont_speed
=
80
+
(
gval
-
70
)
/
10
+
b
;
pwmWrite
(
PWM_PIN_SPEED
,
flont_speed
);
}
}
void
car0104_flont
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_SPEED
,
75
);
}
else
if
(
gval
<=
55
)
{
pwmWrite
(
PWM_PIN_SPEED
,
72
);
}
else
if
(
gval
<=
60
)
{
pwmWrite
(
PWM_PIN_SPEED
,
71
);
}
else
if
(
gval
<=
65
)
{
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
70
);
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
69
);
}
else
if
(
gval
<=
75
)
{
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
);
}
else
if
(
gval
>
70
){
int
back_speed
=
70
-
(
gval
-
70
)
/
10
-
b
;
pwmWrite
(
PWM_PIN_SPEED
,
back_speed
);
}
}
...
...
@@ -173,13 +122,15 @@ void car0104_change(unsigned char *buf) {
unsigned
char
val
=
buf
[
2
];
if
(
mode
==
1
)
{
car0104_flont
(
val
+
2
5
);
car0104_flont
(
val
+
2
0
);
}
else
if
(
mode
==
2
)
{
car0104_back
(
val
+
2
5
);
car0104_back
(
val
+
2
0
);
}
else
if
(
mode
==
3
)
{
car0104_lift
(
90
);
if
(
val
!=
0
)
car0104_lift
(
90
);
else
car0104_lift
(
0
);
}
else
if
(
mode
==
4
)
{
car0104_right
(
90
);
if
(
val
!=
0
)
car0104_right
(
90
);
else
car0104_lift
(
0
);
}
}
drivers/devicecontrol/tank0203_control.c
View file @
193b8804
...
...
@@ -3,7 +3,9 @@
#include "pthrpoll.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
()
{
pwmWrite
(
PWM_PIN_SPEED
,
75
);
...
...
@@ -11,207 +13,132 @@ void tank0203_middle() {
}
void
tank0203_mode_lift_flont
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
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
);
}
else
if
(
gval
<=
65
)
{
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
80
);
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
81
);
}
else
if
(
gval
<=
75
)
{
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
);
}
else
if
(
gval
>
70
){
int
flont_speed
=
80
+
(
gval
-
70
)
/
10
+
b
;
pwmWrite
(
PWM_PIN_SPEED
,
flont_speed
);
}
}
void
tank0203_mode_lift_back
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_SPEED
,
75
);
}
else
if
(
gval
<=
55
)
{
pwmWrite
(
PWM_PIN_SPEED
,
72
);
}
else
if
(
gval
<=
60
)
{
pwmWrite
(
PWM_PIN_SPEED
,
71
);
}
else
if
(
gval
<=
65
)
{
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
70
);
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_SPEED
,
69
);
}
else
if
(
gval
<=
75
)
{
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
);
}
else
if
(
gval
>
70
){
int
back_speed
=
70
-
(
gval
-
70
)
/
10
-
b
;
pwmWrite
(
PWM_PIN_SPEED
,
back_speed
);
}
}
void
tank0203_mode_right_flont
(
unsigned
char
gval
)
{
void
tank0203_mode_right_back
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
75
);
}
else
if
(
gval
<=
55
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
78
);
}
else
if
(
gval
<=
60
)
{
}
else
if
(
gval
<=
60
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
79
);
}
else
if
(
gval
<=
65
)
{
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
80
);
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
81
);
}
else
if
(
gval
<=
75
)
{
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
);
}
else
if
(
gval
>
70
){
int
flont_speed
=
80
+
(
gval
-
70
)
/
10
+
b
;
pwmWrite
(
PWM_PIN_CHANGE
,
flont_speed
);
}
}
void
tank0203_mode_right_back
(
unsigned
char
gval
)
{
void
tank0203_mode_right_flont
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
75
);
}
else
if
(
gval
<=
55
)
{
}
else
if
(
gval
<=
60
)
{
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
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
70
);
}
else
if
(
gval
<=
75
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
69
);
}
else
if
(
gval
<=
90
)
{
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
);
}
else
if
(
gval
>
70
){
int
back_speed
=
70
-
(
gval
-
70
)
/
10
-
b
;
pwmWrite
(
PWM_PIN_CHANGE
,
back_speed
);
}
}
void
tank0203_change
(
unsigned
char
*
buf
)
{
unsigned
char
mode
=
buf
[
1
];
unsigned
char
val
=
buf
[
2
];
static
bool
tank0203_judg
=
0
;
static
int
tank0203_val_1
=
0
;
static
int
tank0203_val_2
=
0
;
static
int
modecount_tank0203
=
0
;
static
int
tank0203_index
=
0
;
// static int s_val_1=0;
// static int s_val_2=0;
if
(
mode
==
1
)
{
//
tank0203_mode_lift_flont(val);
tank0203_mode_lift_flont
(
val
);
tank0203_mode_right_flont
(
val
);
g_
modecount_tank0203
=
0
;
tank0203
_val_1
=
val
;
modecount_tank0203
=
0
;
//s
_val_1 = val;
}
else
if
(
mode
==
2
)
{
//
tank0203_mode_lift_back(val);
tank0203_mode_lift_back
(
val
);
tank0203_mode_right_back
(
val
);
g_
modecount_tank0203
=
1
;
tank0203
_val_2
=
val
;
modecount_tank0203
=
1
;
//s
_val_2 = val;
}
if
((
mode
==
1
||
mode
==
2
)
&&
val
==
0
)
{
g_modecount_tank0203
=
0
;
tank0203_judg
=
0
;
}
else
tank0203_judg
=
1
;
if
((
mode
==
1
||
mode
==
2
)
&&
val
==
0
)
{
modecount_tank0203
=
0
;
tank0203_index
=
0
;
}
if
((
mode
==
1
||
mode
==
2
)
&&
val
!=
0
)
tank0203_index
=
1
;
if
(
mode
==
3
)
{
if
(
g_modecount_tank0203
==
0
)
{
if
(
tank0203_judg
==
0
)
tank0203_mode_lift_back
(
tank0203_val_1
-
15
);
else
tank0203_mode_lift_back
(
val
+
11
);
if
(
modecount_tank0203
==
0
){
if
(
tank0203_index
==
1
)
{
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
(
tank0203_judg
==
0
)
tank0203_mode_lift_flont
(
tank0203_val_2
-
15
);
else
tank0203_mode_lift_flont
(
val
+
11
);
if
(
modecount_tank0203
==
1
)
{
if
(
tank0203_index
==
1
)
{
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
)
{
if
(
g_modecount_tank0203
==
0
)
{
if
(
tank0203_judg
==
0
)
tank0203_mode_lift_flont
(
tank0203_val_2
-
15
);
else
tank0203_mode_lift_flont
(
val
+
11
);
if
(
modecount_tank0203
==
1
){
if
(
tank0203_index
==
1
)
{
//tank0203_mode_right_back(s_val_1);
tank0203_mode_right_back
(
0
);
}
if
(
g_modecount_tank0203
==
1
)
{
if
(
tank0203_judg
==
0
)
tank0203_mode_lift_back
(
tank0203_val_1
-
15
);
else
tank0203_mode_lift_back
(
val
+
11
);
else
{
tank0203_mode_lift_flont
(
val
+
20
);
tank0203_mode_right_back
(
val
+
20
);
}
}
if
(
modecount_tank0203
==
0
)
{
if
(
tank0203_index
==
1
)
{
//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
);
}
}
}
}
...
...
drivers/devicecontrol/tank_common.c
View file @
193b8804
...
...
@@ -2,6 +2,7 @@
#include "devcontrol_common.h"
#include "gpio_init.h"
#include "pthrpoll.h"
#include "tank_angle.h"
int
tank_shot_back_stop
(
unsigned
char
pin
,
unsigned
char
val
);
...
...
@@ -11,43 +12,61 @@ long long shot_device_time_start =0 ;
long
long
shot_device_time_end
=
0
;
void
tank_shot_back
(
unsigned
char
gval
)
{
int
b
=
0
;
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
75
);
}
else
if
(
gval
<=
55
)
{
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
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
70
);
}
else
if
(
gval
<=
75
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
69
);
}
else
if
(
gval
<=
90
)
{
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
);
if
(
g_tank_common_config_t
->
device_id
==
DEVICE_TANK0203
)
pwmWrite
(
PWM_PIN_SPEED
,
75
);
}
else
if
(
gval
<=
60
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
79
);
if
(
g_tank_common_config_t
->
device_id
==
DEVICE_TANK0203
)
pwmWrite
(
PWM_PIN_SPEED
,
71
);
}
else
if
(
gval
<=
70
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
80
);
if
(
g_tank_common_config_t
->
device_id
==
DEVICE_TANK0203
)
pwmWrite
(
PWM_PIN_SPEED
,
70
);
}
else
if
(
gval
>
70
){
int
change_1
=
80
+
(
gval
-
70
)
/
10
+
b
;
int
speed_2
=
70
-
(
gval
-
70
)
/
10
-
b
;
if
(
g_tank_common_config_t
->
device_id
==
DEVICE_TANK0203
)
pwmWrite
(
PWM_PIN_SPEED
,
speed_2
);
pwmWrite
(
PWM_PIN_CHANGE
,
change_1
);
}
// if (gval < 50) {
// pwmWrite(PWM_PIN_CHANGE, 75);
// } else if (gval <= 55) {
// 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) {
// pwmWrite(PWM_PIN_CHANGE, 70);
// } else if (gval <= 75) {
// pwmWrite(PWM_PIN_CHANGE, 69);
// } else if (gval <= 90) {
// 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);
// }
}
const
tank_common_back
tank_common_config_t
[]
=
{
...
...
@@ -148,3 +167,4 @@ void tank_shot_stop_control(int device_id,unsigned char pin,unsigned char val) {
g_tank_common_config_t
->
shot_back
(
pin
,
val
);
}
drivers/devicecontrol/tank_common.h
View file @
193b8804
...
...
@@ -15,4 +15,6 @@ void tank_shot_stop_control(int device_id,unsigned char pin,unsigned char val);
void
tank_thread_close
();
int
angele_limit
();
#endif
\ No newline at end of file
drivers/gpio/device_init.c
View file @
193b8804
...
...
@@ -62,7 +62,7 @@ const deviceconfig_t device_configs[] = {
.
device_id
=
DEVICE_TANK0203
,
.
device_name
=
"tank0203"
,
.
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_control_stop
=
tank0203_middle
,
/* 补充速度控制函数 */
.
emergency_code
=
203
...
...
drivers/gpio/gpio_init.c
View file @
193b8804
...
...
@@ -70,21 +70,31 @@ void pwm_value(int pin,int value) { //软件陪我们控制调速
else
if
(
g_device_type
==
DEVICE_TANK0206
)
softPwmWrite
(
pin
,
45
);
else
{
softPwmWrite
(
pin
,
shot_speed
);
my_zlog_debug
(
"p
in
:%d,%d"
,
pin
,
shot_speed
);
my_zlog_debug
(
"p
wm
:%d,%d"
,
pin
,
shot_speed
);
}
}
else
{
if
(
g_device_type
==
DEVICE_TANK0202
)
softPwmWrite
(
pin
,
35
);
if
(
g_device_type
==
DEVICE_TANK0203
)
softPwmWrite
(
pin
,
35
);
if
(
g_device_type
==
DEVICE_TANK0206
)
softPwmWrite
(
pin
,
35
);
if
(
g_device_type
==
DEVICE_TANK0202
)
{
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
{
softPwmWrite
(
pin
,
shot_speed
);
my_zlog_debug
(
"pwm:%d,%d"
,
pin
,
shot_speed
);
}
my_zlog_debug
(
"pwm:%d"
,
pin
);
}
}
else
if
(
value
==
0
)
{
softPwmWrite
(
pin
,
0
);
my_zlog_debug
(
"p
in
:%d,0"
,
pin
);
my_zlog_debug
(
"p
wm
:%d,0"
,
pin
);
}
}
...
...
drivers/sensors/tank_angle.c
View file @
193b8804
...
...
@@ -2,6 +2,9 @@
#include "common.h"
#include "ads1115.h"
#define LIFT_LIMIT 165
#define MIDDLE_LIMIT 180
#define RIGHT_LIMIT 195
double
tank_angle
(){
double
angle
=
0
;
...
...
@@ -13,3 +16,12 @@ double tank_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
drivers/sensors/tank_angle.h
View file @
193b8804
...
...
@@ -2,4 +2,7 @@
#define TANK_ANGLE_H
double
tank_angle
();
int
angele_limit
();
#endif
\ No newline at end of file
modules/http/http_request.h
View file @
193b8804
...
...
@@ -4,7 +4,7 @@
#include"common.h"// 用于存储HTTP响应数据的结构体
/*2为关闭请求,1为打开*/
#define HTTP_REQUEST_INDEX
1
#define HTTP_REQUEST_INDEX
2
struct
MemoryStruct
{
char
*
memory
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment