248 lines
7.1 KiB
C
248 lines
7.1 KiB
C
#ifndef __DEVICE_ROTATE_BLDC_L6235D_H_
|
|
#define __DEVICE_ROTATE_BLDC_L6235D_H_
|
|
|
|
#include "ptz_type_select.h"
|
|
|
|
|
|
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
|
|
|
|
//电机控制方式为L6235D
|
|
#define PTZ_MOTOR_CONTROL_L6235D 1
|
|
///云台水平右转
|
|
#define PTZ_HORI_DIR_RIGHT 0
|
|
///云台水平左转
|
|
#define PTZ_HORI_DIR_LEFT 1
|
|
///云台处于停止状态
|
|
#define PTZ_HORI_DIR_STOP 2
|
|
|
|
///云台垂直向上
|
|
#define PTZ_VERT_DIR_UP 0
|
|
///云台垂直向下
|
|
#define PTZ_VERT_DIR_DOWN 1
|
|
///云台处于停止状态
|
|
#define PTZ_VERT_DIR_STOP 2
|
|
|
|
///距离最近刹车点以最小转速运行的距离
|
|
#define PTZ_HORI_MIN_SPEED_ANGLE 10.0
|
|
#define PTZ_VERT_MIN_SPEED_ANGLE 6.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
|
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_VERT_ANGLE_ACCURACY 0.1
|
|
|
|
#endif
|
|
|
|
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
|
|
/***********************标准云台*********************/
|
|
//电机控制方式为L6235D
|
|
#define PTZ_MOTOR_CONTROL_L6235D 1
|
|
///云台水平右转
|
|
#define PTZ_HORI_DIR_RIGHT 0//1//0
|
|
///云台水平左转
|
|
#define PTZ_HORI_DIR_LEFT 1//0//1
|
|
///云台处于停止状态
|
|
#define PTZ_HORI_DIR_STOP 2
|
|
|
|
///云台垂直向上
|
|
#define PTZ_VERT_DIR_UP 0//01
|
|
///云台垂直向下
|
|
#define PTZ_VERT_DIR_DOWN 1//0
|
|
///云台处于停止状态
|
|
#define PTZ_VERT_DIR_STOP 2
|
|
|
|
///距离最近刹车点以最小转速运行的距离
|
|
#define PTZ_HORI_MIN_SPEED_ANGLE 3.0
|
|
#define PTZ_VERT_MIN_SPEED_ANGLE 3.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
|
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_VERT_ANGLE_ACCURACY 0.1
|
|
|
|
|
|
/***********************激光云台定制*********************/
|
|
// //电机控制方式为L6235D
|
|
// #define PTZ_MOTOR_CONTROL_L6235D 1
|
|
// ///云台水平右转
|
|
// #define PTZ_HORI_DIR_RIGHT 0
|
|
// ///云台水平左转
|
|
// #define PTZ_HORI_DIR_LEFT 1
|
|
// ///云台处于停止状态
|
|
// #define PTZ_HORI_DIR_STOP 2
|
|
//
|
|
// ///云台垂直向上
|
|
// #define PTZ_VERT_DIR_UP 1
|
|
// ///云台垂直向下
|
|
// #define PTZ_VERT_DIR_DOWN 0
|
|
// ///云台处于停止状态
|
|
// #define PTZ_VERT_DIR_STOP 2
|
|
//
|
|
// ///距离最近刹车点以最小转速运行的距离
|
|
// #define PTZ_HORI_MIN_SPEED_ANGLE 3.0
|
|
// #define PTZ_VERT_MIN_SPEED_ANGLE 3.0
|
|
//
|
|
// ///刹车最近距离
|
|
// #define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
|
// ///刹车最远距离
|
|
// #define PTZ_HORI_STOP_FAR_DISTANCE 10.0
|
|
//
|
|
// ///刹车最近距离
|
|
// #define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
|
// ///刹车最远距离
|
|
// #define PTZ_VERT_STOP_FAR_DISTANCE 10.0
|
|
//
|
|
// ///云台定位精度,也可用于判断是不是同一个位置
|
|
// #define PTZ_HORI_ANGLE_ACCURACY 0.1
|
|
// ///云台定位精度,也可用于判断是不是同一个位置
|
|
// #define PTZ_VERT_ANGLE_ACCURACY 0.1
|
|
|
|
#endif
|
|
|
|
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
|
|
///电机控制方式为L6235D
|
|
#define PTZ_MOTOR_CONTROL_L6235D 1
|
|
///云台水平右转
|
|
#define PTZ_HORI_DIR_RIGHT 1
|
|
///云台水平左转
|
|
#define PTZ_HORI_DIR_LEFT 0
|
|
///云台处于停止状态
|
|
#define PTZ_HORI_DIR_STOP 2
|
|
|
|
///云台垂直向上
|
|
#define PTZ_VERT_DIR_UP 0
|
|
///云台垂直向下
|
|
#define PTZ_VERT_DIR_DOWN 1
|
|
///云台处于停止状态
|
|
#define PTZ_VERT_DIR_STOP 2
|
|
|
|
///距离最近刹车点以最小转速运行的距离
|
|
#define PTZ_HORI_MIN_SPEED_ANGLE 7.0//5.0
|
|
#define PTZ_VERT_MIN_SPEED_ANGLE 3.0//3.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.005
|
|
///刹车最远距离
|
|
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.005
|
|
///刹车最远距离
|
|
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
|
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_HORI_ANGLE_ACCURACY 0.01
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_VERT_ANGLE_ACCURACY 0.01
|
|
|
|
#endif
|
|
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
|
|
//电机控制方式为L6235D
|
|
#define PTZ_MOTOR_CONTROL_L6235D 1
|
|
///云台水平右转
|
|
#define PTZ_HORI_DIR_RIGHT 1
|
|
///云台水平左转
|
|
#define PTZ_HORI_DIR_LEFT 0
|
|
///云台处于停止状态
|
|
#define PTZ_HORI_DIR_STOP 2
|
|
|
|
///云台垂直向上
|
|
#define PTZ_VERT_DIR_UP 1
|
|
///云台垂直向下
|
|
#define PTZ_VERT_DIR_DOWN 0
|
|
///云台处于停止状态
|
|
#define PTZ_VERT_DIR_STOP 2
|
|
|
|
///距离最近刹车点以最小转速运行的距离
|
|
#define PTZ_HORI_MIN_SPEED_ANGLE 5.0
|
|
#define PTZ_VERT_MIN_SPEED_ANGLE 5.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
|
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_VERT_ANGLE_ACCURACY 0.1
|
|
#endif
|
|
|
|
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
|
|
//电机控制方式为L6235D
|
|
#define PTZ_MOTOR_CONTROL_L6235D 1
|
|
///云台水平右转
|
|
#define PTZ_HORI_DIR_RIGHT 0//1
|
|
///云台水平左转
|
|
#define PTZ_HORI_DIR_LEFT 1//0
|
|
///云台处于停止状态
|
|
#define PTZ_HORI_DIR_STOP 2
|
|
|
|
///云台垂直向上
|
|
#define PTZ_VERT_DIR_UP 0//1
|
|
///云台垂直向下
|
|
#define PTZ_VERT_DIR_DOWN 1//0
|
|
///云台处于停止状态
|
|
#define PTZ_VERT_DIR_STOP 2
|
|
|
|
///距离最近刹车点以最小转速运行的距离
|
|
#define PTZ_HORI_MIN_SPEED_ANGLE 5.0
|
|
#define PTZ_VERT_MIN_SPEED_ANGLE 5.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
|
|
|
|
///刹车最近距离
|
|
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
|
|
///刹车最远距离
|
|
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
|
|
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_HORI_ANGLE_ACCURACY 0.1
|
|
///云台定位精度,也可用于判断是不是同一个位置
|
|
#define PTZ_VERT_ANGLE_ACCURACY 0.1
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef PTZ_BLDC_MOTOR
|
|
|
|
|
|
void ptz_sem_post_stop_mutex();
|
|
void ptz_hori_start(char direction, float speed);
|
|
void ptz_hori_stop(unsigned short int time);
|
|
void ptz_vert_start(char direction, float speed);
|
|
void ptz_vert_stop(unsigned short int time);
|
|
|
|
void init_rotate_monitor_module(void);
|
|
#endif
|
|
|
|
#endif |