#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