using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Team.FFFeederService.Models;
namespace Team.FFFeederService.Interfaces
{
public interface IVoiceCoilMotorFeeder : IFeeder
{
///
/// 选择使用振动集
///
///
///
void SelectShakeParam(int id);
///
/// 选择使用振动集
///
///
///
///
Task SelectShakeParamAsync(int id);
///
/// 将振动集参数存储至非易失内存中
///
///
///
Task SaveShakeSetAsync();
///
/// 查询当前选择的振动集
///
///
int GetSelectedShakeParam();
///
/// 查询当前选择的振动集
///
///
Task GetSelectedShakeParamAsync();
///
/// 选择要使用的振动集(1~26)
///
///
///
bool LoadShakeSet(int v);
///
/// 选择要使用的振动集(1~26)
///
///
///
Task LoadShakeSetAsync(int v);
///
/// 执行平台振动
///
///
///
Task StartAction(int index, int? timespan = null);
///
/// 向前
///
///
///
Task RunToLeftAsync(int? timespan = null);
///
/// 左前
///
///
///
Task RunToBottomLeftAsync(int? timespan = null);
///
/// 右前
///
///
///
Task RunToTopLeftAsync(int? timespan = null);
///
/// 向左
///
///
///
Task RunToBottomAsync(int? timespan = null);
///
/// 向右
///
///
///
Task RunToTopAsync(int? timespan = null);
///
/// 向后
///
///
///
Task RunToRightAsync(int? timespan = null);
///
/// 左后
///
///
///
Task RunToBottomRightAsync(int? timespan = null);
///
/// 右后
///
///
///
Task RunToTopRightAsync(int? timespan = null);
///
/// 散开
///
///
///
Task RunToFlipAsync(int? timespan = null);
///
/// 横向聚中
///
/// 持续时间
///
Task RunToInnerVerticalAsync(int? timespan = null);
///
/// 纵向聚中
///
///
///
Task RunToInnerHorizonAsync(int? timespan = null);
///
/// 读一个振动动作值
///
///
///
SingleActionParam GetShakeGroupValue(int index);
///
/// 读一个振动动作值
///
///
///
Task GetShakeGroupValueAsync(int index);
///
/// 获取单个动作持续时间
///
///
///
int GetDuration(int id);
///
/// 获取单个动作持续时间
///
///
///
Task GetDurationAsync(int id);
///
/// 写入振动单个参数
///
///
///
///
///
Task SetShakeParametersAsync(int selectedShakeMotion, int id, string value);
///
/// 写入振动单个参数
///
///
///
///
void SetShakeParameters(int selectedShakeMotion, int id, string value);
///
/// 写入平台振动完成参数
///
///
///
///
Task SetShakeParametersAsync(int selectedShakeMotion, string value);
///
/// 写入平台振动完成参数
///
///
///
void SetShakeParameters(int selectedShakeMotion, string value);
///
/// 写入完成的平台振动参数
///
///
///
void SetShakeParameters(int selectedShakeMotion, SingleActionParam value);
///
/// 写入完成的平台振动参数
///
///
///
///
Task SetShakeParametersAsync(int selectedShakeMotion, SingleActionParam value);
///
/// 获取完整的平台振动参数
///
///
///
SingleActionParam GetShakeParameters(int selectedShakeMotion);
///
/// 获取完整的平台振动参数
///
///
///
Task GetShakeParametersAsync(int selectedShakeMotion);
///
/// 获取平台震动超时时间
///
///
Task GetPlatShakeTimeoutAsync();
///
/// 设置平台震动超时时间
///
///
///
Task SetPlatShakeTimeoutAsync(ushort upperFeederShakeTimeout);
///
/// 执行料斗供料
///
///
Task ShakeUpAsync();
///
/// 执行供料
///
///
int ShakeUp();
///
/// 停止料斗振动
///
///
Task StopOutputAsync();
///
/// 停止料斗振动
///
void StopOutput();
///
/// 获取料斗参数
///
///
///
Task GetUpperParamAsync(int selectedSequence);
///
/// 写入输出参数
///
///
///
///
Task WriteOutputParamAsync(int groupId, HopperFeederParam param);
///
/// 获取料斗震动超时时间
///
///
Task GetUpperFeederShakeTimeoutAsync();
///
/// 设置料斗震动超时时间
///
///
///
Task SetUpperFeederShakeTimeoutAsync(ushort upperFeederShakeTimeout);
///
/// 执行料斗动作
///
///
///
///
///
Task OutputAsync(int id, int? timespan = null);
///
/// 执行料斗动作
///
///
///
///
int Output(int id, int? timespan = null);
///
/// /获取取料斗动作状态
///
///
bool GetOutputStatus();
///
/// /获取取料斗动作状态
///
///
Task GetOutputStatusAsync();
///
/// 停止序列
///
///
Task StopOneSequenceAsync();
///
/// 执行一个序列
///
///
///
Task StartOneSequenceAsync(int id);
///
/// 获取单个序列集
///
///
///
Task GetSequenceGroupAsync(int id);
///
/// 写入序列参数
///
///
///
void SetSequence(int groupId, int actionId, SingleSequenceAction singleSequenceAction);
///
/// 写入序列参数
///
///
///
///
///
Task SetSequenceAsync(int groupId, int actionId, SingleSequenceAction singleSequenceAction);
///
/// 将序列参数存储至非易失内存中
///
///
///
Task SaveSequenceAsync();
///
/// 查询当前选择的序列
///
///
int GetSelectedSequence();
///
/// 查询当前选择的序列
///
///
Task GetSelectedSequenceAsync();
///
/// 设置背光打开超时时间
///
///
void SetLightTimeOut(ushort timeout);
///
/// 设置背光打开超时时间
///
///
///
Task SetLightTimeOutAsync(ushort timeout);
///
/// 获取背光打开超时时间
///
///
ushort GetLightTimeout();
///
/// 获取背光打开超时时间
///
///
Task GetLightTimeoutAsync();
///
/// 设置背光亮度
///
///
///
Task SetLightValueAsync(ushort lightValue);
///
/// 设置背光亮度
///
///
///
Task SetLightValueToBufferAsync(ushort lightValue);
///
/// 设置背光闪烁时间
///
///
///
Task SetBackLightFlashTimeAsync(ushort backLightFlash);
///
/// 获取背光状态
///
///
///
bool QueryLightState();
///
/// 获取背光状态
///
///
///
Task QueryLightStateAsync();
///
/// 获取背光亮度
///
///
Task GetLightBrightnessAsync();
///
/// 获取背光闪烁时间
///
///
Task GetBackLightFlashTimeAsync();
///
/// 执行命令
///
///
///
///
Task RunFromCommand(string command, int? timespan = null);
///
/// 读单个参数值
///
///
///
string GetSingleParamValue(int id);
///
/// 读单个参数值
///
///
///
Task GetSingleParamValueAsync(int id);
///
/// 设置IP地址
///
///
///
///
///
Task SetIpAddressAsync(string ip, string subNetMask, int port);
///
/// 设置IP地址
///
///
///
///
void SetIpAddress(string ip, string subNetMask, int port);
///
/// 获取输入触发参数
///
///
///
///
Task GetInputTrigger(int i);
///
/// 设置输入触发参数
///
///
///
///
///
Task SetInputTrigger(int id, int value);
///
/// 将所有参数存储至非易失内存中
///
///
///
Task SaveAllSetAsync();
///
/// 将全局参数存储至非易失内存中
///
///
///
Task SaveGlobalSetAsync();
}
}