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)); 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); _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) public PinValueModel SetPinHighReturning(int pinNumber)
{ {
SetPinHigh(pinNumber); SetPinHigh(pinNumber);
@ -80,5 +87,11 @@ namespace Proculite.GpioRest.Services
SetPinLow(pinNumber); SetPinLow(pinNumber);
return PinValueModelOfPin(pinNumber); return PinValueModelOfPin(pinNumber);
} }
public PinValueModel TogglePinReturning(int pinNumber)
{
TogglePin(pinNumber);
return PinValueModelOfPin(pinNumber);
}
} }
} }