Firmware  0.4.1
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 getStationmDNS() const;
42 esp_err_t setStationmDNS(std::string_view str);
43
44 std::string getStationSSID() const;
45 esp_err_t setStationSSID(std::string_view str);
46
47 std::string getStationPassword() const;
48 esp_err_t setStationPassword(std::string_view str);
49
50 std::string getStationAlternativeSSID() const;
51 esp_err_t setStationAlternativeSSID(std::string_view str);
52
53 std::string getStationAlternativePassword() const;
54 esp_err_t setStationAlternativePassword(std::string_view str);
55
56 std::string getStationIP() const;
57 esp_err_t setStationIP(std::string_view str);
58
59 std::string getStationNetmask() const;
60 esp_err_t setStationNetmask(std::string_view str);
61
62 std::string getStationGateway() const;
63 esp_err_t setStationGateway(std::string_view str);
64
65 uint8_t getHttpReceiveTimeout() const;
66 esp_err_t setHttpReceiveTimeout(uint8_t value);
67
68 uint8_t getHttpTransmitTimeout() const;
69 esp_err_t setHttpTransmitTimeout(uint8_t value);
70
71 bool getHttpExitMessage() const;
72 esp_err_t setHttpExitMessage(bool value);
73
76
79
80 uint8_t getLedDutyCycleBug() const;
81 esp_err_t setLedDutyCycleBug(uint8_t value);
82
83 uint8_t getLedDutyCycleWiFi() const;
84 esp_err_t setLedDutyCycleWiFi(uint8_t value);
85
86 uint8_t getCurrentShortCircuitTime() const;
87 esp_err_t setCurrentShortCircuitTime(uint8_t value);
88
89 uint8_t getDccPreamble() const;
90 esp_err_t setDccPreamble(uint8_t value);
91
92 uint8_t getDccBit1Duration() const;
93 esp_err_t setDccBit1Duration(uint8_t value);
94
95 uint8_t getDccBit0Duration() const;
96 esp_err_t setDccBit0Duration(uint8_t value);
97
98 uint8_t getDccBiDiBitDuration() const;
99 esp_err_t setDccBiDiBitDuration(uint8_t value);
100
101 uint8_t getDccProgrammingType() const;
102 esp_err_t setDccProgrammingType(uint8_t value);
103
104 uint8_t getDccStartupResetPacketCount() const;
105 esp_err_t setDccStartupResetPacketCount(uint8_t value);
106
107 uint8_t getDccContinueResetPacketCount() const;
108 esp_err_t setDccContinueResetPacketCount(uint8_t value);
109
110 uint8_t getDccProgramPacketCount() const;
111 esp_err_t setDccProgramPacketCount(uint8_t value);
112
113 bool getDccBitVerifyTo1() const;
114 esp_err_t setDccBitVerifyTo1(bool value);
115
116 uint8_t getDccProgrammingAckCurrent() const;
117 esp_err_t setDccProgrammingAckCurrent(uint8_t value);
118
119 uint8_t getDccLocoFlags() const;
120 esp_err_t setDccLocoFlags(uint8_t value);
121
122 uint8_t getDccAccessoryFlags() const;
123 esp_err_t setDccAccessoryFlags(uint8_t value);
124};
125
126} // namespace mem::nvs
NVS base.
Base(char const *namespace_name, nvs_open_mode_t open_mode)
Ctor.
Definition base.cpp:34
uint8_t getDccBiDiBitDuration() const
Get DCC BiDi bit duration.
Definition settings.cpp:447
std::string getStationGateway() const
Get station gateway.
Definition settings.cpp:186
esp_err_t setStationAlternativeSSID(std::string_view str)
Set alternative station SSID.
Definition settings.cpp:118
std::string getStationPassword() const
Get station password.
Definition settings.cpp:85
esp_err_t setDccBit0Duration(uint8_t value)
Set DCC bit 0 duration.
Definition settings.cpp:438
uint8_t getDccBit0Duration() const
Get DCC bit 0 duration.
Definition settings.cpp:426
esp_err_t setStationAlternativePassword(std::string_view str)
Set alternative station password.
Definition settings.cpp:139
std::string getStationAlternativeSSID() const
Get alternative station SSID.
Definition settings.cpp:104
std::string getStationmDNS() const
Get station mDNS.
Definition settings.cpp:45
esp_err_t setDccBiDiBitDuration(uint8_t value)
Set DCC BiDi bit duration.
Definition settings.cpp:461
esp_err_t setHttpExitMessage(bool value)
Set HTTP exit message.
Definition settings.cpp:264
uint8_t getDccProgramPacketCount() const
Get DCC program packet count.
Definition settings.cpp:536
esp_err_t setStationGateway(std::string_view str)
Set station gateway.
Definition settings.cpp:200
uint8_t getCurrentShortCircuitTime() const
Get current short circuit time.
Definition settings.cpp:359
Settings()
Definition settings.hpp:39
esp_err_t setDccAccessoryFlags(uint8_t value)
Set DCC accessory flags.
Definition settings.cpp:635
uint8_t getDccProgrammingAckCurrent() const
Get DCC programming ack current.
Definition settings.cpp:578
esp_err_t setCurrentLimitService(drv::out::track::CurrentLimit value)
Set current limit in service mode.
Definition settings.cpp:311
uint8_t getDccLocoFlags() const
Get DCC loco flags.
Definition settings.cpp:601
std::string getStationIP() const
Get station IP.
Definition settings.cpp:146
esp_err_t setLedDutyCycleWiFi(uint8_t value)
Set LED duty cycle for WiFi LED.
Definition settings.cpp:352
uint8_t getDccProgrammingType() const
Get DCC programming type.
Definition settings.cpp:470
uint8_t getLedDutyCycleBug() const
Get LED duty cycle for bug LED.
Definition settings.cpp:321
esp_err_t setStationPassword(std::string_view str)
Set station password.
Definition settings.cpp:97
esp_err_t setLedDutyCycleBug(uint8_t value)
Set LED duty cycle for bug LED.
Definition settings.cpp:333
esp_err_t setCurrentShortCircuitTime(uint8_t value)
Set current short circuit time.
Definition settings.cpp:374
uint8_t getDccAccessoryFlags() const
Get DCC accessory flags.
Definition settings.cpp:622
drv::out::track::CurrentLimit getCurrentLimit() const
Get current limit.
Definition settings.cpp:271
esp_err_t setDccStartupResetPacketCount(uint8_t value)
Set DCC startup reset packet count.
Definition settings.cpp:506
uint8_t getLedDutyCycleWiFi() const
Get LED duty cycle for WiFi LED.
Definition settings.cpp:340
esp_err_t setStationSSID(std::string_view str)
Set station SSID.
Definition settings.cpp:78
esp_err_t setHttpTransmitTimeout(uint8_t value)
Set HTTP transmit timeout.
Definition settings.cpp:243
uint8_t getDccBit1Duration() const
Get DCC bit 1 duration.
Definition settings.cpp:405
uint8_t getHttpReceiveTimeout() const
Get HTTP receive timeout.
Definition settings.cpp:207
bool getDccBitVerifyTo1() const
Get DCC bit verify.
Definition settings.cpp:558
esp_err_t setDccProgrammingType(uint8_t value)
Set DCC programming type.
Definition settings.cpp:484
esp_err_t setStationIP(std::string_view str)
Set station IP.
Definition settings.cpp:158
bool getHttpExitMessage() const
Get HTTP exit message.
Definition settings.cpp:251
esp_err_t setStationNetmask(std::string_view str)
Set station netmask.
Definition settings.cpp:179
esp_err_t setStationmDNS(std::string_view str)
Set station mDNS.
Definition settings.cpp:58
esp_err_t setCurrentLimit(drv::out::track::CurrentLimit value)
Set current limit.
Definition settings.cpp:285
uint8_t getDccContinueResetPacketCount() const
Get DCC continue reset packet count.
Definition settings.cpp:513
uint8_t getDccPreamble() const
Get DCC preamble count.
Definition settings.cpp:384
uint8_t getDccStartupResetPacketCount() const
Get DCC startup reset packet count.
Definition settings.cpp:491
esp_err_t setDccContinueResetPacketCount(uint8_t value)
Set DCC continue reset packet count.
Definition settings.cpp:528
esp_err_t setDccProgramPacketCount(uint8_t value)
Set DCC program packet count.
Definition settings.cpp:550
esp_err_t setDccBitVerifyTo1(bool value)
Set DCC bit verify.
Definition settings.cpp:571
esp_err_t setDccProgrammingAckCurrent(uint8_t value)
Set DCC programming ack current.
Definition settings.cpp:593
esp_err_t setHttpReceiveTimeout(uint8_t value)
Set HTTP receive timeout.
Definition settings.cpp:221
esp_err_t setDccBit1Duration(uint8_t value)
Set DCC bit 1 duration.
Definition settings.cpp:417
drv::out::track::CurrentLimit getCurrentLimitService() const
Get current limit in service mode.
Definition settings.cpp:295
std::string getStationNetmask() const
Get station netmask.
Definition settings.cpp:165
std::string getStationAlternativePassword() const
Get alternative station password.
Definition settings.cpp:125
esp_err_t setDccPreamble(uint8_t value)
Set DCC preamble count.
Definition settings.cpp:396
std::string getStationSSID() const
Get station SSID.
Definition settings.cpp:66
esp_err_t setDccLocoFlags(uint8_t value)
Set DCC loco flags.
Definition settings.cpp:612
uint8_t getHttpTransmitTimeout() const
Get HTTP transmit timeout.
Definition settings.cpp:229
CurrentLimit
Definition config.hpp:342
Definition accessories.cpp:27