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

109 lines
3.1 KiB
C
Raw Permalink Normal View History

2025-05-21 01:55:40 +00:00
#ifndef __PTZ_ROATE_CONTROL_H_
#define __PTZ_ROATE_CONTROL_H_
#include "ptz_header_file.h"
#include "ptz_type_select.h"
#include "tmc2160.h"
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef PTZ_SUPER_LIGHT_WORM_STEP_TMC2160_AS5047D_24V
///<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_BREAK_SPEED_ANGLE ptz_hori_break_angle()
#define PTZ_VERT_BREAK_SPEED_ANGLE ptz_vert_break_angle()
///ɲ<><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.05
///<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.05
#endif
//<2F><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#ifdef PTZ_MEDIUM_WORM_STEP_TMC2160_AS5047D_24V
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_RIGHT 1//0
///<2F><>̨ˮƽ<CBAE><C6BD>ת
#define PTZ_HORI_DIR_LEFT 3//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 1//0
///<2F><>̨<EFBFBD><CCA8>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD>
#define PTZ_VERT_DIR_DOWN 3//0//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_BREAK_SPEED_ANGLE ptz_hori_break_angle()
#define PTZ_VERT_BREAK_SPEED_ANGLE ptz_vert_break_angle()
///ɲ<><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.05
///<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.05
#endif
#ifdef PTZ_STEP_MOTOR
float ptz_vert_break_angle();
float ptz_hori_break_angle();
float ptz_hori_step_v_to_f(float v, unsigned short int microstep_alue);
float ptz_hori_step_f_to_v(float f, unsigned short int microstep_alue);
float ptz_vert_step_v_to_f(float v, unsigned short int microstep_alue);
float ptz_vert_step_f_to_v(float f, unsigned short int microstep_alue);
#ifdef TMC2160
TMC2160Control ptz_hori_choice_microstep(float ptz_v);
TMC2160Control ptz_vert_choice_microstep(float ptz_v);
#endif
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