public FTDIInterface(int readTimeout, int writeTimeout, SemaphoreSlim locker) { Locker = locker; _ftdi = new FTDI(); _portUpdater = new TaskHolder(); _portUpdater.RegisterAsync(c => updateAwailablePortsLoop(c)).GetAwaiter().GetResult(); Pipe = new FTDIPipe(_ftdi, readTimeout, writeTimeout); openStateCheckingAsyncLoop(); }