#ifndef __DEVICE_ROTATE_H_
#define __DEVICE_ROTATE_H_

///云台水平停止
#define PTZ_HORI_STOP       0
///云台水平启动
#define PTZ_HORI_START      1


///云台水平右转到某个角度
#define PTZ_HORI_RIGHT_ANGLE     3
///云台水平左转到某个角度
#define PTZ_HORI_LEFT_ANGLE      2

///云台水平右转一整圈
#define PTZ_HORI_RIGHT_CYCLE     23
///云台水平左转一整圈
#define PTZ_HORI_LEFT_CYCLE      22
#define PTZ_HORI_CYCLE           24

///云台以最近距离转
#define PTZ_HORI_MIN_DISTANCE    4
///云台以最远距离转
#define PTZ_HORI_MAX_DISTANCE    5
///按照指定速度一直右转
#define PTZ_HORI_RIGHT_KEEP      6
///按照指定速度一直左转
#define PTZ_HORI_LEFT_KEEP       7
///转动到某个角度启动
#define PTZ_HORI_GO_TO_ANGLE_A   8
///转动到某个角度定位
#define PTZ_HORI_GO_TO_ANGLE_B   9

///水平刹车
#define PTZ_HORI_BRAKE           10


///水平重复定位
#define PTZ_HORI_REPEAT_LOCATE_A 11
#define PTZ_HORI_REPEAT_LOCATE_B 12
#define PTZ_HORI_REPEAT_LOCATE_C 13

///水平减速刹车
#define PTZ_HORI_DEC_BRAKE_A  14
#define PTZ_HORI_DEC_BRAKE_B  15

///角度增量式控制，即一共向某一个方向转动多少度
///向右
#define PTZ_HORI_RIGHT_ANGLE_INC     16
///向左
#define PTZ_HORI_LEFT_ANGLE_INC      17







///云台垂直停止
#define PTZ_VERT_STOP       0
///云台垂直启动
#define PTZ_VERT_START      1


///云台垂直按照指定速度一直向上转动
#define PTZ_VERT_UP_KEEP       2
///云台垂直按照指定速度一直向下转动
#define PTZ_VERT_DOWN_KEEP     3
///转动到指定角度
#define PTZ_VERT_ANGLE         4

///转到指定角度启动
#define PTZ_VERT_GO_TO_ANGLE_A 5
///转动到某个角度定位
#define PTZ_VERT_GO_TO_ANGLE_B 6
///垂直刹车
#define PTZ_VERT_BRAKE         7

///垂直重复定位
#define PTZ_VERT_REPEAT_LOCATE_A 8
#define PTZ_VERT_REPEAT_LOCATE_B 9
#define PTZ_VERT_REPEAT_LOCATE_C 10

///垂直减速刹车
#define PTZ_VERT_DEC_BRAKE_A  11
#define PTZ_VERT_DEC_BRAKE_B  12






///云台水平停止延时
#define PTZ_HORI_STOP_TIME 300u
///云台垂直停止延时
#define PTZ_VERT_STOP_TIME 300u

void ptz_location_return_return(char hori_vert);
void ptz_location_return_angle_save(char hori_vert, unsigned char *data, char dev);
char ptz_hori_rotate_plan(char rot_mode);
char ptz_vert_rotate_plan(char rot_mode);

//void init_rotate_module();

#endif