Firmware  0.0.0
Loading...
Searching...
No Matches
mem::nvs::Settings Class Reference

Settings stored in NVS. More...

#include <settings.hpp>

Inheritance diagram for mem::nvs::Settings:
Collaboration diagram for mem::nvs::Settings:

Public Member Functions

 Settings ()
 
std::string getStationmDNS () const
 Get station mDNS.
 
esp_err_t setStationmDNS (std::string_view str)
 Set station mDNS.
 
std::string getStationSSID () const
 Get station SSID.
 
esp_err_t setStationSSID (std::string_view str)
 Set station SSID.
 
std::string getStationPassword () const
 Get station password.
 
esp_err_t setStationPassword (std::string_view str)
 Set station password.
 
uint8_t getHttpReceiveTimeout () const
 Get HTTP receive timeout.
 
esp_err_t setHttpReceiveTimeout (uint8_t value)
 Set HTTP receive timeout.
 
uint8_t getHttpTransmitTimeout () const
 Get HTTP transmit timeout.
 
esp_err_t setHttpTransmitTimeout (uint8_t value)
 Set HTTP transmit timeout.
 
out::track::CurrentLimit getCurrentLimit () const
 Get current limit.
 
esp_err_t setCurrentLimit (out::track::CurrentLimit value)
 Set current limit.
 
out::track::CurrentLimit getCurrentLimitService () const
 Get current limit in service mode.
 
esp_err_t setCurrentLimitService (out::track::CurrentLimit value)
 Set current limit in service mode.
 
uint8_t getCurrentShortCircuitTime () const
 Get current short circuit time.
 
esp_err_t setCurrentShortCircuitTime (uint8_t value)
 Set current short circuit time.
 
uint8_t getDccPreamble () const
 Get DCC preamble count.
 
esp_err_t setDccPreamble (uint8_t value)
 Set DCC preamble count.
 
uint8_t getDccBit1Duration () const
 Get DCC bit 1 duration.
 
esp_err_t setDccBit1Duration (uint8_t value)
 Set DCC bit 1 duration.
 
uint8_t getDccBit0Duration () const
 Get DCC bit 0 duration.
 
esp_err_t setDccBit0Duration (uint8_t value)
 Set DCC bit 0 duration.
 
uint8_t getDccBiDiBitDuration () const
 Get DCC BiDi bit duration.
 
esp_err_t setDccBiDiBitDuration (uint8_t value)
 Set DCC BiDi bit duration.
 
uint8_t getDccProgrammingType () const
 Get DCC programming type.
 
esp_err_t setDccProgrammingType (uint8_t value)
 Set DCC programming type.
 
uint8_t getDccStartupResetPacketCount () const
 Get DCC startup reset packet count.
 
esp_err_t setDccStartupResetPacketCount (uint8_t value)
 Set DCC startup reset packet count.
 
uint8_t getDccContinueResetPacketCount () const
 Get DCC continue reset packet count.
 
esp_err_t setDccContinueResetPacketCount (uint8_t value)
 Set DCC continue reset packet count.
 
uint8_t getDccProgramPacketCount () const
 Get DCC program packet count.
 
esp_err_t setDccProgramPacketCount (uint8_t value)
 Set DCC program packet count.
 
bool getDccBitVerifyTo1 () const
 Get DCC bit verify.
 
esp_err_t setDccBitVerifyTo1 (bool value)
 Set DCC bit verify.
 
uint8_t getDccProgrammingAckCurrent () const
 Get DCC programming ack current.
 
esp_err_t setDccProgrammingAckCurrent (uint8_t value)
 Set DCC programming ack current.
 
uint8_t getDccLocoFlags () const
 Get DCC loco flags.
 
esp_err_t setDccLocoFlags (uint8_t value)
 Set DCC loco flags.
 
uint8_t getDccAccessoryFlags () const
 Get DCC accessory flags.
 
esp_err_t setDccAccessoryFlags (uint8_t value)
 Set DCC accessory flags.
 
uint8_t getMduPreamble () const
 Get MDU preamble count.
 
esp_err_t setMduPreamble (uint8_t value)
 Set MDU preamble count.
 
uint8_t getMduAckreq () const
 Get MDU ackreq count.
 
esp_err_t setMduAckreq (uint8_t value)
 Set MDU ackreq count.
 
- Public Member Functions inherited from mem::nvs::Base
auto begin () const
 
auto cbegin () const
 
auto end () const
 
auto cend () const
 
esp_err_t erase (std::string const &key)
 Erase key-value pair with given key name.
 
esp_err_t eraseAll ()
 Erase all key-value pairs in a namespace.
 

Additional Inherited Members

- Protected Member Functions inherited from mem::nvs::Base
 Base (char const *namespace_name, nvs_open_mode_t open_mode)
 Ctor.
 
 ~Base ()
 Dtor.
 
std::string getBlob (std::string const &key) const
 Get blob value for given key.
 
esp_err_t setBlob (std::string const &key, std::string_view str)
 Set blob value for given key.
 
uint8_t getU8 (std::string const &key) const
 Get uint8_t value for given key.
 
esp_err_t setU8 (std::string const &key, uint8_t value)
 Set uint8_t value for given key.
 
uint8_t getU16 (std::string const &key) const
 Get uint16_t value for given key.
 
esp_err_t setU16 (std::string const &key, uint16_t value)
 Set uint16_t value for given key.
 

Detailed Description

nvs::Settings stores various firmware preferences in the NVS namespace "settings". Most settings are either directly strings or integer types, all others (e.g. out::track::CurrentLimit) are converted accordingly within the class. Each setting has a getter and a setter, the latter of which may perform various checks (e.g. value range).

Constructor & Destructor Documentation

◆ Settings()

mem::nvs::Settings::Settings ( )
inlineexplicit

Member Function Documentation

◆ getCurrentLimit()

out::track::CurrentLimit mem::nvs::Settings::getCurrentLimit ( ) const
Returns
Current limit

◆ getCurrentLimitService()

out::track::CurrentLimit mem::nvs::Settings::getCurrentLimitService ( ) const
Returns
Current limit in service mode

◆ getCurrentShortCircuitTime()

uint8_t mem::nvs::Settings::getCurrentShortCircuitTime ( ) const
Returns
Current short circuit time [ms]

◆ getDccAccessoryFlags()

uint8_t mem::nvs::Settings::getDccAccessoryFlags ( ) const
Returns
DCC accessory flags

◆ getDccBiDiBitDuration()

uint8_t mem::nvs::Settings::getDccBiDiBitDuration ( ) const
Returns
DCC BiDi bit duration [µs]

◆ getDccBit0Duration()

uint8_t mem::nvs::Settings::getDccBit0Duration ( ) const
Returns
DCC bit 0 duration [µs]

◆ getDccBit1Duration()

uint8_t mem::nvs::Settings::getDccBit1Duration ( ) const
Returns
DCC bit 1 duration [µs]

◆ getDccBitVerifyTo1()

bool mem::nvs::Settings::getDccBitVerifyTo1 ( ) const
Returns
DCC bit verify

◆ getDccContinueResetPacketCount()

uint8_t mem::nvs::Settings::getDccContinueResetPacketCount ( ) const
Returns
DCC continue reset packet count

◆ getDccLocoFlags()

uint8_t mem::nvs::Settings::getDccLocoFlags ( ) const
Returns
DCC loco flags

◆ getDccPreamble()

uint8_t mem::nvs::Settings::getDccPreamble ( ) const
Returns
DCC preamble count

◆ getDccProgrammingAckCurrent()

uint8_t mem::nvs::Settings::getDccProgrammingAckCurrent ( ) const
Returns
DCC programming ack current [mA]

◆ getDccProgrammingType()

uint8_t mem::nvs::Settings::getDccProgrammingType ( ) const
Returns
DCC programming type

◆ getDccProgramPacketCount()

uint8_t mem::nvs::Settings::getDccProgramPacketCount ( ) const
Returns
DCC program packet count

◆ getDccStartupResetPacketCount()

uint8_t mem::nvs::Settings::getDccStartupResetPacketCount ( ) const
Returns
DCC startup reset packet count

◆ getHttpReceiveTimeout()

uint8_t mem::nvs::Settings::getHttpReceiveTimeout ( ) const
Returns
HTTP receive timeout [s]

◆ getHttpTransmitTimeout()

uint8_t mem::nvs::Settings::getHttpTransmitTimeout ( ) const
Returns
HTTP transmit timeout [s]

◆ getMduAckreq()

uint8_t mem::nvs::Settings::getMduAckreq ( ) const
Returns
MDU ackreq count

◆ getMduPreamble()

uint8_t mem::nvs::Settings::getMduPreamble ( ) const
Returns
MDU preamble count

◆ getStationmDNS()

std::string mem::nvs::Settings::getStationmDNS ( ) const
Returns
Station mDNS

◆ getStationPassword()

std::string mem::nvs::Settings::getStationPassword ( ) const
Returns
Station password

◆ getStationSSID()

std::string mem::nvs::Settings::getStationSSID ( ) const
Returns
Station SSID

◆ setCurrentLimit()

esp_err_t mem::nvs::Settings::setCurrentLimit ( out::track::CurrentLimit value)
Parameters
valueCurrent limit
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGCurrent limit out of range

◆ setCurrentLimitService()

esp_err_t mem::nvs::Settings::setCurrentLimitService ( out::track::CurrentLimit value)
Parameters
valueCurrent limit in service mode
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGCurrent limit in service mode out of range

◆ setCurrentShortCircuitTime()

esp_err_t mem::nvs::Settings::setCurrentShortCircuitTime ( uint8_t value)
Parameters
valueCurrent short circuit time [ms]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGCurrent short circuit time out of range

◆ setDccAccessoryFlags()

esp_err_t mem::nvs::Settings::setDccAccessoryFlags ( uint8_t value)
Parameters
valueDCC accessory flags
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed

◆ setDccBiDiBitDuration()

esp_err_t mem::nvs::Settings::setDccBiDiBitDuration ( uint8_t value)
Parameters
valueDCC BiDi bit duration [µs]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC BiDi bit duration out of range

◆ setDccBit0Duration()

esp_err_t mem::nvs::Settings::setDccBit0Duration ( uint8_t value)
Parameters
valueDCC bit 0 duration [µs]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC bit 0 duration out of range

◆ setDccBit1Duration()

esp_err_t mem::nvs::Settings::setDccBit1Duration ( uint8_t value)
Parameters
valueDCC bit 1 duration [µs]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC bit 1 duration out of range

◆ setDccBitVerifyTo1()

esp_err_t mem::nvs::Settings::setDccBitVerifyTo1 ( bool value)
Parameters
valueDCC bit verify
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed

◆ setDccContinueResetPacketCount()

esp_err_t mem::nvs::Settings::setDccContinueResetPacketCount ( uint8_t value)
Parameters
valueDCC continue reset packet count
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC continue reset packet count out of range

◆ setDccLocoFlags()

esp_err_t mem::nvs::Settings::setDccLocoFlags ( uint8_t value)
Parameters
valueDCC loco flags
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed

◆ setDccPreamble()

esp_err_t mem::nvs::Settings::setDccPreamble ( uint8_t value)
Parameters
valueDCC preamble count
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC preamble count out of range

◆ setDccProgrammingAckCurrent()

esp_err_t mem::nvs::Settings::setDccProgrammingAckCurrent ( uint8_t value)
Parameters
valueDCC programming ack current [mA]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC programming ack current out of range

◆ setDccProgrammingType()

esp_err_t mem::nvs::Settings::setDccProgrammingType ( uint8_t value)
Parameters
valueDCC programming type
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC programming type out of range

◆ setDccProgramPacketCount()

esp_err_t mem::nvs::Settings::setDccProgramPacketCount ( uint8_t value)
Parameters
valueDCC program packet count
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC program packet count out of range

◆ setDccStartupResetPacketCount()

esp_err_t mem::nvs::Settings::setDccStartupResetPacketCount ( uint8_t value)
Parameters
valueDCC startup reset packet count
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGDCC startup reset packet count out of range

◆ setHttpReceiveTimeout()

esp_err_t mem::nvs::Settings::setHttpReceiveTimeout ( uint8_t value)
Parameters
valueHTTP receive timeout [s]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGHTTP receive timeout out of range

◆ setHttpTransmitTimeout()

esp_err_t mem::nvs::Settings::setHttpTransmitTimeout ( uint8_t value)
Parameters
valueHTTP transmit timeout [s]
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGHTTP transmit timeout out of range

◆ setMduAckreq()

esp_err_t mem::nvs::Settings::setMduAckreq ( uint8_t value)
Parameters
valueMDU ackreq count
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGMDU ackreq count out of range

◆ setMduPreamble()

esp_err_t mem::nvs::Settings::setMduPreamble ( uint8_t value)
Parameters
valueMDU preamble count
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_INVALID_ARGMDU preamble count out of range

◆ setStationmDNS()

esp_err_t mem::nvs::Settings::setStationmDNS ( std::string_view str)
Parameters
strStation mDNS
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_NVS_VALUE_TOO_LONGString value is too long
ESP_ERR_INVALID_ARGInvalid mDNS

◆ setStationPassword()

esp_err_t mem::nvs::Settings::setStationPassword ( std::string_view str)
Parameters
strStation password
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_NVS_VALUE_TOO_LONGString value is too long

◆ setStationSSID()

esp_err_t mem::nvs::Settings::setStationSSID ( std::string_view str)
Parameters
strStation SSID
Return values
ESP_OKValue was set successfully
ESP_FAILInternal error
ESP_ERR_NVS_INVALID_NAMEKey name doesn't satisfy constraints
ESP_ERR_NVS_NOT_ENOUGH_SPACENot enough space
ESP_ERR_NVS_REMOVE_FAILEDValue wasn't updated because flash write operation has failed
ESP_ERR_NVS_VALUE_TOO_LONGString value is too long

The documentation for this class was generated from the following files: