From 1cdc8b5d4389338018ecc787e781a3e70d274c67 Mon Sep 17 00:00:00 2001 From: Sander Speetjens Date: Thu, 10 Apr 2025 17:56:22 +0200 Subject: [PATCH] gpio Add release function --- server/gpio/gpio.cpp | 6 ++++++ server/gpio/gpio.hpp | 1 + 2 files changed, 7 insertions(+) diff --git a/server/gpio/gpio.cpp b/server/gpio/gpio.cpp index 1cd9e87..b8abe9e 100644 --- a/server/gpio/gpio.cpp +++ b/server/gpio/gpio.cpp @@ -27,6 +27,7 @@ int gpiod_line_request_set_value(struct gpiod_line_request *request, enum gpiod_line_value gpiod_line_request_get_value(struct gpiod_line_request *request, unsigned int offset) {} +void gpiod_line_request_release(struct gpiod_line_request *request) {} void gpiod_request_config_free(struct gpiod_request_config *config){} void gpiod_line_config_free(struct gpiod_line_config *config){} void gpiod_line_settings_free(struct gpiod_line_settings *settings){} @@ -55,6 +56,11 @@ GPIO::GPIO(Direction dir, uint8_t gpio, bool state, QObject* parent) } } +GPIO::~GPIO() +{ + gpiod_line_request_release(m_request); +} + void GPIO::set_value(bool value) { #if __aarch64__ diff --git a/server/gpio/gpio.hpp b/server/gpio/gpio.hpp index 67a3038..daffa23 100644 --- a/server/gpio/gpio.hpp +++ b/server/gpio/gpio.hpp @@ -37,6 +37,7 @@ class GPIO : public QObject { Output }; explicit GPIO(Direction dir, uint8_t gpio, bool state = false, QObject* parent = nullptr); + ~GPIO(); void set_value(bool val); bool value();