Skip to content

Commit a47be19

Browse files
authored
Use std::string_view for mode names (#528)
* Use std::string_view for mode names * Typo
1 parent 0eacbe0 commit a47be19

16 files changed

Lines changed: 45 additions & 46 deletions

firmware/include/modes/StreamMode.h

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@
1010
class StreamMode final : public ModeModule
1111
{
1212
private:
13-
static constexpr std::string_view _name = "Stream";
14-
1513
uint16_t port = 4048;
1614

1715
std::unique_ptr<AsyncUDP> udp{};
@@ -22,7 +20,7 @@ class StreamMode final : public ModeModule
2220
static void onPacket(AsyncUDPPacket packet);
2321

2422
public:
25-
explicit StreamMode() : ModeModule(_name.data()) {};
23+
explicit StreamMode() : ModeModule("Stream") {};
2624

2725
void configure() override;
2826
void begin() override;

firmware/include/modules/ModeModule.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
#pragma once
22

33
#include <ArduinoJson.h> // NOLINT(misc-include-cleaner)
4+
#include <string_view>
45

56
class ModeModule
67
{
78
protected:
8-
explicit ModeModule(const char *name) : name(name) {};
9+
explicit ModeModule(std::string_view name) : name(name) {};
910

1011
public:
1112
virtual ~ModeModule() = default;
@@ -15,7 +16,7 @@ class ModeModule
1516
ModeModule(ModeModule &&) = delete;
1617
ModeModule &operator=(ModeModule &&) = delete;
1718

18-
const char *const name;
19+
const std::string_view name{};
1920

2021
virtual void configure();
2122
virtual void begin();

firmware/include/services/ModesService.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ class ModesService final : public ServiceModule
176176
void begin();
177177
void handle();
178178
void setActive(bool active);
179-
void setMode(const char *name);
179+
void setMode(std::string_view _name);
180180
void setModeNext();
181181
void setModePrevious();
182182
[[nodiscard]] TaskHandle_t getTaskHandle() const;

firmware/src/extensions/PlaylistExtension.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ void PlaylistExtension::handle()
100100
{
101101
step = 0;
102102
}
103-
Modes.setMode(playlist[step].mode.c_str());
103+
Modes.setMode(playlist[step].mode);
104104
lastMillis = millis();
105105
}
106106
}

firmware/src/modes/AnimationMode.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void AnimationMode::handle()
2424
#endif // EXTENSION_MICROPHONE
2525
{
2626
Preferences Storage;
27-
Storage.begin(name, true);
27+
Storage.begin(name.data(), true);
2828
if (Storage.isKey(std::to_string(index).c_str()))
2929
{
3030
lastMillis = millis();
@@ -52,7 +52,7 @@ void AnimationMode::setFrame(uint8_t _index, std::span<const uint8_t> frame)
5252
{
5353
lastMillis = millis() + (frame.size() * 2);
5454
Preferences Storage;
55-
Storage.begin(name);
55+
Storage.begin(name.data());
5656
Storage.putBytes(std::to_string(_index).c_str(), frame.data(), frame.size());
5757
Storage.end();
5858
this->index = 0;
@@ -63,7 +63,7 @@ void AnimationMode::setFrame(uint8_t _index, std::span<const uint8_t> frame)
6363
void AnimationMode::setFrames(uint8_t count)
6464
{
6565
Preferences Storage;
66-
Storage.begin(name);
66+
Storage.begin(name.data());
6767
for (uint8_t i = count; i >= 2; ++i)
6868
{
6969
const std::string key = std::to_string(i);
@@ -82,7 +82,7 @@ void AnimationMode::setInterval(uint16_t _interval)
8282
{
8383
interval = _interval;
8484
Preferences Storage;
85-
Storage.begin(name);
85+
Storage.begin(name.data());
8686
Storage.putUShort("interval", interval);
8787
Storage.end();
8888
}

firmware/src/modes/ClockMode.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
void ClockMode::configure()
1515
{
1616
Preferences Storage;
17-
Storage.begin(name, true);
17+
Storage.begin(name.data(), true);
1818
if (Storage.isKey("font"))
1919
{
2020
fontName = Storage.getString("font").c_str();
@@ -157,7 +157,7 @@ void ClockMode::setFont(std::string_view _fontName)
157157
{
158158
fontName = _font->name.data();
159159
Preferences Storage;
160-
Storage.begin(name);
160+
Storage.begin(name.data());
161161
Storage.putString("font", fontName.c_str());
162162
Storage.end();
163163
pending = true;
@@ -171,7 +171,7 @@ void ClockMode::setTicking(bool _ticking)
171171
{
172172
ticking = _ticking;
173173
Preferences Storage;
174-
Storage.begin(name);
174+
Storage.begin(name.data());
175175
Storage.putBool("ticking", ticking);
176176
Storage.end();
177177
pending = true;

firmware/src/modes/CountdownMode.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
void CountdownMode::configure()
1919
{
2020
Preferences Storage;
21-
Storage.begin(name, true);
21+
Storage.begin(name.data(), true);
2222
if (Storage.isKey("font"))
2323
{
2424
fontName = Storage.getString("font").c_str();
@@ -139,7 +139,7 @@ void CountdownMode::save()
139139
{
140140
blink = 0;
141141
Preferences preferences;
142-
preferences.begin(name);
142+
preferences.begin(name.data());
143143
preferences.putLong64("epoch", std::chrono::duration_cast<std::chrono::seconds>(epoch.time_since_epoch()).count());
144144
preferences.end();
145145
transmit();
@@ -151,7 +151,7 @@ void CountdownMode::setFont(std::string_view _fontName)
151151
{
152152
fontName = _font->name.data();
153153
Preferences Storage;
154-
Storage.begin(name);
154+
Storage.begin(name.data());
155155
Storage.putString("font", fontName.c_str());
156156
Storage.end();
157157
transmit();

firmware/src/modes/DrawMode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ void DrawMode::end() { save(true); }
4343
void DrawMode::load(bool cache)
4444
{
4545
Preferences Storage;
46-
Storage.begin(name, true);
46+
Storage.begin(name.data(), true);
4747
const char *key = nullptr;
4848
if (cache && Storage.isKey("cache"))
4949
{
@@ -67,7 +67,7 @@ void DrawMode::save(bool cache)
6767
if (std::any_of(frame.begin(), frame.end(), [](uint8_t pixel) { return pixel > 0; }))
6868
{
6969
Preferences Storage;
70-
Storage.begin(name);
70+
Storage.begin(name.data());
7171
Storage.putBytes(cache ? "cache" : "saved", frame.data(), frame.size());
7272
Storage.end();
7373
pending = true;

firmware/src/modes/GameOfLifeMode.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ void GameOfLifeMode::configure()
3939
}
4040
#endif // EXTENSION_HOMEASSISTANT
4141
Preferences Storage;
42-
Storage.begin(name, true);
42+
Storage.begin(name.data(), true);
4343
if (Storage.isKey("clock"))
4444
{
4545
clock = Storage.getBool("clock");
@@ -117,7 +117,7 @@ void GameOfLifeMode::setClock(bool _clock)
117117
{
118118
clock = _clock;
119119
Preferences Storage;
120-
Storage.begin(name);
120+
Storage.begin(name.data());
121121
Storage.putBool("clock", clock);
122122
Storage.end();
123123
pending = true;

firmware/src/modes/HomeThermometerMode.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ void HomeThermometerMode::configure()
2424
"outdoor",
2525
})
2626
{
27-
const std::string id{std::regex_replace(name, std::regex(R"(\s+)"), "").append("_").append(where)};
27+
const std::string id{std::regex_replace(name.data(), std::regex(R"(\s+)"), "").append("_").append(where)};
2828
JsonObject component{(*_ha.discovery)[HomeAssistantAbbreviations::components][id].to<JsonObject>()};
2929
component[HomeAssistantAbbreviations::command_template].set(
3030
std::string(R"({")").append(where).append(R"(":{{value}}})"));

0 commit comments

Comments
 (0)