LSH-Core
Deterministic firmware core for Controllino-based Labo Smart Home nodes
 
Loading...
Searching...
No Matches
lsh_user_macros.hpp
Go to the documentation of this file.
1
21#ifndef LSH_CORE_LSH_USER_MACROS_HPP
22#define LSH_CORE_LSH_USER_MACROS_HPP
23
24// This file provides the generated-profile object macros. Each `pin` argument
25// is expected to be a compile-time constant so it can flow through `PinTag` and
26// unlock the constexpr AVR mapping path when the target board supports it.
27
29#include "internal/pin_tag.hpp"
34#include "util/debug/debug.hpp"
35
41#define LSH_ACTUATOR(var_name, pin) Actuator var_name(::lsh::core::PinTag<(pin)>{})
42
48#define LSH_BUTTON(var_name, pin) Clickable var_name(::lsh::core::PinTag<(pin)>{})
49
55#define LSH_INDICATOR(var_name, pin) Indicator var_name(::lsh::core::PinTag<(pin)>{})
56
57#endif // LSH_CORE_LSH_USER_MACROS_HPP
Defines the Actuator class, representing a physical relay or digital output.
Defines the Clickable class for handling button inputs and click logic.
Declares the static Configurator class used for device setup in user code.
Declares debugging macros (DP, DPL) and helper functions.
Defines the Indicator class, representing an LED or status light.
Compile-time pin tag used to route peripheral construction through constant pin paths.
Internal bridge that imports static profile resources into the library's scope.