MW22-02A/APP/Device/Device_rotate/rotate_bldc.h

248 lines
7.1 KiB
C
Raw Normal View History

2025-05-21 01:55:40 +00:00
#ifndef __DEVICE_ROTATE_BLDC_L6235D_H_
#define __DEVICE_ROTATE_BLDC_L6235D_H_
#include "ptz_type_select.h"
#ifdef PTZ_LIGHT_GEAR_L6235D_AS5047D
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽΪL6235D
#define PTZ_MOTOR_CONTROL_L6235D 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_RIGHT 0
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_LEFT 1
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_HORI_DIR_STOP 2
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_UP 0
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_DOWN 1
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_VERT_DIR_STOP 2
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сת<D0A1><D7AA><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD>
#define PTZ_HORI_MIN_SPEED_ANGLE 10.0
#define PTZ_VERT_MIN_SPEED_ANGLE 6.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_HORI_ANGLE_ACCURACY 0.1
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_VERT_ANGLE_ACCURACY 0.1
#endif
#ifdef PTZ_MEDIUM_WORM_L6235D_AS5047D
/***********************<2A><>׼<EFBFBD><D7BC>̨*********************/
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽΪL6235D
#define PTZ_MOTOR_CONTROL_L6235D 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_RIGHT 0//1//0
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_LEFT 1//0//1
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_HORI_DIR_STOP 2
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_UP 0//01
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_DOWN 1//0
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_VERT_DIR_STOP 2
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сת<D0A1><D7AA><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD>
#define PTZ_HORI_MIN_SPEED_ANGLE 3.0
#define PTZ_VERT_MIN_SPEED_ANGLE 3.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_HORI_ANGLE_ACCURACY 0.1
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_VERT_ANGLE_ACCURACY 0.1
/***********************<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>*********************/
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽΪL6235D
// #define PTZ_MOTOR_CONTROL_L6235D 1
// ///<2F><>̨ˮƽ<CBAE><C6BD>ת
// #define PTZ_HORI_DIR_RIGHT 0
// ///<2F><>̨ˮƽ<CBAE><C6BD>ת
// #define PTZ_HORI_DIR_LEFT 1
// ///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
// #define PTZ_HORI_DIR_STOP 2
//
// ///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
// #define PTZ_VERT_DIR_UP 1
// ///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
// #define PTZ_VERT_DIR_DOWN 0
// ///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
// #define PTZ_VERT_DIR_STOP 2
//
// ///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сת<D0A1><D7AA><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD>
// #define PTZ_HORI_MIN_SPEED_ANGLE 3.0
// #define PTZ_VERT_MIN_SPEED_ANGLE 3.0
//
// ///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// #define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
// ///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
// #define PTZ_HORI_STOP_FAR_DISTANCE 10.0
//
// ///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// #define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
// ///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
// #define PTZ_VERT_STOP_FAR_DISTANCE 10.0
//
// ///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
// #define PTZ_HORI_ANGLE_ACCURACY 0.1
// ///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
// #define PTZ_VERT_ANGLE_ACCURACY 0.1
#endif
#ifdef PTZ_HEAVY_WORM_L6235D_AS5047D
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽΪL6235D
#define PTZ_MOTOR_CONTROL_L6235D 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_RIGHT 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_LEFT 0
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_HORI_DIR_STOP 2
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_UP 0
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_DOWN 1
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_VERT_DIR_STOP 2
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сת<D0A1><D7AA><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD>
#define PTZ_HORI_MIN_SPEED_ANGLE 7.0//5.0
#define PTZ_VERT_MIN_SPEED_ANGLE 3.0//3.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.005
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.005
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_HORI_ANGLE_ACCURACY 0.01
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_VERT_ANGLE_ACCURACY 0.01
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_12V
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽΪL6235D
#define PTZ_MOTOR_CONTROL_L6235D 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_RIGHT 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_LEFT 0
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_HORI_DIR_STOP 2
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_UP 1
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_DOWN 0
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_VERT_DIR_STOP 2
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сת<D0A1><D7AA><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD>
#define PTZ_HORI_MIN_SPEED_ANGLE 5.0
#define PTZ_VERT_MIN_SPEED_ANGLE 5.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_HORI_ANGLE_ACCURACY 0.1
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_VERT_ANGLE_ACCURACY 0.1
#endif
#ifdef PTZ_SUPER_LIGHT_WORM_L6235D_AS5047D_24V
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD>ʽΪL6235D
#define PTZ_MOTOR_CONTROL_L6235D 1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_RIGHT 0//1
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_LEFT 1//0
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_HORI_DIR_STOP 2
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_UP 0//1
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_DOWN 1//0
///<2F><>̨<EFBFBD><CCA8><EFBFBD><EFBFBD>ֹͣ״̬
#define PTZ_VERT_DIR_STOP 2
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сת<D0A1><D7AA><EFBFBD><EFBFBD><EFBFBD>еľ<D0B5><C4BE><EFBFBD>
#define PTZ_HORI_MIN_SPEED_ANGLE 5.0
#define PTZ_VERT_MIN_SPEED_ANGLE 5.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_HORI_STOP_FAR_DISTANCE 4.0
///ɲ<><C9B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_NEAR_DISTANCE 0.01
///ɲ<><C9B2><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
#define PTZ_VERT_STOP_FAR_DISTANCE 4.0
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#define PTZ_HORI_ANGLE_ACCURACY 0.1
///<2F><>̨<EFBFBD><CCA8>λ<EFBFBD><CEBB><EFBFBD>ȣ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Dz<EFBFBD><C7B2><EFBFBD>ͬһ<CDAC><D2BB>λ<EFBFBD><CEBB>
#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