ESPHome
2022.12.8
esphome
esphome
components
preferences
syncer.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/preferences.h
"
4
#include "
esphome/core/component.h
"
5
6
namespace
esphome
{
7
namespace
preferences {
8
9
class
IntervalSyncer
:
public
Component
{
10
public
:
11
void
set_write_interval
(uint32_t write_interval) {
write_interval_
= write_interval; }
12
void
setup
()
override
{
13
set_interval
(
write_interval_
, []() {
global_preferences
->
sync
(); });
14
}
15
void
on_shutdown
()
override
{
global_preferences
->
sync
(); }
16
float
get_setup_priority
()
const override
{
return
setup_priority::BUS
; }
17
18
protected
:
19
uint32_t
write_interval_
;
20
};
21
22
}
// namespace preferences
23
}
// namespace esphome
esphome::Component::set_interval
void set_interval(const std::string &name, uint32_t interval, std::function< void()> &&f)
Set an interval function with a unique name.
Definition:
component.cpp:51
esphome::Component
Definition:
component.h:67
esphome::preferences::IntervalSyncer::get_setup_priority
float get_setup_priority() const override
Definition:
syncer.h:16
preferences.h
esphome::setup_priority::BUS
const float BUS
For communication buses like i2c/spi.
Definition:
component.cpp:15
esphome::global_preferences
ESPPreferences * global_preferences
Definition:
preferences.cpp:194
esphome::preferences::IntervalSyncer::setup
void setup() override
Definition:
syncer.h:12
esphome::preferences::IntervalSyncer::set_write_interval
void set_write_interval(uint32_t write_interval)
Definition:
syncer.h:11
esphome::preferences::IntervalSyncer::on_shutdown
void on_shutdown() override
Definition:
syncer.h:15
esphome
Definition:
a4988.cpp:4
component.h
esphome::ESPPreferences::sync
virtual bool sync()=0
Commit pending writes to flash.
esphome::preferences::IntervalSyncer::write_interval_
uint32_t write_interval_
Definition:
syncer.h:19
esphome::preferences::IntervalSyncer
Definition:
syncer.h:9
Generated by
1.8.13