提交 e7f2fd85 编写于 作者: A Andrew Phelps

implement additional code review feedback

上级 f9d9682b
......@@ -13,14 +13,14 @@ namespace DeviceApiTester.Commands.Pwm
[Option('d', "driver", HelpText = "The PwmDriver to use: { Windows | Unix }", Required = false, Default = PwmDriverType.Windows)]
public PwmDriverType Driver { get; set; }
[Option("pwm-chip", HelpText = "The PWM chip (controller) to use", Required = false, Default = 0)]
[Option("chip", HelpText = "The PWM chip (controller) to use", Required = false, Default = 0)]
public int PwmChip { get; set; }
[Option("pwm-channel", HelpText = "The PWM channel (pin) to use", Required = false, Default = 0)]
[Option("channel", HelpText = "The PWM channel (pin) to use", Required = false, Default = 0)]
public int PwmChannel { get; set; }
[Option('c', "dutycycle", HelpText = "The duty cycle for PWM output from 1-100", Required = false, Default = 50)]
public int DutyCycle { get; set; }
[Option('c', "dutycycle", HelpText = "The duty cycle for PWM output from 1.0-100.0", Required = false, Default = 50.0)]
public double DutyCycle { get; set; }
[Option('f', "frequency", HelpText = "The frequency in hertz", Required = false, Default = 400.0)]
public double Frequency { get; set; }
......@@ -29,7 +29,9 @@ namespace DeviceApiTester.Commands.Pwm
{
PwmDriver pwmDriver = DriverFactory.CreateFromEnum<PwmDriver, PwmDriverType>(this.Driver);
return new PwmController(pwmDriver);
return pwmDriver != null
? new PwmController(pwmDriver)
: new PwmController();
}
}
}
\ No newline at end of file
......@@ -9,6 +9,9 @@ namespace DeviceApiTester.Commands.Pwm
{
public enum PwmDriverType
{
[ImplementationType(null)]
Default,
[ImplementationType(typeof(Windows10PwmDriver))]
Windows,
......
......@@ -24,11 +24,11 @@ namespace DeviceApiTester.Commands.Pwm
{
using (var pwm = CreatePwmController())
{
Console.WriteLine("Enabling PWM output with chip {0} / channel {1}, {2}% duty cycle @ {3}hz for {4} seconds ", PwmChip, PwmChip, DutyCycle, Frequency, Seconds);
Console.WriteLine($"Enabling PWM output with chip {PwmChip} / channel {PwmChannel}, {DutyCycle}% duty cycle @ {Frequency}hz for {Seconds} seconds ");
pwm.OpenChannel(PwmChip, PwmChannel);
pwm.StartWriting(PwmChip, PwmChannel, Frequency, DutyCycle);
await Task.Delay(Seconds * 1000);
await Task.Delay(TimeSpan.FromSeconds(Seconds));
pwm.StopWriting(PwmChip, PwmChannel);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册