Commit 1e47078c authored by 957dd's avatar 957dd

Merge branch 'feature/ptz_change_yuntai' into 'master'

加入了云台相关算法,让移动更流畅 See merge request !96
parents 7a57d77f 845a4293
No preview for this file type
...@@ -88,7 +88,7 @@ const device_abnormal_close_t devcontrol_config_t[]= { ...@@ -88,7 +88,7 @@ const device_abnormal_close_t devcontrol_config_t[]= {
{ {
.device_id = DEVICE_TANK0202, .device_id = DEVICE_TANK0202,
.device_abnormal_stop = tank0202_middle, .device_abnormal_stop = tank0202_middle,
.device_close = tank_thread_close, .device_close = device_poilthread_close,
.gpio_pin_pulled=pin_all_default, .gpio_pin_pulled=pin_all_default,
.gpio_pwm_pulled=pwm_all_default .gpio_pwm_pulled=pwm_all_default
}, },
...@@ -96,7 +96,7 @@ const device_abnormal_close_t devcontrol_config_t[]= { ...@@ -96,7 +96,7 @@ const device_abnormal_close_t devcontrol_config_t[]= {
{ {
.device_id = DEVICE_TANK0203, .device_id = DEVICE_TANK0203,
.device_abnormal_stop = tank0203_middle, .device_abnormal_stop = tank0203_middle,
.device_close = tank_thread_close, .device_close = device_poilthread_close,
.gpio_pin_pulled=pin_all_default, .gpio_pin_pulled=pin_all_default,
.gpio_pwm_pulled=pwm_all_default .gpio_pwm_pulled=pwm_all_default
}, },
...@@ -104,7 +104,7 @@ const device_abnormal_close_t devcontrol_config_t[]= { ...@@ -104,7 +104,7 @@ const device_abnormal_close_t devcontrol_config_t[]= {
{ {
.device_id = DEVICE_TANK0204, .device_id = DEVICE_TANK0204,
.device_abnormal_stop = tank0204_stop, .device_abnormal_stop = tank0204_stop,
.device_close = tank_thread_close, .device_close = device_poilthread_close,
.gpio_pin_pulled=pin_all_default, .gpio_pin_pulled=pin_all_default,
.gpio_pwm_pulled=tankpwm_default .gpio_pwm_pulled=tankpwm_default
}, },
...@@ -135,8 +135,8 @@ const device_abnormal_close_t devcontrol_config_t[]= { ...@@ -135,8 +135,8 @@ const device_abnormal_close_t devcontrol_config_t[]= {
{ {
.device_id = DEVICE_PAO_PTZ0401, .device_id = DEVICE_PAO_PTZ0401,
.device_abnormal_stop = PTZ_pwm_init, .device_abnormal_stop = ptz_pwm_stop,
.device_close = NULL, // TANK0206没有单独的关闭函数 .device_close = device_poilthread_close, // TANK0206没有单独的关闭函数
.gpio_pin_pulled=pin_all_default, .gpio_pin_pulled=pin_all_default,
.gpio_pwm_pulled=pwm_all_default .gpio_pwm_pulled=pwm_all_default
}, },
......
This diff is collapsed.
#ifndef PTZ0401_CONTROL_H__ #ifndef PTZ0401_CONTROL_H__
#define PTZ0401_CONTROL_H__ #define PTZ0401_CONTROL_H__
/* ===================== 轴结构体与全局变量 ===================== */
// 增加了限位属性,便于在算法内部强制约束
typedef struct {
float angle; // 当前角度
float target; // 目标角度
float speed; // 当前速度
float min_limit; // 最小限位
float max_limit; // 最大限位
} ServoAxis;
void device_ptz_pwm_task_threadpoll_init();
void pwm_PTZ_hz(); void pwm_PTZ_hz();
void PTZ_pwm_init(); void PTZ_pwm_init();
void PTZ_pwm_change(unsigned char *buf) ; void PTZ_pwm_change(unsigned char *buf) ;
void ptz_pwm_stop();
#endif #endif
\ No newline at end of file
...@@ -229,9 +229,9 @@ void set_tank_shot_index_cool(bool index){ ...@@ -229,9 +229,9 @@ void set_tank_shot_index_cool(bool index){
/* /*
* @brief 销毁坦克使用的线程池,让其正常销毁,只有在tank相关设备号下才有用,最后销毁都会到device——common.h中 * @brief 销毁坦克使用的线程池,让其正常销毁,只有在tank相关设备号下才有用,最后销毁都会到device——common.h中
*/ */
void tank_thread_close(){ void device_poilthread_close(){
thread_pool_destroy(pool_tank_t); if(pool_tank_t) thread_pool_destroy(pool_tank_t);
thread_pool_destroy(g_pool_device_gpio_control_t); if(g_pool_device_gpio_control_t) thread_pool_destroy(g_pool_device_gpio_control_t);
} }
/*坦克射击接口,只有在特定设备号下使用*/ /*坦克射击接口,只有在特定设备号下使用*/
......
...@@ -41,6 +41,6 @@ bool set_backshotstatus(bool flag); ...@@ -41,6 +41,6 @@ bool set_backshotstatus(bool flag);
int tankshot_detection_backcount(int *cool_time,int flag); int tankshot_detection_backcount(int *cool_time,int flag);
/*关闭线程*/ /*关闭线程*/
void tank_thread_close(); void device_poilthread_close();
#endif #endif
\ No newline at end of file
...@@ -31,6 +31,7 @@ void dog0501_pwm_value(int pin,int value); ...@@ -31,6 +31,7 @@ void dog0501_pwm_value(int pin,int value);
TankFireControl g_device_shot_t; // 真正的结构体变量 TankFireControl g_device_shot_t; // 真正的结构体变量
/** /**
* @brief 初始化坦克射击控制器 * @brief 初始化坦克射击控制器
* @param this 控制器指针 * @param this 控制器指针
...@@ -197,8 +198,7 @@ void tank_angle_limit_function(){ ...@@ -197,8 +198,7 @@ void tank_angle_limit_function(){
} }
delay_ms(5); delay_ms(5);
} }
} }
} }
...@@ -209,6 +209,7 @@ void device_gpio_control_threadpoll_init(){ ...@@ -209,6 +209,7 @@ void device_gpio_control_threadpoll_init(){
thread_pool_add_task(g_pool_device_gpio_control_t, tank_angle_limit_function, NULL); thread_pool_add_task(g_pool_device_gpio_control_t, tank_angle_limit_function, NULL);
} }
/*设备拉低引脚结构体数组*/ /*设备拉低引脚结构体数组*/
const gpiocontrol_t gpio_configs[] = { const gpiocontrol_t gpio_configs[] = {
{ {
......
...@@ -33,6 +33,8 @@ int device_shot_cooling_init(); ...@@ -33,6 +33,8 @@ int device_shot_cooling_init();
extern ThreadPool_t *g_pool_device_gpio_control_t; extern ThreadPool_t *g_pool_device_gpio_control_t;
void set_gpio_control_config_t(ThreadPool_t *s);
extern int g_tank_shot_index; extern int g_tank_shot_index;
void device_fast_read();//快速判断 void device_fast_read();//快速判断
......
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