Compare commits

...

2 commits

Author SHA1 Message Date
Filip Strajnar 238915b8cd Added frequency to each pin. 2024-09-28 11:18:49 +02:00
Filip Strajnar 2116398f95 Changed name of PinValueModel to PinModel.
Also removed needless prefix for each of it's properties.
2024-09-28 11:12:15 +02:00
4 changed files with 27 additions and 24 deletions

View file

@ -0,0 +1,13 @@
using System.Device.Gpio;
using System.Text.Json.Serialization;
namespace Proculite.GpioRest.Models
{
public class PinModel(int number, double value, int frequency)
{
public int Number { get; set; } = number;
public double Value { get; set; } = value;
public int Frequency { get; set; } = frequency;
}
}

View file

@ -1,12 +0,0 @@
using System.Device.Gpio;
using System.Text.Json.Serialization;
namespace Proculite.GpioRest.Models
{
public class PinValueModel(int pinNumber, double value)
{
public int PinNumber { get; set; } = pinNumber;
public double PinValue { get; set; } = value;
}
}

View file

@ -32,17 +32,13 @@ namespace Proculite.GpioRest.Services
}
}
public PinValueModel CurrentPinValue(int pinNumber)
public PinModel PinValueModelOfPin(int pinNumber)
{
return new PinValueModel(pinNumber, _pwmPins[pinNumber].Value);
PwmWrapper pwmWrapper = _pwmPins[pinNumber];
return new PinModel(pinNumber, pwmWrapper.Value, pwmWrapper.Frequency);
}
public PinValueModel PinValueModelOfPin(int pinNumber)
{
return new PinValueModel(pinNumber, _pwmPins[pinNumber].Value);
}
public PinValueModel[] StateOfAllPins()
public PinModel[] StateOfAllPins()
{
return _pins.Select(PinValueModelOfPin).ToArray();
}
@ -68,25 +64,25 @@ namespace Proculite.GpioRest.Services
_pwmPins[pinNumber].Value = pinValue;
}
public PinValueModel SetPinHighReturning(int pinNumber)
public PinModel SetPinHighReturning(int pinNumber)
{
SetPinHigh(pinNumber);
return PinValueModelOfPin(pinNumber);
}
public PinValueModel SetPinLowReturning(int pinNumber)
public PinModel SetPinLowReturning(int pinNumber)
{
SetPinLow(pinNumber);
return PinValueModelOfPin(pinNumber);
}
public PinValueModel TogglePinReturning(int pinNumber)
public PinModel TogglePinReturning(int pinNumber)
{
TogglePin(pinNumber);
return PinValueModelOfPin(pinNumber);
}
public PinValueModel SetPinReturning(int pinNumber, double pinValue)
public PinModel SetPinReturning(int pinNumber, double pinValue)
{
SetPin(pinNumber, pinValue);
return PinValueModelOfPin(pinNumber);

View file

@ -13,6 +13,12 @@ namespace Proculite.GpioRest.Wrappers
set { _softwarePwmChannel.DutyCycle = value; }
}
public int Frequency
{
get => _softwarePwmChannel.Frequency;
set => _softwarePwmChannel.Frequency = value;
}
public PwmWrapper(int pinNumber, ILogger? logger = null)
{
PinNumber = pinNumber;