Vlastní driver
Driver je .NET knihovna (DLL). QInsight ji objeví automaticky — stačí, aby
třída implementovala rozhraní IDriverBase a DLL ležela ve složce
Drivers vedle QInsight.exe. Žádná další registrace není potřeba.
Kostra driveru
Prakticky se dědí z hotové základní třídy DriverBase, která obstará
společné věci (protokoly, stavy, nastavení):
public class MyDeviceDriver : DriverBase
{
public MyDeviceDriver() // bezparametrový konstruktor je povinný
{
Specification = new SpecificationBase
{
Name = "MyDeviceDriver",
Label = "My Device",
Version = "1.0.0",
};
}
public override void SetConfiguration()
{
// rozparsovat RawSettings ("klíč=hodnota;...") do vlastních polí
}
public override async Task StartAsync(CancellationToken ct)
{
// otevřít spojení, spustit čtecí smyčku,
// přijatá data předávat protokolům
}
public override async Task StopAsync(CancellationToken ct)
{
// ukončit komunikaci a uvolnit spojení
}
public override void Send<T>(T data) { /* odeslání dat zařízení */ }
public override Task SendAsync<T>(T data, CancellationToken ct)
=> Task.Run(() => Send(data), ct);
public override void Dispose() { /* úklid */ }
}
O stavu driver informuje voláním SetState(...) — stav se propisuje do
okna Logs i do UI.
Volitelné schopnosti
Podle potřeby driver implementuje další rozhraní:
IReplayDriver— driver umí přehrávat záznam (pauza, seek, rychlost…),IProtocolVariableSinkDriver— driver hodnoty odebírá (např. logger),IProtocolVariableCommandDriver— driver přijímá příkazy proměnných.
Nasazení
Zkompilovanou DLL nakopírujte do složky Drivers. Po restartu QInsight se
driver objeví v nabídce Home → Project Configuration → Drivers.
Do projektu se ukládá jen reference (jméno + verze), takže projekt lze
přenést na jiný počítač se stejnou sadou driverů.

