From 7ecbb11321a05f7498f36ff91d08b51fd3d00a62 Mon Sep 17 00:00:00 2001 From: Roland Reichwein Date: Mon, 20 Jan 2025 15:40:14 +0100 Subject: Add StatusLED --- Makefile | 1 + StatusLED.cpp | 10 ++++++++++ StatusLED.h | 28 ++++++++++++++++++++++++++++ debian/click.service | 19 +++++++++++++++++++ debian/control | 1 + 5 files changed, 59 insertions(+) create mode 100644 StatusLED.cpp create mode 100644 StatusLED.h create mode 100644 debian/click.service diff --git a/Makefile b/Makefile index 1d7a760..91ee0c8 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,7 @@ SRCS= \ Touchpad.cpp \ PIDFile.cpp \ Temperature.cpp \ + StatusLED.cpp \ HEADERS=$(SRCS:.cpp=.h) diff --git a/StatusLED.cpp b/StatusLED.cpp new file mode 100644 index 0000000..c3544a5 --- /dev/null +++ b/StatusLED.cpp @@ -0,0 +1,10 @@ +#include "StatusLED.h" + +StatusLED::StatusLED() +{ +} + +void StatusLED::addLED(const LED& led) +{ + m_leds.push_back(led); +} diff --git a/StatusLED.h b/StatusLED.h new file mode 100644 index 0000000..39b19f5 --- /dev/null +++ b/StatusLED.h @@ -0,0 +1,28 @@ +#pragma once + +#include +#include + +struct LED +{ + std::filesystem::path green; + std::filesystem::path red; +}; + +class StatusLED +{ +public: + enum class Mode + { + OK, // green + Error // red + }; + + StatusLED(); + + void addLED(const LED& led); + +private: + std::vector m_leds; // on best effort base, those will all show the same status + Mode m_mode; +}; diff --git a/debian/click.service b/debian/click.service new file mode 100644 index 0000000..90617fe --- /dev/null +++ b/debian/click.service @@ -0,0 +1,19 @@ +[Unit] +Description=Click +After=network.target + +[Service] +Type=simple +# Restart=always +ExecStart=click + +# Restart once a week, maybe certificates have changed +Restart=always +RuntimeMaxSec=604800 + +# webserver will lower privileges to www-data:www-data +#User=www-data +#Group=www-data + +[Install] +WantedBy=multi-user.target diff --git a/debian/control b/debian/control index 32b713a..de141e8 100644 --- a/debian/control +++ b/debian/control @@ -22,3 +22,4 @@ Description: Software system for MIDI Click . Supported Hardware platforms: - Raspberry Pi 3 B+ + - Raspberry Pi 4 B -- cgit v1.2.3