SparkControl_API/InstrumentDemo.cs
2025-03-27 16:01:28 +08:00

60 lines
1.8 KiB
C#

using System;
using Tecan.At.Dragonfly.AutomationInterface;
namespace Tecan.At.AutomationInterface.SampleApp
{
internal class InstrumentDemo
{
[Demo("getInstrument <alias>", '1')]
public static void GetInstrumentByAlias(SampleApp sampleApp, SessionData sessionData)
{
Console.Write("Instrument alias? ");
var aliasPart = Console.ReadLine();
sampleApp.GetInstrument(sessionData, aliasPart);
if (sessionData?.SelectedInstrument != null)
{
Console.WriteLine($"Selected instrument: {sessionData.SelectedInstrument.Alias ?? "<N.A.>"}");
}
else
{
Console.WriteLine($"No instrument available");
}
}
[Demo("plateOut", '8')]
public static void PlateOut(SampleApp sampleApp, SessionData sessionData)
{
sessionData.EnforceSetInstrument();
using (AutomationInterfaceFactory.Build())
{
sessionData.SelectedInstrument.PlateOut();
}
}
[Demo("plateIn", '9')]
public static void PlateIn(SampleApp sampleApp, SessionData sessionData)
{
sessionData.EnforceSetInstrument();
using (AutomationInterfaceFactory.Build())
{
sessionData.SelectedInstrument.PlateIn();
}
}
[Demo("getInstrumentState", 'f')]
public static void GetState(SampleApp sampleApp, SessionData sessionData)
{
sessionData.EnforceSetInstrument();
using (AutomationInterfaceFactory.Build())
{
Console.WriteLine($"Instrument state is '{ sessionData.SelectedInstrument.State}'.");
}
}
}
}