diyhue / Lights

DIY lights with support for diyHue
https://diyhue.org/
172 stars 97 forks source link

Color change #128

Closed MCZERNIK10 closed 1 year ago

MCZERNIK10 commented 2 years ago

Hi, In file: ESP8266)/Generic_WS2812_Strip/

I have a problem, I cannot redefine the colors in lines 53 and 613 of NeoGrbFeature to NeoBgrFeature. Arduino generates compile errors.

mariusmotea commented 2 years ago

Hi,

can you paste here the error lines? Try to downgrade WiFi Manager library, there are known issues with recent versions.

MCZERNIK10 commented 2 years ago

Hi. Generic_WS2812_Strip:53:13: error: 'NeobgrFeature' was not declared in this scope

NeoPixelBus<NeobgrFeature, Neo800KbpsMethod>* strip = NULL;

         ^

Generic_WS2812_Strip:53:44: error: template argument 1 is invalid

NeoPixelBus<NeobgrFeature, Neo800KbpsMethod>* strip = NULL;

                                        ^

Generic_WS2812_Strip:53:53: error: invalid type in declaration before '=' token

NeoPixelBus<NeobgrFeature, Neo800KbpsMethod>* strip = NULL;

                                                 ^

C:\Users\Czerniki\Desktop\Lights-master\ESP8266\Generic_WS2812_Strip\Generic_WS2812_Strip.ino: In function 'void infoLight(RgbColor)':

Generic_WS2812_Strip:219:12: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

 strip->SetPixelColor(i, color);

        ^

Generic_WS2812_Strip:220:12: error: request for member 'Show' in '* strip', which is of non-class type 'int'

 strip->Show();

        ^

Generic_WS2812_Strip:222:12: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

 strip->SetPixelColor(i, black);

        ^

Generic_WS2812_Strip:223:12: error: request for member 'Show' in '* strip', which is of non-class type 'int'

 strip->Show();

        ^

C:\Users\Czerniki\Desktop\Lights-master\ESP8266\Generic_WS2812_Strip\Generic_WS2812_Strip.ino: In function 'void lightEngine()':

Generic_WS2812_Strip:318:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel, convFloat(lights[light].currentColors));

                    ^

Generic_WS2812_Strip:320:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel, blending(lights[0].currentColors, lights[1].currentColors, pixel + 1 - (dividedLightsArray[0] - transitionLeds / 2 ))); // calculate the transition led color 

                    ^

Generic_WS2812_Strip:339:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel + pixelSum + transitionLeds, blending( lights[light - 1].currentColors, lights[light].currentColors, pixel + 1));

                    ^

Generic_WS2812_Strip:343:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel + pixelSum + transitionLeds, blending( lights[light].currentColors, lights[light + 1].currentColors, pixel + transitionLeds / 2 - dividedLightsArray[light]));

                    ^

Generic_WS2812_Strip:346:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel + pixelSum + transitionLeds, convFloat(lights[light].currentColors));

                    ^

Generic_WS2812_Strip:352:18: error: request for member 'ClearTo' in '* strip', which is of non-class type 'int'

       strip->ClearTo(convFloat(lights[light].currentColors), 0, pixelCount - 1);

              ^

Generic_WS2812_Strip:354:16: error: request for member 'Show' in '* strip', which is of non-class type 'int'

     strip->Show(); //show what was calculated previously 

            ^

Generic_WS2812_Strip:368:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel, convFloat(lights[light].currentColors));

                    ^

Generic_WS2812_Strip:370:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel, blending(lights[0].currentColors, lights[1].currentColors, pixel + 1 - (dividedLightsArray[0] - transitionLeds / 2 )));

                    ^

Generic_WS2812_Strip:389:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel + pixelSum + transitionLeds, blending( lights[light - 1].currentColors, lights[light].currentColors, pixel + 1));

                    ^

Generic_WS2812_Strip:393:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel + pixelSum + transitionLeds, blending( lights[light].currentColors, lights[light + 1].currentColors, pixel + transitionLeds / 2 - dividedLightsArray[light]));

                    ^

Generic_WS2812_Strip:396:24: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

             strip->SetPixelColor(pixel + pixelSum + transitionLeds, convFloat(lights[light].currentColors));

                    ^

Generic_WS2812_Strip:402:18: error: request for member 'ClearTo' in '* strip', which is of non-class type 'int'

       strip->ClearTo(convFloat(lights[light].currentColors), 0, pixelCount - 1);

              ^

Generic_WS2812_Strip:404:16: error: request for member 'Show' in '* strip', which is of non-class type 'int'

     strip->Show();

            ^

C:\Users\Czerniki\Desktop\Lights-master\ESP8266\Generic_WS2812_Strip\Generic_WS2812_Strip.ino: In function 'void ChangeNeoPixels(uint16_t)':

Generic_WS2812_Strip:613:27: error: 'NeobgrFeature' was not declared in this scope

strip = new NeoPixelBus<NeobgrFeature, Neo800KbpsMethod>(newCount); // and recreate with new count

                       ^

Generic_WS2812_Strip:613:58: error: template argument 1 is invalid

strip = new NeoPixelBus<NeobgrFeature, Neo800KbpsMethod>(newCount); // and recreate with new count

                                                      ^

Generic_WS2812_Strip:615:10: error: request for member 'Begin' in '* strip', which is of non-class type 'int'

strip->Begin();

      ^

C:\Users\Czerniki\Desktop\Lights-master\ESP8266\Generic_WS2812_Strip\Generic_WS2812_Strip.ino: In function 'void entertainment()':

Generic_WS2812_Strip:928:22: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

           strip->SetPixelColor(pixel, convFloat(lights[light].currentColors));

                  ^

Generic_WS2812_Strip:930:22: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

           strip->SetPixelColor(pixel, blendingEntert(lights[0].currentColors, lights[1].currentColors, pixel + 1 - (dividedLightsArray[0] - transitionLeds / 2 )));

                  ^

Generic_WS2812_Strip:948:22: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

           strip->SetPixelColor(pixel + pixelSum + transitionLeds, blendingEntert( lights[light - 1].currentColors, lights[light].currentColors, pixel + 1));

                  ^

Generic_WS2812_Strip:952:22: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

           strip->SetPixelColor(pixel + pixelSum + transitionLeds, blendingEntert( lights[light].currentColors, lights[light + 1].currentColors, pixel + transitionLeds / 2 - dividedLightsArray[light]));

                  ^

Generic_WS2812_Strip:955:22: error: request for member 'SetPixelColor' in '* strip', which is of non-class type 'int'

           strip->SetPixelColor(pixel + pixelSum + transitionLeds, convFloat(lights[light].currentColors));

                  ^

Generic_WS2812_Strip:961:16: error: request for member 'ClearTo' in '* strip', which is of non-class type 'int'

     strip->ClearTo(convFloat(lights[light].currentColors), 0, pixelCount - 1);

            ^

Generic_WS2812_Strip:964:12: error: request for member 'Show' in '* strip', which is of non-class type 'int'

 strip->Show();
MCZERNIK10 commented 2 years ago

When compiling with NeoBrgFuture, the compiler reports no errors but the green and red colors are inverted on the palette.

mariusmotea commented 2 years ago

Can you show the libraries versions you are using. I manage to compile the code with all new libraries. Do you have neopixelbus by Makuna library installed?

caribo commented 2 years ago

Check your code .

Shouldn't it be NeoBgrFeature rather than NeobgrFeature?

On Thu, 26 May 2022, 10:11 Motea Marius, @.***> wrote:

Can you show the libraries versions you are using. I manage to compile the code with all new libraries. Do you have neopixelbus by Makuna library installed?

— Reply to this email directly, view it on GitHub https://github.com/diyhue/Lights/issues/128#issuecomment-1138328575, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFCLJ3LNFPED5HK6ACHHITVL4547ANCNFSM5W2TEEAQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

mariusmotea commented 1 year ago

This was a naming issue in WiFI Manager library that was fixed in recent releases.