Mark configurable classes as final (9/21) (#16960)

This commit is contained in:
Jesse Hills
2026-06-21 21:04:16 -05:00
committed by GitHub
parent 026bac4cd1
commit 2982d7c834
62 changed files with 91 additions and 91 deletions
@@ -11,7 +11,7 @@
namespace esphome::internal_temperature {
class InternalTemperatureSensor : public sensor::Sensor, public PollingComponent {
class InternalTemperatureSensor final : public sensor::Sensor, public PollingComponent {
public:
#if defined(USE_ESP32) || (defined(USE_ZEPHYR) && defined(USE_NRF52))
void setup() override;
+1 -1
View File
@@ -6,7 +6,7 @@
namespace esphome::interval {
class IntervalTrigger : public Trigger<>, public PollingComponent {
class IntervalTrigger final : public Trigger<>, public PollingComponent {
public:
void update() override { this->trigger(); }
+2 -2
View File
@@ -18,7 +18,7 @@ namespace esphome::ir_rf_proxy {
#ifdef USE_IR_RF
/// IrRfProxy - Infrared platform implementation using remote_transmitter/receiver as backend
class IrRfProxy : public infrared::Infrared {
class IrRfProxy final : public infrared::Infrared {
public:
IrRfProxy() = default;
@@ -47,7 +47,7 @@ class IrRfProxy : public infrared::Infrared {
/// Driver-agnostic: integration with specific RF front-end chips (CC1101, RFM69, etc.) is done
/// in YAML by wiring their actions to `remote_transmitter`'s on_transmit/on_complete triggers and
/// to this entity's on_control trigger (see radio_frequency component docs).
class RfProxy : public radio_frequency::RadioFrequency {
class RfProxy final : public radio_frequency::RadioFrequency {
public:
RfProxy() = default;
+1 -1
View File
@@ -13,7 +13,7 @@ enum Model {
AJ_SR04M,
};
class Jsnsr04tComponent : public sensor::Sensor, public PollingComponent, public uart::UARTDevice {
class Jsnsr04tComponent final : public sensor::Sensor, public PollingComponent, public uart::UARTDevice {
public:
void set_model(Model model) { this->model_ = model; }
@@ -73,7 +73,7 @@ static const char *const UNITS[] = {
"mm:dd", "", "bar", "RTC", "ASCII", "m3 x 10", "ton x 10", "GJ x 10", "minutes", "Bitfield",
"s", "ms", "days", "RTC-Q", "Datetime"};
class KamstrupKMPComponent : public PollingComponent, public uart::UARTDevice {
class KamstrupKMPComponent final : public PollingComponent, public uart::UARTDevice {
public:
void set_heat_energy_sensor(sensor::Sensor *sensor) { this->heat_energy_sensor_ = sensor; }
void set_power_sensor(sensor::Sensor *sensor) { this->power_sensor_ = sensor; }
@@ -7,7 +7,7 @@
namespace esphome::key_collector {
class KeyCollector : public Component {
class KeyCollector final : public Component {
public:
void loop() override;
void dump_config() override;
@@ -54,11 +54,11 @@ class KeyCollector : public Component {
bool enabled_{};
};
template<typename... Ts> class EnableAction : public Action<Ts...>, public Parented<KeyCollector> {
template<typename... Ts> class EnableAction final : public Action<Ts...>, public Parented<KeyCollector> {
void play(const Ts &...x) override { this->parent_->set_enabled(true); }
};
template<typename... Ts> class DisableAction : public Action<Ts...>, public Parented<KeyCollector> {
template<typename... Ts> class DisableAction final : public Action<Ts...>, public Parented<KeyCollector> {
void play(const Ts &...x) override { this->parent_->set_enabled(false); }
};
+1 -1
View File
@@ -8,7 +8,7 @@
namespace esphome::kmeteriso {
/// This class implements support for the KMeterISO thermocouple sensor.
class KMeterISOComponent : public PollingComponent, public i2c::I2CDevice {
class KMeterISOComponent final : public PollingComponent, public i2c::I2CDevice {
public:
void set_temperature_sensor(sensor::Sensor *t) { this->temperature_sensor_ = t; }
void set_internal_temperature_sensor(sensor::Sensor *t) { this->internal_temperature_sensor_ = t; }
+1 -1
View File
@@ -6,7 +6,7 @@
namespace esphome::kuntze {
class Kuntze : public PollingComponent, public modbus::ModbusDevice {
class Kuntze final : public PollingComponent, public modbus::ModbusDevice {
public:
void set_ph_sensor(sensor::Sensor *ph_sensor) { ph_sensor_ = ph_sensor; }
void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; }
+1 -1
View File
@@ -19,7 +19,7 @@ enum LC709203FBatteryVoltage {
LC709203F_BATTERY_VOLTAGE_3_7 = 0x0001,
};
class Lc709203f : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice {
class Lc709203f final : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice {
public:
void setup() override;
void update() override;
@@ -10,7 +10,7 @@ class GPIOLCDDisplay;
using gpio_lcd_writer_t = display::DisplayWriter<GPIOLCDDisplay>;
class GPIOLCDDisplay : public lcd_base::LCDDisplay {
class GPIOLCDDisplay final : public lcd_base::LCDDisplay {
public:
void set_writer(gpio_lcd_writer_t &&writer) { this->writer_ = std::move(writer); }
void setup() override;
+1 -1
View File
@@ -11,7 +11,7 @@ namespace esphome::lcd_menu {
/** Class to display a hierarchical menu.
*
*/
class LCDCharacterMenuComponent : public display_menu_base::DisplayMenuComponent {
class LCDCharacterMenuComponent final : public display_menu_base::DisplayMenuComponent {
public:
void set_display(lcd_base::LCDDisplay *display) { this->display_ = display; }
void set_dimensions(uint8_t columns, uint8_t rows) {
@@ -11,7 +11,7 @@ class PCF8574LCDDisplay;
using pcf8574_lcd_writer_t = display::DisplayWriter<PCF8574LCDDisplay>;
class PCF8574LCDDisplay : public lcd_base::LCDDisplay, public i2c::I2CDevice {
class PCF8574LCDDisplay final : public lcd_base::LCDDisplay, public i2c::I2CDevice {
public:
void set_writer(pcf8574_lcd_writer_t &&writer) { this->writer_ = std::move(writer); }
void setup() override;
+1 -1
View File
@@ -6,7 +6,7 @@
namespace esphome::ld2410 {
template<typename... Ts> class BluetoothPasswordSetAction : public Action<Ts...> {
template<typename... Ts> class BluetoothPasswordSetAction final : public Action<Ts...> {
public:
explicit BluetoothPasswordSetAction(LD2410Component *ld2410_comp) : ld2410_comp_(ld2410_comp) {}
TEMPLATABLE_VALUE(std::string, password)
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class FactoryResetButton : public button::Button, public Parented<LD2410Component> {
class FactoryResetButton final : public button::Button, public Parented<LD2410Component> {
public:
FactoryResetButton() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class QueryButton : public button::Button, public Parented<LD2410Component> {
class QueryButton final : public button::Button, public Parented<LD2410Component> {
public:
QueryButton() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class RestartButton : public button::Button, public Parented<LD2410Component> {
class RestartButton final : public button::Button, public Parented<LD2410Component> {
public:
RestartButton() = default;
+1 -1
View File
@@ -38,7 +38,7 @@ using namespace ld24xx;
static constexpr uint8_t MAX_LINE_LENGTH = 50;
static constexpr uint8_t TOTAL_GATES = 9; // Total number of gates supported by the LD2410
class LD2410Component : public Component, public uart::UARTDevice {
class LD2410Component final : public Component, public uart::UARTDevice {
#ifdef USE_BINARY_SENSOR
SUB_BINARY_SENSOR(out_pin_presence_status)
SUB_BINARY_SENSOR(moving_target)
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class GateThresholdNumber : public number::Number, public Parented<LD2410Component> {
class GateThresholdNumber final : public number::Number, public Parented<LD2410Component> {
public:
GateThresholdNumber(uint8_t gate);
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class LightThresholdNumber : public number::Number, public Parented<LD2410Component> {
class LightThresholdNumber final : public number::Number, public Parented<LD2410Component> {
public:
LightThresholdNumber() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class MaxDistanceTimeoutNumber : public number::Number, public Parented<LD2410Component> {
class MaxDistanceTimeoutNumber final : public number::Number, public Parented<LD2410Component> {
public:
MaxDistanceTimeoutNumber() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class BaudRateSelect : public select::Select, public Parented<LD2410Component> {
class BaudRateSelect final : public select::Select, public Parented<LD2410Component> {
public:
BaudRateSelect() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class DistanceResolutionSelect : public select::Select, public Parented<LD2410Component> {
class DistanceResolutionSelect final : public select::Select, public Parented<LD2410Component> {
public:
DistanceResolutionSelect() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class LightOutControlSelect : public select::Select, public Parented<LD2410Component> {
class LightOutControlSelect final : public select::Select, public Parented<LD2410Component> {
public:
LightOutControlSelect() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class BluetoothSwitch : public switch_::Switch, public Parented<LD2410Component> {
class BluetoothSwitch final : public switch_::Switch, public Parented<LD2410Component> {
public:
BluetoothSwitch() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2410 {
class EngineeringModeSwitch : public switch_::Switch, public Parented<LD2410Component> {
class EngineeringModeSwitch final : public switch_::Switch, public Parented<LD2410Component> {
public:
EngineeringModeSwitch() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class FactoryResetButton : public button::Button, public Parented<LD2412Component> {
class FactoryResetButton final : public button::Button, public Parented<LD2412Component> {
public:
FactoryResetButton() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class QueryButton : public button::Button, public Parented<LD2412Component> {
class QueryButton final : public button::Button, public Parented<LD2412Component> {
public:
QueryButton() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class RestartButton : public button::Button, public Parented<LD2412Component> {
class RestartButton final : public button::Button, public Parented<LD2412Component> {
public:
RestartButton() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class StartDynamicBackgroundCorrectionButton : public button::Button, public Parented<LD2412Component> {
class StartDynamicBackgroundCorrectionButton final : public button::Button, public Parented<LD2412Component> {
public:
StartDynamicBackgroundCorrectionButton() = default;
+1 -1
View File
@@ -36,7 +36,7 @@ using namespace ld24xx;
static constexpr uint8_t MAX_LINE_LENGTH = 54; // Max characters for serial buffer
static constexpr uint8_t TOTAL_GATES = 14; // Total number of gates supported by the LD2412
class LD2412Component : public Component, public uart::UARTDevice {
class LD2412Component final : public Component, public uart::UARTDevice {
#ifdef USE_BINARY_SENSOR
SUB_BINARY_SENSOR(dynamic_background_correction_status)
SUB_BINARY_SENSOR(moving_target)
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class GateThresholdNumber : public number::Number, public Parented<LD2412Component> {
class GateThresholdNumber final : public number::Number, public Parented<LD2412Component> {
public:
GateThresholdNumber(uint8_t gate);
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class LightThresholdNumber : public number::Number, public Parented<LD2412Component> {
class LightThresholdNumber final : public number::Number, public Parented<LD2412Component> {
public:
LightThresholdNumber() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class MaxDistanceTimeoutNumber : public number::Number, public Parented<LD2412Component> {
class MaxDistanceTimeoutNumber final : public number::Number, public Parented<LD2412Component> {
public:
MaxDistanceTimeoutNumber() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class BaudRateSelect : public select::Select, public Parented<LD2412Component> {
class BaudRateSelect final : public select::Select, public Parented<LD2412Component> {
public:
BaudRateSelect() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class DistanceResolutionSelect : public select::Select, public Parented<LD2412Component> {
class DistanceResolutionSelect final : public select::Select, public Parented<LD2412Component> {
public:
DistanceResolutionSelect() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class LightOutControlSelect : public select::Select, public Parented<LD2412Component> {
class LightOutControlSelect final : public select::Select, public Parented<LD2412Component> {
public:
LightOutControlSelect() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class BluetoothSwitch : public switch_::Switch, public Parented<LD2412Component> {
class BluetoothSwitch final : public switch_::Switch, public Parented<LD2412Component> {
public:
BluetoothSwitch() = default;
@@ -5,7 +5,7 @@
namespace esphome::ld2412 {
class EngineeringModeSwitch : public switch_::Switch, public Parented<LD2412Component> {
class EngineeringModeSwitch final : public switch_::Switch, public Parented<LD2412Component> {
public:
EngineeringModeSwitch() = default;
+2 -2
View File
@@ -13,7 +13,7 @@ namespace esphome::ledc {
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
extern uint8_t next_ledc_channel;
class LEDCOutput : public output::FloatOutput, public Component {
class LEDCOutput final : public output::FloatOutput, public Component {
public:
explicit LEDCOutput(InternalGPIOPin *pin) : pin_(pin) { this->channel_ = next_ledc_channel++; }
@@ -43,7 +43,7 @@ class LEDCOutput : public output::FloatOutput, public Component {
bool initialized_ = false;
};
template<typename... Ts> class SetFrequencyAction : public Action<Ts...> {
template<typename... Ts> class SetFrequencyAction final : public Action<Ts...> {
public:
SetFrequencyAction(LEDCOutput *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(float, frequency);
+1 -1
View File
@@ -5,7 +5,7 @@
namespace esphome::libretiny {
class ArduinoInternalGPIOPin : public InternalGPIOPin {
class ArduinoInternalGPIOPin final : public InternalGPIOPin {
public:
void set_pin(uint8_t pin) { pin_ = pin; }
void set_inverted(bool inverted) { inverted_ = inverted; }
+1 -1
View File
@@ -14,7 +14,7 @@
namespace esphome::libretiny {
class LTComponent : public Component {
class LTComponent final : public Component {
public:
float get_setup_priority() const override;
void dump_config() override;
@@ -9,7 +9,7 @@
namespace esphome::libretiny_pwm {
class LibreTinyPWM : public output::FloatOutput, public Component {
class LibreTinyPWM final : public output::FloatOutput, public Component {
public:
explicit LibreTinyPWM(InternalGPIOPin *pin) : pin_(pin) {}
@@ -34,7 +34,7 @@ class LibreTinyPWM : public output::FloatOutput, public Component {
bool initialized_ = false;
};
template<typename... Ts> class SetFrequencyAction : public Action<Ts...> {
template<typename... Ts> class SetFrequencyAction final : public Action<Ts...> {
public:
SetFrequencyAction(LibreTinyPWM *parent) : parent_(parent) {}
TEMPLATABLE_VALUE(float, frequency);
+1 -1
View File
@@ -21,7 +21,7 @@ Color color_from_light_color_values(LightColorValues val);
/// Use a custom state class for addressable lights, to allow type system to discriminate between addressable and
/// non-addressable lights.
class AddressableLightState : public LightState {
class AddressableLightState final : public LightState {
using LightState::LightState;
};
+10 -10
View File
@@ -8,7 +8,7 @@ namespace esphome::light {
enum class LimitMode { CLAMP, DO_NOTHING };
template<bool HasTransitionLength, typename... Ts> class ToggleAction : public Action<Ts...> {
template<bool HasTransitionLength, typename... Ts> class ToggleAction final : public Action<Ts...> {
public:
explicit ToggleAction(LightState *state) : state_(state) {}
@@ -43,7 +43,7 @@ template<bool HasTransitionLength, typename... Ts> class ToggleAction : public A
// (e.g. `const T & &` if Ts already carries a reference, or `const const
// T &` if Ts already carries a const). This keeps trigger args no-copy
// regardless of whether the trigger supplies `T`, `T &`, or `const T &`.
template<typename... Ts> class LightControlAction : public Action<Ts...> {
template<typename... Ts> class LightControlAction final : public Action<Ts...> {
public:
using ApplyFn = void (*)(LightState *, LightCall &, const std::remove_cvref_t<Ts> &...);
LightControlAction(LightState *parent, ApplyFn apply) : parent_(parent), apply_(apply) {}
@@ -59,7 +59,7 @@ template<typename... Ts> class LightControlAction : public Action<Ts...> {
ApplyFn apply_;
};
template<bool HasTransitionLength, typename... Ts> class DimRelativeAction : public Action<Ts...> {
template<bool HasTransitionLength, typename... Ts> class DimRelativeAction final : public Action<Ts...> {
public:
explicit DimRelativeAction(LightState *parent) : parent_(parent) {}
@@ -108,7 +108,7 @@ template<bool HasTransitionLength, typename... Ts> class DimRelativeAction : pub
// at compile time so the chosen branch is the only one that gets instantiated
// per action site. `include_none` is runtime so a single set of templates
// covers both the "wrap through None" and "skip None" variants.
template<bool Forward, typename... Ts> class LightEffectCycleAction : public Action<Ts...> {
template<bool Forward, typename... Ts> class LightEffectCycleAction final : public Action<Ts...> {
public:
explicit LightEffectCycleAction(LightState *parent) : parent_(parent) {}
@@ -145,7 +145,7 @@ template<bool Forward, typename... Ts> class LightEffectCycleAction : public Act
bool include_none_{false};
};
template<typename... Ts> class LightIsOnCondition : public Condition<Ts...> {
template<typename... Ts> class LightIsOnCondition final : public Condition<Ts...> {
public:
explicit LightIsOnCondition(LightState *state) : state_(state) {}
bool check(const Ts &...x) override { return this->state_->current_values.is_on(); }
@@ -153,7 +153,7 @@ template<typename... Ts> class LightIsOnCondition : public Condition<Ts...> {
protected:
LightState *state_;
};
template<typename... Ts> class LightIsOffCondition : public Condition<Ts...> {
template<typename... Ts> class LightIsOffCondition final : public Condition<Ts...> {
public:
explicit LightIsOffCondition(LightState *state) : state_(state) {}
bool check(const Ts &...x) override { return !this->state_->current_values.is_on(); }
@@ -162,7 +162,7 @@ template<typename... Ts> class LightIsOffCondition : public Condition<Ts...> {
LightState *state_;
};
class LightTurnOnTrigger : public Trigger<>, public LightRemoteValuesListener {
class LightTurnOnTrigger final : public Trigger<>, public LightRemoteValuesListener {
public:
explicit LightTurnOnTrigger(LightState *a_light) : light_(a_light) {
a_light->add_remote_values_listener(this);
@@ -187,7 +187,7 @@ class LightTurnOnTrigger : public Trigger<>, public LightRemoteValuesListener {
bool last_on_;
};
class LightTurnOffTrigger : public Trigger<>, public LightTargetStateReachedListener {
class LightTurnOffTrigger final : public Trigger<>, public LightTargetStateReachedListener {
public:
explicit LightTurnOffTrigger(LightState *a_light) : light_(a_light) {
a_light->add_target_state_reached_listener(this);
@@ -205,7 +205,7 @@ class LightTurnOffTrigger : public Trigger<>, public LightTargetStateReachedList
LightState *light_;
};
class LightStateTrigger : public Trigger<>, public LightRemoteValuesListener {
class LightStateTrigger final : public Trigger<>, public LightRemoteValuesListener {
public:
explicit LightStateTrigger(LightState *a_light) { a_light->add_remote_values_listener(this); }
@@ -216,7 +216,7 @@ class LightStateTrigger : public Trigger<>, public LightRemoteValuesListener {
// due to the template. It's just a temporary warning anyway.
void addressableset_warn_about_scale(const char *field);
template<typename... Ts> class AddressableSet : public Action<Ts...> {
template<typename... Ts> class AddressableSet final : public Action<Ts...> {
public:
explicit AddressableSet(LightState *parent) : parent_(parent) {}
+2 -2
View File
@@ -15,7 +15,7 @@ namespace esphome::lightwaverf {
#ifdef USE_ESP8266
class LightWaveRF : public PollingComponent {
class LightWaveRF final : public PollingComponent {
public:
void set_pin(InternalGPIOPin *pin_tx, InternalGPIOPin *pin_rx) {
pin_tx_ = pin_tx;
@@ -37,7 +37,7 @@ class LightWaveRF : public PollingComponent {
LwTx lwtx_;
};
template<typename... Ts> class SendRawAction : public Action<Ts...> {
template<typename... Ts> class SendRawAction final : public Action<Ts...> {
public:
SendRawAction(LightWaveRF *parent) : parent_(parent){};
TEMPLATABLE_VALUE(int, repeat);
@@ -12,7 +12,7 @@ namespace esphome::lilygo_t5_47 {
using namespace touchscreen;
class LilygoT547Touchscreen : public Touchscreen, public i2c::I2CDevice {
class LilygoT547Touchscreen final : public Touchscreen, public i2c::I2CDevice {
public:
void setup() override;
+1 -1
View File
@@ -8,7 +8,7 @@ namespace esphome::lm75b {
static const uint8_t LM75B_REG_TEMPERATURE = 0x00;
class LM75BComponent : public PollingComponent, public i2c::I2CDevice, public sensor::Sensor {
class LM75BComponent final : public PollingComponent, public i2c::I2CDevice, public sensor::Sensor {
public:
void dump_config() override;
void update() override;
+4 -4
View File
@@ -6,7 +6,7 @@
namespace esphome::lock {
template<typename... Ts> class LockAction : public Action<Ts...> {
template<typename... Ts> class LockAction final : public Action<Ts...> {
public:
explicit LockAction(Lock *a_lock) : lock_(a_lock) {}
@@ -16,7 +16,7 @@ template<typename... Ts> class LockAction : public Action<Ts...> {
Lock *lock_;
};
template<typename... Ts> class UnlockAction : public Action<Ts...> {
template<typename... Ts> class UnlockAction final : public Action<Ts...> {
public:
explicit UnlockAction(Lock *a_lock) : lock_(a_lock) {}
@@ -26,7 +26,7 @@ template<typename... Ts> class UnlockAction : public Action<Ts...> {
Lock *lock_;
};
template<typename... Ts> class OpenAction : public Action<Ts...> {
template<typename... Ts> class OpenAction final : public Action<Ts...> {
public:
explicit OpenAction(Lock *a_lock) : lock_(a_lock) {}
@@ -36,7 +36,7 @@ template<typename... Ts> class OpenAction : public Action<Ts...> {
Lock *lock_;
};
template<typename... Ts> class LockCondition : public Condition<Ts...> {
template<typename... Ts> class LockCondition final : public Condition<Ts...> {
public:
LockCondition(Lock *parent, bool state) : parent_(parent), state_(state) {}
bool check(const Ts &...x) override {
+1 -1
View File
@@ -6,7 +6,7 @@
namespace esphome::lps22 {
class LPS22Component : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice {
class LPS22Component final : public sensor::Sensor, public PollingComponent, public i2c::I2CDevice {
public:
void set_temperature_sensor(sensor::Sensor *temperature_sensor) { this->temperature_sensor_ = temperature_sensor; }
void set_pressure_sensor(sensor::Sensor *pressure_sensor) { this->pressure_sensor_ = pressure_sensor; }
+1 -1
View File
@@ -82,7 +82,7 @@ enum LSM6DSGyroODR : uint8_t {
};
// ── Main component class ─────────────────────────────────────────────────────
class LSM6DSComponent : public motion::MotionComponent, public i2c::I2CDevice {
class LSM6DSComponent final : public motion::MotionComponent, public i2c::I2CDevice {
public:
void setup() override;
void dump_config() override;

Some files were not shown because too many files have changed in this diff Show More