using Bodk.Device.Storage.Attributes;
using Bodk.Device.Storage.EventArgs;
using Bodk.Device.Storage.Modules;
using Bodk.Device.Storage.Summary;
namespace Bodk.Device.Storage;
///
/// 液氮存储装置
///
public interface IStorage
{
[Ignore] IReadOnlyList Modules { get; }
[Ignore]
Task Start();
[Ignore]
void Stop();
///
/// 存取位置-圈
///
ushort AccessPositionCircle { get; set; }
///
/// 存取位置-列
///
ushort AccessPositionColumn { get; set; }
///
/// 存取位置-层
///
ushort AccessPositionFloor { get; set; }
///
/// 腔内温度
///
float InCavityTemperature { get; }
///
/// 腔内湿度
///
float InCavityHumidity { get; }
///
/// 液位高度
///
float LiquidLevel { get; }
///
/// 充液口温度
///
float FillPortTemperature { get; }
///
/// 排气口温度
///
float ExhaustPortTemperature { get; }
///
/// 罐体温度
///
float TankTemperature { get; }
///
/// 获取设备摘要
///
///
[Ignore]
StorageSummary GetSummary();
[Ignore]
TypeDescription GetModuleSummary(int moduleId);
[Ignore]
Task InvokeMethod(int moduleId, string methodName, object?[]? parameters);
[Ignore]
object GetPropertyValue(int moduleId, string propertyName);
[Ignore]
void SetPropertyValue(int moduleId, string propertyName, object value);
///
/// 准备
///
///
Task Ready();
///
/// 一键回原
///
///
Task GotoOrigin();
}