@@ -48,22 +48,25 @@ void WrapperJsonServer::readData(void) {
4848 String command = root[" command" ].asString ();
4949 if (command.equals (" serverinfo" )) {
5050 Log.info (" serverinfo" );
51- // _tcpClient.println("{\"success\":true}");
52- // enum Mode { RAINBOW, STATIC_COLOR, AMBILIGHT, FIRE2012, OFF };
5351 _tcpClient.println (" {\" info\" :{\" effects\" :["
5452 " {\" args\" :{\" speed\" :1.0},\" name\" :\" Rainbow mood\" ,\" script\" :\" rainbow\" },"
5553 " {\" args\" :{\" speed\" :1.0},\" name\" :\" Fire2012\" ,\" script\" :\" fire2012\" }"
5654 " ],\" hostname\" :\" ESP8266\" ,\" priorities\" :[],\" transform\" :[{\" blacklevel\" :[0.0,0.0,0.0],\" gamma\" :[1.0,1.0,1.0],\" id\" :\" default\" ,\" saturationGain\" :1.0,\" threshold\" :[0.0,0.0,0.0],\" valueGain\" :1.0,\" whitelevel\" :[1.0,1.0,1.0]}]},\" success\" :true}" );
5755 } else if (command.equals (" color" )) {
5856 ledColorWipe (root[" color" ][0 ], root[" color" ][1 ], root[" color" ][2 ]);
5957 _tcpClient.println (" {\" success\" :true}" );
60- } else if (command.equals (" clear" )) {
58+ } else if (command.equals (" clear" ) || command. equals ( " clearall " ) ) {
6159 clearCmd ();
6260 _tcpClient.println (" {\" success\" :true}" );
6361 } else if (command.equals (" effect" )) {
64- // {"command":"effect","effect":{"name":"Rainbow mood","args":{"speed":1}},"priority":50}
6562 String effect = root[" effect" ][" name" ].asString ();
6663 int speed = root[" effect" ][" speed" ];
64+
65+ if (effect.equals (" Rainbow mood" )) {
66+ effectChange (RAINBOW);
67+ } else if (effect.equals (" Fire2012" )) {
68+ effectChange (FIRE2012);
69+ }
6770 _tcpClient.println (" {\" success\" :true}" );
6871 } else {
6972 _tcpClient.println (" {\" success\" :false}" );
@@ -91,3 +94,12 @@ void WrapperJsonServer::clearCmd(void) {
9194 }
9295}
9396
97+ void WrapperJsonServer::onEffectChange (void (* function) (Mode)) {
98+ effectChangePointer = function;
99+ }
100+ void WrapperJsonServer::effectChange (Mode effect) {
101+ if (effectChangePointer) {
102+ effectChangePointer (effect);
103+ }
104+ }
105+
0 commit comments