static async Task LogPositions(MotorizedFader fader)
 {
     while (true)
     {
         Debug.WriteLine(fader.ActualPosition);
         await Task.Delay(100);
     }
 }
 static async Task App()
 {
     var board = await ConnectionService.Instance.GetFirstDeviceAsync();
     await board.ConnectAsync();
     var hbridge = new DualHalfBridge(board.Pins[0], board.Pins[1], board.Pwm1);
     var fader = new MotorizedFader(board.Pins[2], hbridge);
     fader.K = 20;
     fader.Enabled = true;
     LogPositions(fader).Forget();
     while(!Console.KeyAvailable)
     {
         for(int i=0;i<=10;i++)
         {
             fader.GoalPosition = i/10.0;
             await Task.Delay(500);
             if (i == 0) await Task.Delay(100); // wait extra time to allow full travel
         }
     }
     board.Disconnect();
 }