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

Commit

Permalink
Merge pull request #22 from SciLor/develop
Browse files Browse the repository at this point in the history
Fix effect speed (again)
  • Loading branch information
SciLor committed Dec 4, 2016
2 parents 2d69c5c + 8548b43 commit 17fd743
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 15 deletions.
16 changes: 9 additions & 7 deletions HyperionRGB/HyperionRGB.ino
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ void animationStep() {
}
}

void changeMode(Mode newMode, double interval = 0.0d) {
void changeMode(Mode newMode, int interval = 0) {
if (newMode != activeMode) {
Log.info("Mode changed to %i", newMode);
activeMode = newMode;
Expand All @@ -76,19 +76,21 @@ void changeMode(Mode newMode, double interval = 0.0d) {
case STATIC_COLOR:
break;
case RAINBOW:
if (interval == 0.0d)
interval = 0.5d;
animationThread.setInterval(interval / 1000);
if (interval == 0)
interval = 500;
animationThread.setInterval(interval);
break;
case FIRE2012:
if (interval == 0.0d)
interval = 0.016d;
animationThread.setInterval(interval / 1000);
if (interval == 0)
interval = 16;
animationThread.setInterval(interval);
break;
case HYPERION_UDP:
if (!autoswitch)
udpLed.begin();
}
if (interval > 0)
Log.debug("Interval set to %ims", interval);
}
}

Expand Down
12 changes: 7 additions & 5 deletions HyperionRGB/WrapperJsonServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,11 @@ void WrapperJsonServer::readData(void) {
_tcpClient.println("{\"success\":true}");
} else if (command.equals("effect")) {
String effect = root["effect"]["name"].asString();
double speed = root["effect"]["speed"];
double interval = 1 / speed;
int duration = root["duration"];
double effectSpeed = root["effect"]["args"]["speed"];
int interval = 0;
if (effectSpeed > 0) {
interval = (int)(1000.0 / effectSpeed);
}

if (effect.equals("Hyperion UDP")) {
effectChange(HYPERION_UDP);
Expand Down Expand Up @@ -103,10 +105,10 @@ void WrapperJsonServer::clearCmd(void) {
}
}

void WrapperJsonServer::onEffectChange(void(* function) (Mode, double)) {
void WrapperJsonServer::onEffectChange(void(* function) (Mode, int)) {
effectChangePointer = function;
}
void WrapperJsonServer::effectChange(Mode effect, double interval/* = 1.0d*/) {
void WrapperJsonServer::effectChange(Mode effect, int interval/* = 0*/) {
if (effectChangePointer) {
effectChangePointer(effect, interval);
}
Expand Down
6 changes: 3 additions & 3 deletions HyperionRGB/WrapperJsonServer.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class WrapperJsonServer {
void
onLedColorWipe(void(* function) (byte, byte, byte)),
onClearCmd(void(* function) (void)),
onEffectChange(void(* function) (Mode, double));
onEffectChange(void(* function) (Mode, int));
private:
void
handleConnection(boolean newClient),
Expand All @@ -33,8 +33,8 @@ class WrapperJsonServer {
clearCmd(void),
(* clearCmdPointer) (void);
void
effectChange(Mode effect, double interval = 1.0d),
(* effectChangePointer) (Mode, double);
effectChange(Mode effect, int interval = 0),
(* effectChangePointer) (Mode, int);

WiFiServer _tcpServer;
WiFiClient _tcpClient;
Expand Down

0 comments on commit 17fd743

Please sign in to comment.