#ifndef _PTZ_AUTO_RETURN_H_
#define _PTZ_AUTO_RETURN_H_

#include "comm_types.h"
#include "sock_utils.h"
#include "ptz_header_file.h" 
#include "agent_hyt.h"

/***********************************************************************************
                             电机名称宏定义
************************************************************************************/

#define PTZ_AUTO_RETURN_OFF    2
#define PTZ_AUTO_RETURN_ON     1

#define PTZ_AUTO_RETURN_TASK_TIME    5u //任务挂起时间ms

#define PTZ_ANGLE_AUTO_RETURN_TIME_MIN       15//自动回传间隔最小时间ms
#define PTZ_VREF_AUTO_RETURN_TIME_MIN        50//自动回传模拟电压等级
#define PTZ_SPEED_AUTO_RETURN_TIME_MIN       200//自动回传间隔最小时间ms
#define PTZ_VOLTAGE_AUTO_RETURN_TIME_MIN     300//自动回传间隔最小时间ms
#define PTZ_CURRENT_AUTO_RETURN_TIME_MIN     400//自动回传间隔最小时间ms
#define PTZ_TEMP_AUTO_RETURN_TIME_MIN        500//自动回传间隔最小时间ms
#define PTZ_SCA830D07_AUTO_RETURN_TIME_MIN   20//自动回传间隔最小时间ms
//云台自动回传
typedef struct _PtzAutoReturn_ 
{
  char udp_swtich;//UDP自动回传开关
  char uart_422_swtich;//串口422自动回传开关
  //char uart_485_swtich;//串口485由于是单向通信，不能支持实时回传
  
  unsigned short int udp_time;//自动回传间隔时间
  unsigned short int uart_422_time;//自动回传间隔时间
  
  unsigned int udp_timer;//自动回传间隔计时器
  unsigned int uart_422_timer;//自动回传间隔计时器
  
  struct sockaddr_in from;//自动回传的目标IP和目标端口
  socklen_t fromlen;//长度
}PtzAutoReturn;



void ptz_auto_return_off_on(char dev, PTZ_DATA_PACK *pack);
void  init_auto_return_module();
#endif