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
41be49d7
Commit
41be49d7
authored
May 28, 2025
by
957dd
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/car_waji0103' into 'master'
Feature/car waji0103 See merge request
!39
parents
337b388b
b9f8aa0f
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
265 additions
and
13 deletions
+265
-13
Makefile
build/Makefile
+27
-0
version.h
build/include/version.h
+1
-1
main
build/main
+0
-0
car.c
device_judg/device/car.c
+9
-0
car.h
device_judg/device/car.h
+2
-0
device_exit.c
device_judg/device_exit/device_exit.c
+6
-1
device_exit.h
device_judg/device_exit/device_exit.h
+1
-0
judg.c
device_judg/judg/judg.c
+4
-3
judg.h
device_judg/judg/judg.h
+1
-0
thread_main.c
src/thread_main.c
+1
-0
gpio_pwm_car0103.c
system/gpio/gpio_pwm_car0103.c
+197
-0
gpio_pwm_car0103.h
system/gpio/gpio_pwm_car0103.h
+8
-0
gpio_pwm_tank0202.c
system/gpio/gpio_pwm_tank0202.c
+8
-8
No files found.
build/Makefile
View file @
41be49d7
...
...
@@ -664,6 +664,30 @@ system/gpio/gpio_pwm_car0102.c.s:
$(MAKE)
$(MAKESILENT)
-f
CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0102.c.s
.PHONY
:
system/gpio/gpio_pwm_car0102.c.s
system/gpio/gpio_pwm_car0103.o
:
system/gpio/gpio_pwm_car0103.c.o
.PHONY
:
system/gpio/gpio_pwm_car0103.o
# target to build an object file
system/gpio/gpio_pwm_car0103.c.o
:
$(MAKE)
$(MAKESILENT)
-f
CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0103.c.o
.PHONY
:
system/gpio/gpio_pwm_car0103.c.o
system/gpio/gpio_pwm_car0103.i
:
system/gpio/gpio_pwm_car0103.c.i
.PHONY
:
system/gpio/gpio_pwm_car0103.i
# target to preprocess a source file
system/gpio/gpio_pwm_car0103.c.i
:
$(MAKE)
$(MAKESILENT)
-f
CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0103.c.i
.PHONY
:
system/gpio/gpio_pwm_car0103.c.i
system/gpio/gpio_pwm_car0103.s
:
system/gpio/gpio_pwm_car0103.c.s
.PHONY
:
system/gpio/gpio_pwm_car0103.s
# target to generate assembly for a file
system/gpio/gpio_pwm_car0103.c.s
:
$(MAKE)
$(MAKESILENT)
-f
CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0103.c.s
.PHONY
:
system/gpio/gpio_pwm_car0103.c.s
system/gpio/gpio_pwm_carship.o
:
system/gpio/gpio_pwm_carship.c.o
.PHONY
:
system/gpio/gpio_pwm_carship.o
...
...
@@ -1458,6 +1482,9 @@ help:
@
echo
"... system/gpio/gpio_pwm_car0102.o"
@
echo
"... system/gpio/gpio_pwm_car0102.i"
@
echo
"... system/gpio/gpio_pwm_car0102.s"
@
echo
"... system/gpio/gpio_pwm_car0103.o"
@
echo
"... system/gpio/gpio_pwm_car0103.i"
@
echo
"... system/gpio/gpio_pwm_car0103.s"
@
echo
"... system/gpio/gpio_pwm_carship.o"
@
echo
"... system/gpio/gpio_pwm_carship.i"
@
echo
"... system/gpio/gpio_pwm_carship.s"
...
...
build/include/version.h
View file @
41be49d7
...
...
@@ -2,5 +2,5 @@
#define PROJECT_VERSION_MINOR 1
#define PROJECT_VERSION_PATCH 3
#define GIT_HASH ""
#define BUILD_TIMESTAMP "2025-05-2
4T09:39:55
"
#define BUILD_TIMESTAMP "2025-05-2
8T09:22:22
"
#define BUILD_USER "orangepi"
build/main
View file @
41be49d7
No preview for this file type
device_judg/device/car.c
View file @
41be49d7
...
...
@@ -3,6 +3,7 @@
#include "gpio_pwm_carship.h"
#include "gpio_pwm_ptz.h"
#include "gpio_pwm_car0102.h"
#include "gpio_pwm_car0103.h"
#include "mqtt.h"
#include "car.h"
...
...
@@ -20,4 +21,11 @@ void car_Init_0102() {
pwm_init_speed
();
//pwm初始化,车为停止
car0102_speed_stop
();
AppExit_pin_pwm
=
102
;
//车的异常停止值
}
void
car_Init_0103
()
{
int
values
[]
=
{
5
,
6
,
7
,
10
,
16
,
20
,
22
,
23
,
24
,
25
,
26
,
27
,
-
1
};
init_gpioWPi
(
values
);
pwm_init_speed
();
//pwm初始化,车为停止
AppExit_pin_pwm
=
103
;
//车的异常停止值
}
\ No newline at end of file
device_judg/device/car.h
View file @
41be49d7
...
...
@@ -3,4 +3,5 @@
void
car_Init_0101
();
void
car_Init_0102
();
void
car_Init_0103
();
#endif
\ No newline at end of file
device_judg/device_exit/device_exit.c
View file @
41be49d7
...
...
@@ -5,6 +5,7 @@
#include "gpio_pwm_ptz.h"
#include "gpio_pwm_tank0202.h"
#include "gpio_pwm_car0102.h"
#include "gpio_pwm_car0103.h"
void
car_exit_0101
()
{
middle_pwm
();
...
...
@@ -16,6 +17,11 @@ void car_exit_0102() {
pin_all_default
();
}
void
car_exit_0103
()
{
car0103_middle
();
pin_all_default
();
}
void
tank_exit_0201
()
{
pin_all_default
();
digitalWrite
(
2
,
LOW
);
...
...
@@ -28,7 +34,6 @@ void tank_exit_0202() {
tank0202_middle
();
}
void
ship_exit_0301
()
{
ship_stop_pwm
();
pin_all_default
();
...
...
device_judg/device_exit/device_exit.h
View file @
41be49d7
...
...
@@ -4,6 +4,7 @@
void
car_exit_0101
();
//车0101
void
car_exit_0102
();
//车0102
void
car_exit_0103
();
//车0103
void
tank_exit_0201
();
//坦克0201,小坦克
void
ship_exit_0301
();
//船0301
void
ptz_exit_0401
();
//炮台0401
...
...
device_judg/judg/judg.c
View file @
41be49d7
#include "common.h"
#include "thread_main.h"
#include "gpio_pwm_carship.h"
#include "gpio_pwm_ptz.h"
#include "mqtt.h"
#include "judg.h"
#include "delay.h"
...
...
@@ -10,7 +8,6 @@
#include "ship.h"
#include "pao.h"
#include "fileopen.h"
#include "gpio_pwm_tank0202.h"
#include "device_change.h"
char
TOPIC_middle
[
23
];
...
...
@@ -83,6 +80,7 @@ int hash_insert_init(HashTable *hashTable) {
// 插入已有的代码
insert
(
hashTable
,
"0101"
,
CAR_0101
);
insert
(
hashTable
,
"0102"
,
CAR_0102
);
insert
(
hashTable
,
"0103"
,
CAR_0103
);
insert
(
hashTable
,
"0201"
,
TANK_0201
);
insert
(
hashTable
,
"0202"
,
TANK_0202
);
insert
(
hashTable
,
"0301"
,
SHIP_0301
);
...
...
@@ -96,6 +94,9 @@ int Device_judg(CodeEnum code,char *sub_str) {
}
else
if
(
code
==
CAR_0102
)
{
car_Init_0102
();
my_zlog_info
(
"使用型号%s"
,
sub_str
);
}
else
if
(
code
==
CAR_0103
)
{
car_Init_0103
();
my_zlog_info
(
"使用型号%s"
,
sub_str
);
}
else
if
(
code
==
TANK_0201
)
{
tank_Init_0201
();
my_zlog_info
(
"使用型号%s"
,
sub_str
);
...
...
device_judg/judg/judg.h
View file @
41be49d7
...
...
@@ -8,6 +8,7 @@
typedef
enum
{
CAR_0101
=
1
,
CAR_0102
,
CAR_0103
,
TANK_0201
,
TANK_0202
,
SHIP_0301
,
...
...
src/thread_main.c
View file @
41be49d7
...
...
@@ -51,6 +51,7 @@ void *AppExit(void *arg) { //出现意外自动停止
if
(
gPwmCount
>=
5
)
{
if
(
AppExit_pin_pwm
==
101
)
car_exit_0101
();
//车0101异常问题处理
if
(
AppExit_pin_pwm
==
102
)
car_exit_0102
();
//车0102异常问题处理
if
(
AppExit_pin_pwm
==
103
)
car_exit_0103
();
//车0103异常问题处理
if
(
AppExit_pin_pwm
==
201
)
tank_exit_0201
();
//坦克0201异常问题处理
if
(
AppExit_pin_pwm
==
202
)
tank_exit_0202
();
//坦克0202异常问题处理
if
(
AppExit_pin_pwm
==
301
)
ship_exit_0301
();
//船异0301常问题处理
...
...
system/gpio/gpio_pwm_car0103.c
0 → 100644
View file @
41be49d7
#include "gpio_pwm_car0103.h"
#include "common.h"
int
modecount_car0103
=
0
;
int
car0103_middle
()
{
pwmWrite
(
PWM_PIN_SPEED
,
75
);
pwmWrite
(
PWM_PIN_CHANGE
,
75
);
return
0
;
}
void
mode_car0103_lift_flont
(
unsigned
char
gval
)
{
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_SPEED
,
75
);
}
else
if
(
gval
<=
55
)
{
pwmWrite
(
PWM_PIN_SPEED
,
78
);
}
else
if
(
gval
<=
60
)
{
pwmWrite
(
PWM_PIN_SPEED
,
79
);
}
else
if
(
gval
<=
65
)
{
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
);
}
}
void
mode_car0103_lift_back
(
unsigned
char
gval
)
{
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
)
{
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
);
}
}
void
mode_car0103_right_flont
(
unsigned
char
gval
)
{
if
(
gval
<
50
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
75
);
}
else
if
(
gval
<=
55
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
78
);
}
else
if
(
gval
<=
60
)
{
pwmWrite
(
PWM_PIN_CHANGE
,
79
);
}
else
if
(
gval
<=
65
)
{
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
);
}
}
void
mode_car0103_right_back
(
unsigned
char
gval
)
{
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
);
}
}
int
car0103_change
(
unsigned
char
*
buf
)
{
unsigned
char
mode
=
buf
[
1
];
unsigned
char
val
=
buf
[
2
];
if
(
mode
==
1
)
{
//mode_lift_flont(val);
mode_car0103_right_flont
(
val
);
modecount_car0103
=
0
;
}
else
if
(
mode
==
2
)
{
//mode_lift_back(val);
mode_car0103_right_back
(
val
);
modecount_car0103
=
1
;
}
if
((
mode
==
1
||
mode
==
2
)
&&
val
==
0
)
modecount_car0103
=
0
;
if
(
mode
==
3
)
{
if
(
modecount_car0103
==
0
)
mode_car0103_lift_back
(
val
+
25
);
if
(
modecount_car0103
==
1
)
mode_car0103_lift_flont
(
val
+
25
);
}
else
if
(
mode
==
4
)
{
if
(
modecount_car0103
==
0
)
mode_car0103_lift_flont
(
val
+
25
);
if
(
modecount_car0103
==
1
)
mode_car0103_lift_back
(
val
+
25
);
}
}
\ No newline at end of file
system/gpio/gpio_pwm_car0103.h
0 → 100644
View file @
41be49d7
#ifndef GPIO_PWM_CAR0103_H__
#define GPIO_PWM_CAR0103_H__
int
car0103_middle
();
int
car0103_change
(
unsigned
char
*
buf
);
#endif
\ No newline at end of file
system/gpio/gpio_pwm_tank0202.c
View file @
41be49d7
...
...
@@ -2,7 +2,7 @@
#include "pthrpoll.h"
#include "gpio_pwm_tank0202.h"
int
modecount
=
0
;
int
modecount
_tank0202
=
0
;
int
tank0202_middle
()
{
pwmWrite
(
PWM_PIN_SPEED
,
75
);
...
...
@@ -177,21 +177,21 @@ int tank0202_change(unsigned char *buf) {
if
(
mode
==
1
)
{
//mode_lift_flont(val);
mode_right_flont
(
val
);
modecount
=
0
;
modecount
_tank0202
=
0
;
}
else
if
(
mode
==
2
)
{
//mode_lift_back(val);
mode_right_back
(
val
);
modecount
=
1
;
modecount
_tank0202
=
1
;
}
if
((
mode
==
1
||
mode
==
2
)
&&
val
==
0
)
modecount
=
0
;
if
((
mode
==
1
||
mode
==
2
)
&&
val
==
0
)
modecount
_tank0202
=
0
;
if
(
mode
==
3
)
{
if
(
modecount
==
0
)
mode_lift_back
(
val
+
25
);
if
(
modecount
==
1
)
mode_lift_flont
(
val
+
25
);
if
(
modecount
_tank0202
==
0
)
mode_lift_back
(
val
+
25
);
if
(
modecount
_tank0202
==
1
)
mode_lift_flont
(
val
+
25
);
}
else
if
(
mode
==
4
)
{
if
(
modecount
==
0
)
mode_lift_flont
(
val
+
25
);
if
(
modecount
==
1
)
mode_lift_back
(
val
+
25
);
if
(
modecount
_tank0202
==
0
)
mode_lift_flont
(
val
+
25
);
if
(
modecount
_tank0202
==
1
)
mode_lift_back
(
val
+
25
);
}
}
...
...
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