From 83bba359cb1be28ef1c561a2d9e80332ec31116b Mon Sep 17 00:00:00 2001 From: Filip Strajnar Date: Wed, 25 Sep 2024 19:35:47 +0200 Subject: [PATCH] Added an endpoint for all pin values. All pin value endpoints now return PinValueModel. --- Proculite.GpioRest/Controllers/GpioController.cs | 8 +++++++- Proculite.GpioRest/Services/GpioService.cs | 11 +++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/Proculite.GpioRest/Controllers/GpioController.cs b/Proculite.GpioRest/Controllers/GpioController.cs index 81a07dc..6a5d14e 100644 --- a/Proculite.GpioRest/Controllers/GpioController.cs +++ b/Proculite.GpioRest/Controllers/GpioController.cs @@ -19,7 +19,13 @@ namespace Proculite.GpioRest.Controllers if (!ModelState.IsValid) return BadRequest(); - return Ok(_gpioService.CurrentPinValue(pinNumber).ToString()); + return Ok(_gpioService.PinValueModelOfPin(pinNumber)); + } + + [HttpGet("pin-value")] + public IActionResult AllPinValues() + { + return Ok(_gpioService.StateOfAllPins()); } } } diff --git a/Proculite.GpioRest/Services/GpioService.cs b/Proculite.GpioRest/Services/GpioService.cs index 031a339..cd59422 100644 --- a/Proculite.GpioRest/Services/GpioService.cs +++ b/Proculite.GpioRest/Services/GpioService.cs @@ -1,4 +1,5 @@ using System.Device.Gpio; +using Proculite.GpioRest.Models; namespace Proculite.GpioRest.Services { @@ -47,5 +48,15 @@ namespace Proculite.GpioRest.Services { return _gpioController.Read(pinNumber); } + + public PinValueModel PinValueModelOfPin(int pinNumber) + { + return new PinValueModel(pinNumber, _gpioController.Read(pinNumber)); + } + + public PinValueModel[] StateOfAllPins() + { + return _pins.Select(PinValueModelOfPin).ToArray(); + } } }