491 lines
14 KiB
C#
491 lines
14 KiB
C#
using System;
|
||
using System.Runtime.InteropServices;
|
||
|
||
namespace JoyD.Windows.CS.Toprie
|
||
{
|
||
/// <summary>
|
||
/// 共享数据结构定义类,用于在V8、A8SDK和DeviceManager之间共享
|
||
/// </summary>
|
||
public static class SharedStructures
|
||
{
|
||
// 位置相关结构体
|
||
/// <summary>
|
||
/// 区域位置结构体
|
||
/// </summary>
|
||
public struct AreaPos
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 区域左上角X坐标
|
||
/// </summary>
|
||
public int x;
|
||
/// <summary>
|
||
/// 区域左上角Y坐标
|
||
/// </summary>
|
||
public int y;
|
||
/// <summary>
|
||
/// 区域宽度
|
||
/// </summary>
|
||
public int width;
|
||
/// <summary>
|
||
/// 区域高度
|
||
/// </summary>
|
||
public int height;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 点位置结构体
|
||
/// </summary>
|
||
public struct SpotPos
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 点的X坐标
|
||
/// </summary>
|
||
public int x;
|
||
/// <summary>
|
||
/// 点的Y坐标
|
||
/// </summary>
|
||
public int y;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 线位置结构体
|
||
/// </summary>
|
||
public struct LinePos
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 起始点X坐标
|
||
/// </summary>
|
||
public int sta_x;
|
||
/// <summary>
|
||
/// 起始点Y坐标
|
||
/// </summary>
|
||
public int sta_y;
|
||
/// <summary>
|
||
/// 结束点X坐标
|
||
/// </summary>
|
||
public int end_x;
|
||
/// <summary>
|
||
/// 结束点Y坐标
|
||
/// </summary>
|
||
public int end_y;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图像位置结构体
|
||
/// </summary>
|
||
public struct ImagePos
|
||
{
|
||
/// <summary>
|
||
/// 区域位置数组,最多支持6个区域
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||
public AreaPos[] area;
|
||
/// <summary>
|
||
/// 点位置数组,最多支持6个点
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||
public SpotPos[] spot;
|
||
/// <summary>
|
||
/// 线位置
|
||
/// </summary>
|
||
public LinePos line;
|
||
}
|
||
|
||
// 温度相关结构体
|
||
/// <summary>
|
||
/// 区域温度结构体
|
||
/// </summary>
|
||
public struct AreaTemp
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 最高温度值
|
||
/// </summary>
|
||
public int max_temp;
|
||
/// <summary>
|
||
/// 最高温度点的X坐标
|
||
/// </summary>
|
||
public int max_temp_x;
|
||
/// <summary>
|
||
/// 最高温度点的Y坐标
|
||
/// </summary>
|
||
public int max_temp_y;
|
||
/// <summary>
|
||
/// 最低温度值
|
||
/// </summary>
|
||
public int min_temp;
|
||
/// <summary>
|
||
/// 最低温度点的X坐标
|
||
/// </summary>
|
||
public int min_temp_x;
|
||
/// <summary>
|
||
/// 最低温度点的Y坐标
|
||
/// </summary>
|
||
public int min_temp_y;
|
||
/// <summary>
|
||
/// 平均温度值
|
||
/// </summary>
|
||
public int ave_temp;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 点温度结构体
|
||
/// </summary>
|
||
public struct SpotTemp
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 温度值
|
||
/// </summary>
|
||
public int temp;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 线温度结构体
|
||
/// </summary>
|
||
public struct LineTemp
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 最高温度值
|
||
/// </summary>
|
||
public int max_temp;
|
||
/// <summary>
|
||
/// 最高温度点的X坐标
|
||
/// </summary>
|
||
public int max_temp_x;
|
||
/// <summary>
|
||
/// 最高温度点的Y坐标
|
||
/// </summary>
|
||
public int max_temp_y;
|
||
/// <summary>
|
||
/// 最低温度值
|
||
/// </summary>
|
||
public int min_temp;
|
||
/// <summary>
|
||
/// 最低温度点的X坐标
|
||
/// </summary>
|
||
public int min_temp_x;
|
||
/// <summary>
|
||
/// 最低温度点的Y坐标
|
||
/// </summary>
|
||
public int min_temp_y;
|
||
/// <summary>
|
||
/// 平均温度值
|
||
/// </summary>
|
||
public int ave_temp;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 全局温度结构体
|
||
/// </summary>
|
||
public struct GlobaTemp
|
||
{
|
||
/// <summary>
|
||
/// 最高温度值
|
||
/// </summary>
|
||
public int max_temp;
|
||
/// <summary>
|
||
/// 最高温度点的X坐标
|
||
/// </summary>
|
||
public int max_temp_x;
|
||
/// <summary>
|
||
/// 最高温度点的Y坐标
|
||
/// </summary>
|
||
public int max_temp_y;
|
||
/// <summary>
|
||
/// 最低温度值
|
||
/// </summary>
|
||
public int min_temp;
|
||
/// <summary>
|
||
/// 最低温度点的X坐标
|
||
/// </summary>
|
||
public int min_temp_x;
|
||
/// <summary>
|
||
/// 最低温度点的Y坐标
|
||
/// </summary>
|
||
public int min_temp_y;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 图像温度结构体
|
||
/// </summary>
|
||
public struct ImageTemp
|
||
{
|
||
/// <summary>
|
||
/// 区域温度数组,最多支持6个区域
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||
public AreaTemp[] area;
|
||
/// <summary>
|
||
/// 点温度数组,最多支持6个点
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 6)]
|
||
public SpotTemp[] spot;
|
||
/// <summary>
|
||
/// 线温度
|
||
/// </summary>
|
||
public LineTemp line;
|
||
/// <summary>
|
||
/// 全局温度
|
||
/// </summary>
|
||
public GlobaTemp globa;
|
||
}
|
||
|
||
// 配置相关结构体
|
||
/// <summary>
|
||
/// 邮件服务器配置结构体
|
||
/// </summary>
|
||
public struct EmailServer
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 收件人邮箱地址
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] recv_addr;
|
||
/// <summary>
|
||
/// 发件人邮箱地址
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] send_addr;
|
||
/// <summary>
|
||
/// 发件人邮箱密码
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] send_pwd;
|
||
}
|
||
|
||
/// <summary>
|
||
/// TFTP服务器配置结构体
|
||
/// </summary>
|
||
public struct TftpServer
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// TFTP服务器地址
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] tftp_addr;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 网络以太网配置结构体
|
||
/// </summary>
|
||
public struct NetworkEth
|
||
{
|
||
/// <summary>
|
||
/// 启用状态,0表示禁用,1表示启用
|
||
/// </summary>
|
||
public int enable;
|
||
/// <summary>
|
||
/// 静态IP地址
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] static_ip;
|
||
/// <summary>
|
||
/// 子网掩码
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] netmask;
|
||
/// <summary>
|
||
/// 默认网关
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] gateway;
|
||
/// <summary>
|
||
/// 主DNS服务器地址
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] dns1;
|
||
/// <summary>
|
||
/// 备DNS服务器地址
|
||
/// </summary>
|
||
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 20)]
|
||
public char[] dns2;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 环境参数结构体
|
||
/// </summary>
|
||
public struct EnvirParam
|
||
{
|
||
/// <summary>
|
||
/// 计算方法
|
||
/// </summary>
|
||
public int method;
|
||
/// <summary>
|
||
/// 参数编号
|
||
/// </summary>
|
||
public int num;
|
||
/// <summary>
|
||
/// 发射率
|
||
/// </summary>
|
||
public float emissivity;
|
||
/// <summary>
|
||
/// 环境温度
|
||
/// </summary>
|
||
public float airTemp;
|
||
/// <summary>
|
||
/// 目标温度
|
||
/// </summary>
|
||
public float targetTemp;
|
||
/// <summary>
|
||
/// 大气透过率
|
||
/// </summary>
|
||
public float atmosTrans;
|
||
/// <summary>
|
||
/// 测量距离
|
||
/// </summary>
|
||
public float distance;
|
||
/// <summary>
|
||
/// 红外温度
|
||
/// </summary>
|
||
public float infraredTemp;
|
||
/// <summary>
|
||
/// 红外辐射率
|
||
/// </summary>
|
||
public float infraredRadia;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 报警参数结构体
|
||
/// </summary>
|
||
public struct AlarmParam
|
||
{
|
||
/// <summary>
|
||
/// 报警方法
|
||
/// </summary>
|
||
public int method;
|
||
/// <summary>
|
||
/// 参数编号
|
||
/// </summary>
|
||
public int num;
|
||
/// <summary>
|
||
/// 激活状态
|
||
/// </summary>
|
||
public int active;
|
||
/// <summary>
|
||
/// 报警条件
|
||
/// </summary>
|
||
public int condition;
|
||
/// <summary>
|
||
/// 截图功能
|
||
/// </summary>
|
||
public int captrue;
|
||
/// <summary>
|
||
/// 禁用校准
|
||
/// </summary>
|
||
public int disableCalib;
|
||
/// <summary>
|
||
/// 邮件报警
|
||
/// </summary>
|
||
public int email;
|
||
/// <summary>
|
||
/// 数字输出
|
||
/// </summary>
|
||
public int digital;
|
||
/// <summary>
|
||
/// FTP上传
|
||
/// </summary>
|
||
public int ftp;
|
||
/// <summary>
|
||
/// 报警阈值
|
||
/// </summary>
|
||
public float threshold;
|
||
/// <summary>
|
||
/// 滞后值
|
||
/// </summary>
|
||
public float hysteresis;
|
||
/// <summary>
|
||
/// 阈值时间
|
||
/// </summary>
|
||
public int thresholeTime;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 焦距参数结构体
|
||
/// </summary>
|
||
public struct FocusParam
|
||
{
|
||
/// <summary>
|
||
/// 对焦方法
|
||
/// </summary>
|
||
public int method;
|
||
/// <summary>
|
||
/// 对焦区域X坐标
|
||
/// </summary>
|
||
public int x;
|
||
/// <summary>
|
||
/// 对焦区域Y坐标
|
||
/// </summary>
|
||
public int y;
|
||
/// <summary>
|
||
/// 对焦区域宽度
|
||
/// </summary>
|
||
public int width;
|
||
/// <summary>
|
||
/// 对焦区域高度
|
||
/// </summary>
|
||
public int height;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 时间参数结构体
|
||
/// </summary>
|
||
public struct TimeParam
|
||
{
|
||
/// <summary>
|
||
/// 年份
|
||
/// </summary>
|
||
public int year;
|
||
/// <summary>
|
||
/// 月份
|
||
/// </summary>
|
||
public char month;
|
||
/// <summary>
|
||
/// 日期
|
||
/// </summary>
|
||
public char day;
|
||
/// <summary>
|
||
/// 小时
|
||
/// </summary>
|
||
public char hour;
|
||
/// <summary>
|
||
/// 分钟
|
||
/// </summary>
|
||
public char minute;
|
||
/// <summary>
|
||
/// 秒
|
||
/// </summary>
|
||
public char second;
|
||
}
|
||
}
|
||
} |