private async Task EnsureInitializedAsync() { if (isInitialized) { return; } var provider = new PCA9685Provider(this._i2caddr); this._pwm = (await Windows.Devices.Pwm.PwmController.GetControllersAsync(provider)).FirstOrDefault(); if (this._frequency > this._pwm.MaxFrequency) { this._frequency = this._pwm.MaxFrequency; } this._pwm.SetDesiredFrequency(this._frequency); isInitialized = true; }
private void EnsureInitialized() { Task.Run(async() => { if (isInitialized) { return; } var provider = new PCA9685Provider(this._i2caddr); var controllers = await Windows.Devices.Pwm.PwmController.GetControllersAsync(provider); this._pwm = controllers[0]; if (this._frequency > this._pwm.MaxFrequency) { this._frequency = this._pwm.MaxFrequency; } this._pwm.SetDesiredFrequency(this._frequency); isInitialized = true; }).Wait(); }