Firmware
0.9.0
Toggle main menu visibility
Loading...
Searching...
No Matches
locos.hpp
Go to the documentation of this file.
1
// Copyright (C) 2025 Vincent Hamp
2
//
3
// This program is free software: you can redistribute it and/or modify
4
// it under the terms of the GNU General Public License as published by
5
// the Free Software Foundation, either version 3 of the License, or
6
// (at your option) any later version.
7
//
8
// This program is distributed in the hope that it will be useful,
9
// but WITHOUT ANY WARRANTY; without even the implied warranty of
10
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
// GNU General Public License for more details.
12
//
13
// You should have received a copy of the GNU General Public License
14
// along with this program. If not, see <https://www.gnu.org/licenses/>.
15
21
22
#pragma once
23
24
#include <dcc/dcc.hpp>
25
#include "
base.hpp
"
26
#include "
mw/dcc/loco.hpp
"
27
#include "
utility.hpp
"
28
29
namespace
mem::nvs
{
30
42
class
Locos
:
public
Base
{
43
public
:
44
Locos
() :
Base
{
"locos"
, NVS_READWRITE} {}
45
46
mw::dcc::NvLocoBase
get
(dcc::Address::value_type addr)
const
;
47
mw::dcc::NvLocoBase
get
(std::string
const
& key)
const
;
48
esp_err_t
set
(dcc::Address::value_type addr,
mw::dcc::NvLocoBase
const
& loco);
49
esp_err_t
set
(std::string
const
& key,
mw::dcc::NvLocoBase
const
& loco);
50
esp_err_t
erase
(dcc::Address::value_type addr);
51
};
52
53
}
// namespace mem::nvs
base.hpp
NVS base.
mem::nvs::Base::Base
Base(char const *namespace_name, nvs_open_mode_t open_mode)
Ctor.
Definition
base.cpp:34
mem::nvs::Locos::get
mw::dcc::NvLocoBase get(dcc::Address::value_type addr) const
Get loco by address.
Definition
locos.cpp:33
mem::nvs::Locos::Locos
Locos()
Definition
locos.hpp:44
mem::nvs::Locos::erase
esp_err_t erase(dcc::Address::value_type addr)
Erase loco from address.
Definition
locos.cpp:92
mem::nvs::Locos::set
esp_err_t set(dcc::Address::value_type addr, mw::dcc::NvLocoBase const &loco)
Set loco from address.
Definition
locos.cpp:62
loco.hpp
utility.hpp
NVS utilities.
mem::nvs
Definition
config.hpp:560
mw::dcc::NvLocoBase
Non-volatile base.
Definition
loco.hpp:31
src
mem
nvs
locos.hpp
Firmware 0.9.0