Compare commits

...

2 commits

2 changed files with 21 additions and 0 deletions

View file

@ -45,5 +45,13 @@ namespace Proculite.GpioRest.Controllers
return Ok(_gpioService.SetPinLowReturning(pinNumber));
}
[HttpPost("pin-value/toggle/{pinNumber}")]
public IActionResult TogglePin(int pinNumber)
{
if (!ModelState.IsValid)
return BadRequest();
return Ok(_gpioService.TogglePinReturning(pinNumber));
}
}
}

View file

@ -69,6 +69,13 @@ namespace Proculite.GpioRest.Services
_gpioController.Write(pinNumber, PinValue.Low);
}
public void TogglePin(int pinNumber)
{
PinValue currentValue = CurrentPinValue(pinNumber);
PinValue newValue = currentValue == PinValue.High ? PinValue.Low : PinValue.High;
_gpioController.Write(pinNumber, newValue);
}
public PinValueModel SetPinHighReturning(int pinNumber)
{
SetPinHigh(pinNumber);
@ -80,5 +87,11 @@ namespace Proculite.GpioRest.Services
SetPinLow(pinNumber);
return PinValueModelOfPin(pinNumber);
}
public PinValueModel TogglePinReturning(int pinNumber)
{
TogglePin(pinNumber);
return PinValueModelOfPin(pinNumber);
}
}
}