Files
JoyD/Windows/CS/Framework4.0/Toprie/Toprie/SharedStructures.cs
2026-01-05 16:23:46 +08:00

491 lines
14 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}
}