From 98cf010c4b166dfbff07d9a0b83240dc8a68a3bc Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Fri, 23 Dec 2022 20:14:51 +0100 Subject: [PATCH] Also disable the other buttons temporarily. --- CMakeLists.txt | 6 +++--- src/relais.cpp | 10 +++++++++- src/relais.h | 4 +++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cc6ca64..29520c3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -7,13 +7,13 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -fno-exceptions") # Initialise pico_sdk from installed location # (note this can come from environment, CMake cache etc) -#set(PICO_SDK_PATH "/usr/share/pico-sdk") -set(PICO_SDK_PATH "/home/martin/pico/pico-sdk") +set(PICO_SDK_PATH "/usr/share/pico-sdk") +#set(PICO_SDK_PATH "/home/martin/pico/pico-sdk") # Pull in Raspberry Pi Pico SDK (must be before project) include("cmake/pico_sdk_import.cmake") -project(gbmanager VERSION "1.0.2" LANGUAGES C CXX ASM) +project(gbmanager VERSION "1.0.3" LANGUAGES C CXX ASM) # Initialise the Raspberry Pi Pico SDK pico_sdk_init() diff --git a/src/relais.cpp b/src/relais.cpp index 9144eb2..980b8f4 100644 --- a/src/relais.cpp +++ b/src/relais.cpp @@ -14,14 +14,22 @@ void Relais::activate(bool active) { lastState = active; + gpio_set_irq_enabled_with_callback(BUTTON_1_PIN, GPIO_IRQ_EDGE_FALL, false, + callback); + gpio_set_irq_enabled_with_callback(BUTTON_2_PIN, GPIO_IRQ_EDGE_FALL, false, + callback); gpio_set_irq_enabled_with_callback(BUTTON_3_PIN, GPIO_IRQ_EDGE_FALL, false, callback); gpio_put(gpio, !active); sleep_ms(100); + gpio_set_irq_enabled_with_callback(BUTTON_1_PIN, GPIO_IRQ_EDGE_FALL, true, + callback); + gpio_set_irq_enabled_with_callback(BUTTON_2_PIN, GPIO_IRQ_EDGE_FALL, true, + callback); gpio_set_irq_enabled_with_callback(BUTTON_3_PIN, GPIO_IRQ_EDGE_FALL, true, callback); } void Relais::on() { activate(true); } -void Relais::off() { activate(false); } \ No newline at end of file +void Relais::off() { activate(false); } diff --git a/src/relais.h b/src/relais.h index 1a13cbb..d8d4f9e 100644 --- a/src/relais.h +++ b/src/relais.h @@ -4,6 +4,8 @@ #include "hardware/gpio.h" #include "pico/stdlib.h" +extern const uint BUTTON_1_PIN; // declared in gbmanager.cpp +extern const uint BUTTON_2_PIN; // declared in gbmanager.cpp extern const uint BUTTON_3_PIN; // declared in gbmanager.cpp class Relais { @@ -19,4 +21,4 @@ class Relais { gpio_irq_callback_t callback; }; -#endif \ No newline at end of file +#endif