Commit 9d748228 authored by 957dd's avatar 957dd

Merge branch 'feature/add_bulldozer' into 'master'

Feature/add bulldozer See merge request !47
parents b7f3b2de ab37bba1
cmake_minimum_required(VERSION 3.10)
project(DeviceControlSystem
VERSION 1.1.9
VERSION 1.1.10
LANGUAGES C
)
......
......@@ -760,6 +760,30 @@ 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_car0104.o: system/gpio/gpio_pwm_car0104.c.o
.PHONY : system/gpio/gpio_pwm_car0104.o
# target to build an object file
system/gpio/gpio_pwm_car0104.c.o:
$(MAKE) $(MAKESILENT) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0104.c.o
.PHONY : system/gpio/gpio_pwm_car0104.c.o
system/gpio/gpio_pwm_car0104.i: system/gpio/gpio_pwm_car0104.c.i
.PHONY : system/gpio/gpio_pwm_car0104.i
# target to preprocess a source file
system/gpio/gpio_pwm_car0104.c.i:
$(MAKE) $(MAKESILENT) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0104.c.i
.PHONY : system/gpio/gpio_pwm_car0104.c.i
system/gpio/gpio_pwm_car0104.s: system/gpio/gpio_pwm_car0104.c.s
.PHONY : system/gpio/gpio_pwm_car0104.s
# target to generate assembly for a file
system/gpio/gpio_pwm_car0104.c.s:
$(MAKE) $(MAKESILENT) -f CMakeFiles/main.dir/build.make CMakeFiles/main.dir/system/gpio/gpio_pwm_car0104.c.s
.PHONY : system/gpio/gpio_pwm_car0104.c.s
system/gpio/gpio_pwm_carship.o: system/gpio/gpio_pwm_carship.c.o
.PHONY : system/gpio/gpio_pwm_carship.o
......@@ -1566,6 +1590,9 @@ help:
@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_car0104.o"
@echo "... system/gpio/gpio_pwm_car0104.i"
@echo "... system/gpio/gpio_pwm_car0104.s"
@echo "... system/gpio/gpio_pwm_carship.o"
@echo "... system/gpio/gpio_pwm_carship.i"
@echo "... system/gpio/gpio_pwm_carship.s"
......
#define PROJECT_VERSION_MAJOR 1
#define PROJECT_VERSION_MINOR 1
#define PROJECT_VERSION_PATCH 9
#define PROJECT_VERSION_PATCH 10
#define GIT_HASH ""
#define BUILD_TIMESTAMP "2025-06-27T08:47:31"
#define BUILD_TIMESTAMP "2025-07-07T07:22:49"
#define BUILD_USER "orangepi"
No preview for this file type
......@@ -4,6 +4,7 @@
#include "gpio_pwm_ptz.h"
#include "gpio_pwm_car0102.h"
#include "gpio_pwm_car0103.h"
#include "gpio_pwm_car0104.h"
#include "mqtt.h"
#include "car.h"
......@@ -28,4 +29,11 @@ void car_Init_0103() {
init_gpioWPi(values);
pwm_init_speed(); //pwm初始化,车为停止
AppExit_pin_pwm=103;//车的异常停止值
}
void car_Init_0104() {
int values[] = {5, 6, 7, 10, 16, 20, 22, 23, 24, 25, 26, 27,-1};
init_gpioWPi(values);
pwm_init_speed();
AppExit_pin_pwm=104;
}
\ No newline at end of file
......@@ -4,4 +4,6 @@
void car_Init_0101();
void car_Init_0102();
void car_Init_0103();
void car_Init_0104();
void car_Init_0104();
#endif
\ No newline at end of file
......@@ -6,6 +6,10 @@
#include "gpio_pwm_tank0202.h"
#include "gpio_pwm_car0102.h"
#include "gpio_pwm_car0103.h"
#include "gpio_pwm_car0104.h"
#include "mqtt.h"
void car_exit_0101() {
middle_pwm();
......@@ -22,6 +26,11 @@ void car_exit_0103() {
pin_all_default();
}
void car_exit_0104() {
car0104_middle();
pin_all_default();
}
void tank_exit_0201() {
pin_all_default();
digitalWrite(2, LOW);
......@@ -42,4 +51,15 @@ void ship_exit_0301() {
void ptz_exit_0401() {
pwm_all_default();
pin_all_default();
}
void device_warn_exit(){
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==104) car_exit_0104();//车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常问题处理
if(AppExit_pin_pwm==401) ptz_exit_0401();//炮异0401常问题处理
}
\ No newline at end of file
#ifndef DEVICE_EXIT_H__
#define DEVICE_EXIT_H__
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
void tank_exit_0202();//坦克0202
void device_warn_exit();
#endif
\ No newline at end of file
......@@ -83,6 +83,7 @@ int hash_insert_init(HashTable *hashTable) {
insert(hashTable, "0101", CAR_0101);
insert(hashTable, "0102", CAR_0102);
insert(hashTable, "0103", CAR_0103);
insert(hashTable, "0104", CAR_0104);
insert(hashTable, "0201", TANK_0201);
insert(hashTable, "0202", TANK_0202);
insert(hashTable, "0301", SHIP_0301);
......@@ -99,6 +100,9 @@ int Device_judg(CodeEnum code,char *sub_str) {
}else if(code == CAR_0103) {
car_Init_0103();
my_zlog_info("使用型号%s",sub_str);
}else if(code == CAR_0104) {
car_Init_0104();
my_zlog_info("使用型号%s",sub_str);
}else if(code == TANK_0201) {
tank_Init_0201();
my_zlog_info("使用型号%s",sub_str);
......
......@@ -9,6 +9,7 @@ typedef enum {
CAR_0101 = 1,
CAR_0102,
CAR_0103,
CAR_0104,
TANK_0201,
TANK_0202,
SHIP_0301,
......
......@@ -20,6 +20,9 @@
- 进入build后cmake .. 然后make即可
## 设备速冻后台设置
- 坦克0202 最大为200,更据电池电压具体调速
- 车0101 最大为150,尽量不能这么大
- tank0202 最大为200,更据电池电压具体调速。原电池为7.6v,大概为140左右
- car0101 最大为150,尽量不能这么大
- car0102 为小车 最大速度为200
- car0103 为挖机 最大速度为200,更据电池电压具体调速。原电池为7.6v,大概为140左右
- car0104 为推土机 最大速度为200,更据电池电压具体调速。原电池为7.6v,大概为140左右
- ptz0401 为炮台,有限位。
\ No newline at end of file
......@@ -2,6 +2,7 @@
#include "gpio_pwm_carship.h"
#include "gpio_pwm_car0102.h"
#include "gpio_pwm_car0103.h"
#include "gpio_pwm_car0104.h"
#include "gpio_pwm_ptz.h"
#include "gpio_pwm_tank0202.h"
#include "ip.h"
......@@ -52,6 +53,18 @@ char *glon=NULL;//加入gps后删除,心跳预留,不更改
time_t gStart;//时间戳
//mqtt设备行走驱动函数
void device_driver(){
if(AppExit_pin_pwm == 101) speed_change(gvalt) ;
if(AppExit_pin_pwm == 102) car0102_speed_change(gvalt) ;
if(AppExit_pin_pwm == 103 ) car0103_change(gvalt) ;
if(AppExit_pin_pwm == 104 ) car0104_change(gvalt) ;
if(AppExit_pin_pwm == 202) tank0202_change(gvalt);
if(AppExit_pin_pwm == 301) ship_speed_change(gvalt) ;
if(AppExit_pin_pwm == 401) PTZ_pwm_change(gvalt);
}
//mqtt初始化
int mqtt_init() {
mosquitto_lib_init();
......@@ -187,12 +200,7 @@ void message_3(cJSON *body){
my_zlog_debug("modeTemp:%d",gvalt[1]);
my_zlog_debug("valTemp:%d",gvalt[2]);
if(AppExit_pin_pwm == 101) speed_change(gvalt) ;
if(AppExit_pin_pwm == 102) car0102_speed_change(gvalt) ;
if(AppExit_pin_pwm == 103 ) car0103_change(gvalt) ;
if(AppExit_pin_pwm == 202) tank0202_change(gvalt);
if(AppExit_pin_pwm == 301) ship_speed_change(gvalt) ;
if(AppExit_pin_pwm == 401) PTZ_pwm_change(gvalt);
device_driver();
}
......
......@@ -17,7 +17,8 @@ int gverify_count =12000;//判断是否有一分钟
char only_id_middle[11];
char secret_key[256];//存储上一次的topic
char secret_key[1024];//存储上一次的topic
bool secret_key_index = TRUE;//用于判断是否对比topic
int gverify_index =0;//判断是否验证成功
......@@ -52,6 +53,8 @@ int send_jwtser(const char *token){
char *only_Id =generate_random_id();
my_zlog_debug("%s",only_Id);
strcpy(only_id_middle,only_Id);
cJSON_AddStringToObject(body, "data", token);//为0成功
......@@ -97,13 +100,12 @@ int receive_jwt(cJSON *body) {
pthread_mutex_unlock(&gverify_mutex);
my_zlog_notice("topic不同,验证完成");
}
}
if(secret_key_index == TRUE) {
}else {
strcpy(secret_key,token);
secret_key_index = FALSE;
}
unsigned long long token_time_s = strtoull(token_time, NULL, 10);
// 转换为秒级时间戳
......@@ -122,10 +124,12 @@ int receive_jwt(cJSON *body) {
my_zlog_debug("在有效期内");
pthread_mutex_lock(&gverify_mutex);
gverify_count=0;
my_zlog_info("count: %s", gverify_count);
pthread_mutex_unlock(&gverify_mutex);
my_zlog_debug("gverify_count=%d",gverify_count);
}
}else {
my_zlog_debug("不在有效期内");
gverify_index=1;
my_zlog_debug("gverify_index= %d ",gverify_index);
}
......
......@@ -49,13 +49,7 @@ void *AppExit(void *arg) {
Delay_Ms(0,100);
gPwmCount++;
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常问题处理
if(AppExit_pin_pwm==401) ptz_exit_0401();//炮异0401常问题处理
device_warn_exit();
gPwmCount=6;
}
}
......
......@@ -72,7 +72,7 @@ void pwm_value(int pin,int value) { //软件陪我们控制调速
my_zlog_debug("pin:%d,%d",pin,shot_speed);
} else {
if(AppExit_pin_pwm == 202)softPwmWrite(pin, 30);
if(AppExit_pin_pwm != 202)softPwmWrite(pin, shot_speed);
if(AppExit_pin_pwm != 202 )softPwmWrite(pin, shot_speed);
}
......
#include "common.h"
#include "pthrpoll.h"
#include "gpio_pwm_car0104.h"
int car0104_middle() {
pwmWrite(PWM_PIN_SPEED,75);
pwmWrite(PWM_PIN_CHANGE,75);
return 0;
}
void car0104_back(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 car0104_flont(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 car0104_right(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 car0104_lift(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 car0104_change(unsigned char *buf) {
unsigned char mode = buf[1];
unsigned char val = buf[2];
if(mode == 1 ) {
car0104_flont(val);
}else if(mode == 2 ) {
car0104_back(val);
}else if(mode == 3) {
car0104_lift(val+20);
}else if(mode == 4) {
car0104_right(val+20);
}
}
#ifndef GPIO_PWM_CAR0104_H__
#define GPIO_PWM_CAR0104_H__
int car0104_middle();
int car0104_change(unsigned char *buf);
#endif
\ No newline at end of file
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