Doxygen with github
Loading...
Searching...
No Matches
ksResetButton.h
1/*
2 * Copyright (c) 2021-2025, Krzysztof Strehlau
3 *
4 * This file is a part of the ksIotFramework library.
5 * All licensing information can be found inside LICENSE.md file.
6 *
7 * https://github.com/cziter15/ksIotFrameworkLib/blob/master/LICENSE
8 */
9
10#pragma once
11
12#include <Arduino.h>
13
14#include "../ksComponent.h"
15
16namespace ksf::comps
17{
27 {
28 KSF_RTTI_DECLARATIONS(ksResetButton, ksComponent)
29
30 protected:
31 uint8_t pin{0};
32 uint8_t triggerState{0};
33 uint8_t lastState{0};
34 uint8_t mode{INPUT};
35 uint32_t pressedTime{0};
36 uint32_t releasedTime{0};
37
38 public:
45 ksResetButton(uint8_t pin, uint8_t triggerState, uint8_t mode);
46
50 virtual ~ksResetButton();
51
57 bool init(ksApplication* app) override;
58
64 bool loop(ksApplication* app) override;
65
70 uint8_t getPin() const { return pin; }
71 };
72}
A component that implements reset button functionality.
Definition ksResetButton.h:27
uint8_t triggerState
State that triggers reset logic.
Definition ksResetButton.h:32
bool loop(ksApplication *app) override
Handles the reset button component logic.
Definition ksResetButton.cpp:47
uint8_t getPin() const
Retrieves pin number assigned to the button.
Definition ksResetButton.h:70
uint8_t pin
Cached pin number.
Definition ksResetButton.h:31
uint32_t releasedTime
Release timestamp (milliseconds since boot).
Definition ksResetButton.h:36
ksResetButton(uint8_t pin, uint8_t triggerState, uint8_t mode)
Constructs the reset button component.
Definition ksResetButton.cpp:31
uint8_t mode
Cached pin mode.
Definition ksResetButton.h:34
uint32_t pressedTime
Press timestamp (milliseconds since boot).
Definition ksResetButton.h:35
virtual ~ksResetButton()
Destructs ksResetButton, restoring INPUT pin state.
Definition ksResetButton.cpp:35
uint8_t lastState
Previous state (for debouncing).
Definition ksResetButton.h:33
bool init(ksApplication *app) override
Initializes the reset button component.
Definition ksResetButton.cpp:40
A class that serves as the base for user-defined applications.
Definition ksApplication.h:44
Base component class.
Definition ksComponent.h:36