Skip to content
This repository was archived by the owner on Mar 1, 2024. It is now read-only.

Commit 17fd743

Browse files
authored
Merge pull request #22 from SciLor/develop
Fix effect speed (again)
2 parents 2d69c5c + 8548b43 commit 17fd743

File tree

3 files changed

+19
-15
lines changed

3 files changed

+19
-15
lines changed

HyperionRGB/HyperionRGB.ino

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ void animationStep() {
6161
}
6262
}
6363

64-
void changeMode(Mode newMode, double interval = 0.0d) {
64+
void changeMode(Mode newMode, int interval = 0) {
6565
if (newMode != activeMode) {
6666
Log.info("Mode changed to %i", newMode);
6767
activeMode = newMode;
@@ -76,19 +76,21 @@ void changeMode(Mode newMode, double interval = 0.0d) {
7676
case STATIC_COLOR:
7777
break;
7878
case RAINBOW:
79-
if (interval == 0.0d)
80-
interval = 0.5d;
81-
animationThread.setInterval(interval / 1000);
79+
if (interval == 0)
80+
interval = 500;
81+
animationThread.setInterval(interval);
8282
break;
8383
case FIRE2012:
84-
if (interval == 0.0d)
85-
interval = 0.016d;
86-
animationThread.setInterval(interval / 1000);
84+
if (interval == 0)
85+
interval = 16;
86+
animationThread.setInterval(interval);
8787
break;
8888
case HYPERION_UDP:
8989
if (!autoswitch)
9090
udpLed.begin();
9191
}
92+
if (interval > 0)
93+
Log.debug("Interval set to %ims", interval);
9294
}
9395
}
9496

HyperionRGB/WrapperJsonServer.cpp

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,11 @@ void WrapperJsonServer::readData(void) {
6565
_tcpClient.println("{\"success\":true}");
6666
} else if (command.equals("effect")) {
6767
String effect = root["effect"]["name"].asString();
68-
double speed = root["effect"]["speed"];
69-
double interval = 1 / speed;
70-
int duration = root["duration"];
68+
double effectSpeed = root["effect"]["args"]["speed"];
69+
int interval = 0;
70+
if (effectSpeed > 0) {
71+
interval = (int)(1000.0 / effectSpeed);
72+
}
7173

7274
if (effect.equals("Hyperion UDP")) {
7375
effectChange(HYPERION_UDP);
@@ -103,10 +105,10 @@ void WrapperJsonServer::clearCmd(void) {
103105
}
104106
}
105107

106-
void WrapperJsonServer::onEffectChange(void(* function) (Mode, double)) {
108+
void WrapperJsonServer::onEffectChange(void(* function) (Mode, int)) {
107109
effectChangePointer = function;
108110
}
109-
void WrapperJsonServer::effectChange(Mode effect, double interval/* = 1.0d*/) {
111+
void WrapperJsonServer::effectChange(Mode effect, int interval/* = 0*/) {
110112
if (effectChangePointer) {
111113
effectChangePointer(effect, interval);
112114
}

HyperionRGB/WrapperJsonServer.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class WrapperJsonServer {
2020
void
2121
onLedColorWipe(void(* function) (byte, byte, byte)),
2222
onClearCmd(void(* function) (void)),
23-
onEffectChange(void(* function) (Mode, double));
23+
onEffectChange(void(* function) (Mode, int));
2424
private:
2525
void
2626
handleConnection(boolean newClient),
@@ -33,8 +33,8 @@ class WrapperJsonServer {
3333
clearCmd(void),
3434
(* clearCmdPointer) (void);
3535
void
36-
effectChange(Mode effect, double interval = 1.0d),
37-
(* effectChangePointer) (Mode, double);
36+
effectChange(Mode effect, int interval = 0),
37+
(* effectChangePointer) (Mode, int);
3838

3939
WiFiServer _tcpServer;
4040
WiFiClient _tcpClient;

0 commit comments

Comments
 (0)