137 lines
5.8 KiB
C
137 lines
5.8 KiB
C
#ifndef _HIK_NET_SDK_D_H_
|
||
#define _HIK_NET_SDK_D_H_
|
||
|
||
#ifndef LIBRARY_SUPPORT_ONLY_HEIKA
|
||
|
||
#include "hk-net-sdk.h"
|
||
|
||
#ifdef __cplusplus
|
||
extern "C"
|
||
{
|
||
#endif
|
||
|
||
//广播发现接口
|
||
HK_NET_API hk_net_dev_d_discovery_init(PHKHANDLE p_h, DISCOVERY_DEVICE_CB_FUNC p_func, void *p_user);
|
||
HK_NET_API hk_net_dev_d_discovery_send_inquiry(HKHANDLE h);
|
||
HK_NET_API hk_net_dev_d_discovery_stop(PHKHANDLE p_h);
|
||
|
||
//总的初始化与反初始化接口,无论设备多少只调用一次
|
||
HK_NET_API hk_net_dev_d_sdk_init(const char *pc_path);//"/usr/local/HKNetDeviceSDK"
|
||
HK_NET_API hk_net_dev_d_sdk_uninit();
|
||
|
||
HK_NET_API hk_net_dev_d_get_last_error(unsigned int *pui_last_error);
|
||
|
||
HK_NET_API hk_net_dev_d_init(PHKHANDLE p_h);
|
||
HK_NET_API hk_net_dev_d_uninit(PHKHANDLE p_h);
|
||
|
||
HK_NET_API hk_net_dev_d_login(HKHANDLE h, const char *pc_ip, const char *pc_user, const char *pc_pwd);
|
||
HK_NET_API hk_net_dev_d_logout(HKHANDLE h);
|
||
|
||
HK_NET_API hk_net_dev_d_reboot(HKHANDLE h);
|
||
|
||
//获取温度矩阵宽高
|
||
HK_NET_API hk_net_dev_d_get_temperature_resolution(HKHANDLE h, unsigned short *pus_width, unsigned short *pus_height);
|
||
|
||
//获取红外/可见光实时图像
|
||
HK_NET_API hk_net_dev_d_set_realplay_callback(HKHANDLE h, REALTIME_VIDEO_CB_FUNC p_func, void *p_user);
|
||
HK_NET_API hk_net_dev_d_start_realplay(HKHANDLE h, unsigned int ui_channel_no, int i_stream_type);//i_stream_type: STREAM_TYPE_MAIN/STREAM_TYPE_SUB
|
||
HK_NET_API hk_net_dev_d_stop_realplay(HKHANDLE h, unsigned int ui_channel_no);
|
||
|
||
//实时温度流
|
||
HK_NET_API hk_net_dev_d_set_temperature_stream_callback(HKHANDLE h, REALTIME_TEMPERATURE_STREAM_CB_FUNC p_func, void *p_user);
|
||
HK_NET_API hk_net_dev_d_start_temperature_stream_realplay(HKHANDLE h);
|
||
HK_NET_API hk_net_dev_d_stop_temperature_stream_realplay(HKHANDLE h);
|
||
|
||
//预置位测温规则,任意预置位其规则数量必须小于30个
|
||
HK_NET_API hk_net_dev_d_del_temperature_rules(HKHANDLE h, unsigned int ui_preset_no);
|
||
HK_NET_API hk_net_dev_d_set_temperature_rules(HKHANDLE h, unsigned int ui_preset_no, float pf_emiss, float pf_dist, const char *pc_rules, unsigned int ui_rules_len);
|
||
HK_NET_API hk_net_dev_d_get_temperature_rules(HKHANDLE h, unsigned int ui_preset_no, float *pf_emiss, float *pf_dist, char *pc_rules, unsigned int *pui_rules_len);
|
||
|
||
//非预置位测温规则,一经设置永久生效,不随预置位的变化而变化,测温规则ID从101开始,切不可与预置位测温规则ID相冲突
|
||
//非预置位测温规则与任意预置位测温规则总数相加不能大于30,否则不会应用
|
||
HK_NET_API hk_net_dev_d_del_private_temperature_rules(HKHANDLE h);
|
||
HK_NET_API hk_net_dev_d_set_private_temperature_rules(HKHANDLE h, float pf_emiss, float pf_dist, const char *pc_rules, unsigned int ui_rules_len);
|
||
HK_NET_API hk_net_dev_d_get_private_temperature_rules(HKHANDLE h, float *pf_emiss, float *pf_dist, char *pc_rules, unsigned int *pui_rules_len);
|
||
|
||
#ifndef _HK_CALLBACK_RULE_INFO_DEF_
|
||
#define _HK_CALLBACK_RULE_INFO_DEF_
|
||
typedef struct STRU_CALLBACK_RULE_INFO
|
||
{
|
||
int id;
|
||
char pc_rule[128];
|
||
float f_max;
|
||
int i_max_x;
|
||
int i_max_y;
|
||
|
||
float f_min;
|
||
int i_min_x;
|
||
int i_min_y;
|
||
|
||
float f_avg;
|
||
}LOCAL_CALLBACK_RULE_INFO;
|
||
|
||
typedef struct STRU_CALLBACK_RULES_INFO
|
||
{
|
||
unsigned int ui_preset_no;
|
||
unsigned int ui_rule_counts;
|
||
LOCAL_CALLBACK_RULE_INFO st_rule_result[30];
|
||
LOCAL_CALLBACK_RULE_INFO st_fullscreen;
|
||
}LOCAL_CALLBACK_RULES_INFO;
|
||
|
||
typedef bool(CALLBACK *RULES_TEMPERATURE_CB_FUNC)(LOCAL_CALLBACK_RULES_INFO st_rules_temperature_data, void *p_user_data);
|
||
#endif
|
||
|
||
HK_NET_API hk_net_dev_d_set_temperature_rules_callback(HKHANDLE h, RULES_TEMPERATURE_CB_FUNC pc_func, void *pc_user);
|
||
|
||
//抓图
|
||
HK_NET_API hk_net_dev_d_capture_jpg(HKHANDLE h, unsigned char ui_channel_no, char *pc_name);
|
||
HK_NET_API hk_net_dev_d_capture_temperature_data(HKHANDLE h, char *puc_temperature_data, unsigned int *pui_temp_len);
|
||
//pc_data, 14位时间,例:"20230108151515"
|
||
HK_NET_API hk_net_dev_d_append_temperature_to_national_grid_image(HKHANDLE h, const char *pc_date, const char *pc_file);
|
||
|
||
//调色板设置
|
||
HK_NET_API hk_net_dev_d_set_palette(HKHANDLE h, int i_palette);
|
||
HK_NET_API hk_net_dev_d_get_palette(HKHANDLE h, int *pi_palette);
|
||
|
||
//调焦-
|
||
HK_NET_API hk_net_dev_d_zoom_in(HKHANDLE h, unsigned int ui_channel_no, int i_stop);
|
||
//调焦+
|
||
HK_NET_API hk_net_dev_d_zoom_out(HKHANDLE h, unsigned int ui_channel_no, int i_stop);
|
||
//聚焦-
|
||
HK_NET_API hk_net_dev_d_focus_near(HKHANDLE h, unsigned int ui_channel_no, int i_stop);
|
||
//聚焦+
|
||
HK_NET_API hk_net_dev_d_focus_far(HKHANDLE h, unsigned int ui_channel_no, int i_stop);
|
||
//光圈-
|
||
HK_NET_API hk_net_dev_d_iris_close(HKHANDLE h, unsigned int ui_channel_no, int i_stop);
|
||
//光圈+
|
||
HK_NET_API hk_net_dev_d_iris_open(HKHANDLE h, unsigned int ui_channel_no, int i_stop);
|
||
|
||
//云台控制
|
||
HK_NET_API hk_net_dev_d_ptz_control(HKHANDLE h, int ptz_control_type, int i_speed, int i_stop);//i_speed: 1~7
|
||
|
||
//预置点设置
|
||
HK_NET_API hk_net_dev_d_ptz_set_preset(HKHANDLE h, int i_preset_index);
|
||
//召回预置点
|
||
HK_NET_API hk_net_dev_d_ptz_goto_preset(HKHANDLE h, int i_preset_index);
|
||
//删除预置点
|
||
HK_NET_API hk_net_dev_d_ptz_del_preset(HKHANDLE h, int i_preset_index);
|
||
//清空预置点
|
||
HK_NET_API hk_net_dev_d_ptz_clear_all_preset(HKHANDLE h);
|
||
|
||
//预置位自动校准
|
||
HK_NET_API hk_net_dev_d_preset_auto_calibrate(HKHANDLE h);
|
||
|
||
//白光补光灯模式设置,黑卡相机没有白光补光灯,此接口固定返回false
|
||
HK_NET_API hk_net_dev_d_set_white_light_fill_light_mode(HKHANDLE h, int i_mode);
|
||
|
||
//白光补光开关,黑卡相机没有白光补光灯,此接口固定返回false
|
||
HK_NET_API hk_net_dev_d_white_light_ctrl(HKHANDLE h, int i_open);
|
||
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
#endif
|
||
#endif
|