Firmware  0.9.0
Loading...
Searching...
No Matches
settings.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 <string>
25#include <z21/z21.hpp>
26#include "base.hpp"
27
28namespace mem::nvs {
29
37class Settings : public Base {
38public:
39 Settings() : Base{"settings", NVS_READWRITE} {}
40
41 std::string getAccessPointSSID() const;
42 esp_err_t setAccessPointSSID(std::string_view str);
43
44 std::string getAccessPointPassword() const;
45 esp_err_t setAccessPointPassword(std::string_view str);
46
47 std::string getAccessPointIP() const;
48 esp_err_t setAccessPointIP(std::string_view str);
49
50 std::string getAccessPointNetmask() const;
51 esp_err_t setAccessPointNetmask(std::string_view str);
52
53 std::string getAccessPointGateway() const;
54 esp_err_t setAccessPointGateway(std::string_view str);
55
56 std::string getStationSSID() const;
57 esp_err_t setStationSSID(std::string_view str);
58
59 std::string getStationPassword() const;
60 esp_err_t setStationPassword(std::string_view str);
61
62 std::string getStationAlternativeSSID() const;
63 esp_err_t setStationAlternativeSSID(std::string_view str);
64
65 std::string getStationAlternativePassword() const;
66 esp_err_t setStationAlternativePassword(std::string_view str);
67
68 std::string getStationIP() const;
69 esp_err_t setStationIP(std::string_view str);
70
71 std::string getStationNetmask() const;
72 esp_err_t setStationNetmask(std::string_view str);
73
74 std::string getStationGateway() const;
75 esp_err_t setStationGateway(std::string_view str);
76
77 [[deprecated(
78 "This method will be removed in favor of `getmDNS`.")]] std::string
79 getStationmDNS() const;
80 std::string getmDNS() const;
81 esp_err_t setmDNS(std::string_view str);
82
83 bool getDNSRedirection() const;
84 esp_err_t setDNSRedirection(bool value);
85
86 uint8_t getHttpReceiveTimeout() const;
87 esp_err_t setHttpReceiveTimeout(uint8_t value);
88
89 uint8_t getHttpTransmitTimeout() const;
90 esp_err_t setHttpTransmitTimeout(uint8_t value);
91
92 bool getHttpExitMessage() const;
93 esp_err_t setHttpExitMessage(bool value);
94
97
100
101 uint8_t getLedDutyCycleBug() const;
102 esp_err_t setLedDutyCycleBug(uint8_t value);
103
104 uint8_t getLedDutyCycleWiFi() const;
105 esp_err_t setLedDutyCycleWiFi(uint8_t value);
106
107 uint8_t getCurrentShortCircuitTime() const;
108 esp_err_t setCurrentShortCircuitTime(uint8_t value);
109
110 uint8_t getDccPreamble() const;
111 esp_err_t setDccPreamble(uint8_t value);
112
113 uint8_t getDccBit1Duration() const;
114 esp_err_t setDccBit1Duration(uint8_t value);
115
116 uint8_t getDccBit0Duration() const;
117 esp_err_t setDccBit0Duration(uint8_t value);
118
119 uint8_t getDccBiDiBitDuration() const;
120 esp_err_t setDccBiDiBitDuration(uint8_t value);
121
122 uint8_t getDccProgrammingType() const;
123 esp_err_t setDccProgrammingType(uint8_t value);
124
125 uint8_t getDccStartupResetPacketCount() const;
126 esp_err_t setDccStartupResetPacketCount(uint8_t value);
127
128 uint8_t getDccContinueResetPacketCount() const;
129 esp_err_t setDccContinueResetPacketCount(uint8_t value);
130
131 uint8_t getDccProgramPacketCount() const;
132 esp_err_t setDccProgramPacketCount(uint8_t value);
133
134 bool getDccBitVerifyTo1() const;
135 esp_err_t setDccBitVerifyTo1(bool value);
136
137 uint8_t getDccProgrammingAckCurrent() const;
138 esp_err_t setDccProgrammingAckCurrent(uint8_t value);
139
140 uint8_t getDccLocoFlags() const;
141 esp_err_t setDccLocoFlags(uint8_t value);
142
143 uint8_t getDccAccessoryFlags() const;
144 esp_err_t setDccAccessoryFlags(uint8_t value);
145
146 uint8_t getDccAccessorySwitchTime() const;
147 esp_err_t setDccAccessorySwitchTime(uint8_t value);
148
149 uint8_t getDccAccessoryPacketCount() const;
150 esp_err_t setDccAccessorPacketCount(uint8_t value);
151
152 uint8_t getExtensionFlags() const;
153 esp_err_t setExtensionFlags(uint8_t value);
154};
155
156} // namespace mem::nvs
NVS base.
Base(char const *namespace_name, nvs_open_mode_t open_mode)
Ctor.
Definition base.cpp:34
std::string getAccessPointGateway() const
Get access point gateway.
Definition settings.cpp:114
uint8_t getDccBiDiBitDuration() const
Get DCC BiDi bit duration.
Definition settings.cpp:562
std::string getStationGateway() const
Get station gateway.
Definition settings.cpp:259
esp_err_t setStationAlternativeSSID(std::string_view str)
Set alternative station SSID.
Definition settings.cpp:191
esp_err_t setDccAccessorySwitchTime(uint8_t value)
Set DCC accessory switch time.
Definition settings.cpp:771
std::string getStationPassword() const
Get station password.
Definition settings.cpp:155
esp_err_t setDccBit0Duration(uint8_t value)
Set DCC bit 0 duration.
Definition settings.cpp:553
uint8_t getDccBit0Duration() const
Get DCC bit 0 duration.
Definition settings.cpp:541
esp_err_t setStationAlternativePassword(std::string_view str)
Set alternative station password.
Definition settings.cpp:212
std::string getStationAlternativeSSID() const
Get alternative station SSID.
Definition settings.cpp:177
std::string getStationmDNS() const
Get station mDNS.
Definition settings.cpp:280
esp_err_t setAccessPointGateway(std::string_view str)
Set access point gateway.
Definition settings.cpp:128
std::string getAccessPointIP() const
Get access point IP.
Definition settings.cpp:74
esp_err_t setDccBiDiBitDuration(uint8_t value)
Set DCC BiDi bit duration.
Definition settings.cpp:576
esp_err_t setHttpExitMessage(bool value)
Set HTTP exit message.
Definition settings.cpp:382
uint8_t getDccProgramPacketCount() const
Get DCC program packet count.
Definition settings.cpp:651
esp_err_t setStationGateway(std::string_view str)
Set station gateway.
Definition settings.cpp:273
esp_err_t setDccAccessorPacketCount(uint8_t value)
Set DCC accessory packet count.
Definition settings.cpp:793
esp_err_t setAccessPointNetmask(std::string_view str)
Set access point netmask.
Definition settings.cpp:107
uint8_t getDccAccessoryPacketCount() const
Get DCC accessory packet count.
Definition settings.cpp:778
uint8_t getCurrentShortCircuitTime() const
Get current short circuit time.
Definition settings.cpp:477
Settings()
Definition settings.hpp:39
esp_err_t setDccAccessoryFlags(uint8_t value)
Set DCC accessory flags.
Definition settings.cpp:750
esp_err_t setmDNS(std::string_view str)
Set mDNS.
Definition settings.cpp:298
esp_err_t setAccessPointPassword(std::string_view str)
Set access point password.
Definition settings.cpp:64
uint8_t getDccProgrammingAckCurrent() const
Get DCC programming ack current.
Definition settings.cpp:693
esp_err_t setCurrentLimitService(drv::out::track::CurrentLimit value)
Set current limit in service mode.
Definition settings.cpp:429
uint8_t getDccLocoFlags() const
Get DCC loco flags.
Definition settings.cpp:716
std::string getStationIP() const
Get station IP.
Definition settings.cpp:219
esp_err_t setLedDutyCycleWiFi(uint8_t value)
Set LED duty cycle for WiFi LED.
Definition settings.cpp:470
std::string getmDNS() const
Get mDNS.
Definition settings.cpp:285
uint8_t getDccProgrammingType() const
Get DCC programming type.
Definition settings.cpp:585
uint8_t getLedDutyCycleBug() const
Get LED duty cycle for bug LED.
Definition settings.cpp:439
uint8_t getExtensionFlags() const
Get extension flags.
Definition settings.cpp:801
esp_err_t setStationPassword(std::string_view str)
Set station password.
Definition settings.cpp:167
esp_err_t setAccessPointSSID(std::string_view str)
Set access point SSID.
Definition settings.cpp:42
esp_err_t setLedDutyCycleBug(uint8_t value)
Set LED duty cycle for bug LED.
Definition settings.cpp:451
esp_err_t setCurrentShortCircuitTime(uint8_t value)
Set current short circuit time.
Definition settings.cpp:492
uint8_t getDccAccessoryFlags() const
Get DCC accessory flags.
Definition settings.cpp:737
std::string getAccessPointSSID() const
Get access point SSID.
Definition settings.cpp:30
drv::out::track::CurrentLimit getCurrentLimit() const
Get current limit.
Definition settings.cpp:389
esp_err_t setDccStartupResetPacketCount(uint8_t value)
Set DCC startup reset packet count.
Definition settings.cpp:621
uint8_t getLedDutyCycleWiFi() const
Get LED duty cycle for WiFi LED.
Definition settings.cpp:458
esp_err_t setDNSRedirection(bool value)
Set DNS redirection.
Definition settings.cpp:318
esp_err_t setStationSSID(std::string_view str)
Set station SSID.
Definition settings.cpp:147
esp_err_t setHttpTransmitTimeout(uint8_t value)
Set HTTP transmit timeout.
Definition settings.cpp:361
uint8_t getDccBit1Duration() const
Get DCC bit 1 duration.
Definition settings.cpp:520
uint8_t getHttpReceiveTimeout() const
Get HTTP receive timeout.
Definition settings.cpp:325
bool getDccBitVerifyTo1() const
Get DCC bit verify.
Definition settings.cpp:673
esp_err_t setDccProgrammingType(uint8_t value)
Set DCC programming type.
Definition settings.cpp:599
esp_err_t setStationIP(std::string_view str)
Set station IP.
Definition settings.cpp:231
bool getDNSRedirection() const
Get DNS redirection.
Definition settings.cpp:305
std::string getAccessPointNetmask() const
Get access point netmask.
Definition settings.cpp:93
bool getHttpExitMessage() const
Get HTTP exit message.
Definition settings.cpp:369
esp_err_t setStationNetmask(std::string_view str)
Set station netmask.
Definition settings.cpp:252
std::string getAccessPointPassword() const
Get access point password.
Definition settings.cpp:50
esp_err_t setCurrentLimit(drv::out::track::CurrentLimit value)
Set current limit.
Definition settings.cpp:403
uint8_t getDccContinueResetPacketCount() const
Get DCC continue reset packet count.
Definition settings.cpp:628
uint8_t getDccPreamble() const
Get DCC preamble count.
Definition settings.cpp:499
uint8_t getDccStartupResetPacketCount() const
Get DCC startup reset packet count.
Definition settings.cpp:606
esp_err_t setDccContinueResetPacketCount(uint8_t value)
Set DCC continue reset packet count.
Definition settings.cpp:643
esp_err_t setDccProgramPacketCount(uint8_t value)
Set DCC program packet count.
Definition settings.cpp:665
esp_err_t setExtensionFlags(uint8_t value)
Set extension flags.
Definition settings.cpp:812
esp_err_t setDccBitVerifyTo1(bool value)
Set DCC bit verify.
Definition settings.cpp:686
esp_err_t setAccessPointIP(std::string_view str)
Set access point IP.
Definition settings.cpp:86
esp_err_t setDccProgrammingAckCurrent(uint8_t value)
Set DCC programming ack current.
Definition settings.cpp:708
esp_err_t setHttpReceiveTimeout(uint8_t value)
Set HTTP receive timeout.
Definition settings.cpp:339
esp_err_t setDccBit1Duration(uint8_t value)
Set DCC bit 1 duration.
Definition settings.cpp:532
drv::out::track::CurrentLimit getCurrentLimitService() const
Get current limit in service mode.
Definition settings.cpp:413
uint8_t getDccAccessorySwitchTime() const
Get DCC accessory switch time.
Definition settings.cpp:757
std::string getStationNetmask() const
Get station netmask.
Definition settings.cpp:238
std::string getStationAlternativePassword() const
Get alternative station password.
Definition settings.cpp:198
esp_err_t setDccPreamble(uint8_t value)
Set DCC preamble count.
Definition settings.cpp:511
std::string getStationSSID() const
Get station SSID.
Definition settings.cpp:135
esp_err_t setDccLocoFlags(uint8_t value)
Set DCC loco flags.
Definition settings.cpp:727
uint8_t getHttpTransmitTimeout() const
Get HTTP transmit timeout.
Definition settings.cpp:347
CurrentLimit
Definition config.hpp:403
Definition config.hpp:560