fablab-luenen / McLighting

The ESP8266 based multi-client lighting gadget
MIT License
215 stars 30 forks source link

compiling errors by setting USE_WS2812FX_DMA 2 #87

Closed perlchamp closed 4 years ago

perlchamp commented 4 years ago

Describe the bug if i set the constant USE_WS2812FX_DMA to two, there will display a lot of compiling errors. my skills are near zero, so i don't know if it's an error from an embedded library ...

define USE_WS2812FX_DMA 2

i did set this to two, cause i wanted to use D4/GPIO2

these are the displayed errors: NeoEsp8266Uart1800KbpsMethod' was not declared in this scope NeoPixelBus<NeoRgbwFeature, NeoEsp8266Uart1800KbpsMethod> dma = NULL; //800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) % McLighting:130:63: error: template argument 2 is invalid NeoPixelBus<NeoRgbwFeature, NeoEsp8266Uart1800KbpsMethod> dma = NULL; //800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) % McLighting:130:71: error: invalid type in declaration before '=' token NeoPixelBus<NeoRgbwFeature, NeoEsp8266Uart1800KbpsMethod> dma = NULL; //800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) % E:\APPDATA\Arduino\McLighting\McLighting.ino: In function 'void initDMA(uint16_t)': McLighting:154:45: error: 'NeoEsp8266Uart1800KbpsMethod' was not declared in this scope dma = new NeoPixelBus<NeoRgbwFeature, NeoEsp8266Uart1800KbpsMethod>(stripSize); //800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) % McLighting:154:73: error: template argument 2 is invalid dma = new NeoPixelBus<NeoRgbwFeature, NeoEsp8266Uart1800KbpsMethod>(stripSize); //800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) % McLighting:159:10: error: request for member 'Begin' in ' dma', which is of non-class type 'int' dma->Begin(); % E:\APPDATA\Arduino\McLighting\McLighting.ino: In function 'void DMA_Show()': McLighting:163:13: error: request for member 'CanShow' in ' dma', which is of non-class type 'int' if(dma->CanShow()) { % McLighting:164:19: error: request for member 'Pixels' in ' dma', which is of non-class type 'int' memcpy(dma->Pixels(), strip->getPixels(), dma->PixelsSize()); % McLighting:164:54: error: request for member 'PixelsSize' in ' dma', which is of non-class type 'int' memcpy(dma->Pixels(), strip->getPixels(), dma->PixelsSize()); % McLighting:165:12: error: request for member 'Dirty' in ' dma', which is of non-class type 'int' dma->Dirty(); % McLighting:166:12: error: request for member 'Show' in '* dma', which is of non-class type 'int' dma->Show(); % In file included from sketch\mode_custom_ws2812fx_animations.h:171:0, from E:\APPDATA\Arduino\McLighting\McLighting.ino:235: E:\APPDATA\Arduino\libraries\FastLED/FastLED.h: At global scope: E:\APPDATA\Arduino\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.003

pragma message "FastLED version 3.001.003"

                             %

In file included from E:\APPDATA\Arduino\libraries\FastLED/FastLED.h:65:0, from sketch\mode_custom_ws2812fx_animations.h:171, from E:\APPDATA\Arduino\McLighting\McLighting.ino:235: E:\APPDATA\Arduino\libraries\FastLED/fastspi.h:110:23: note: #pragma message: No hardware SPI pins defined. All SPI access will default to bitbanged output

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

                            %

exit status 1 'NeoEsp8266Uart1800KbpsMethod' was not declared in this scope

To Reproduce Steps to reproduce the behavior:

  1. open McLighting.ino in arduino IDE
  2. activate definitions.h
  3. line #1: #define USE_WS2812FX_DMA 2
  4. save changes
  5. upload to esp8266 12-F via arduino IDE

Expected behavior complete upload without errors (if setting: USE_WS2812FX_DMA 0 => upload works)

Screenshots ./.

Desktop (please complete the following information):

Smartphone (please complete the following information): ./.

Additional context for your information so long

bpohvoodoo commented 4 years ago

The message;

pragma message "No hardware SPI pins defined. All SPI access will default to bitbanged output"

comes from the FastLed library and can be ignored. There are no compiling errors here for V3.1.1 nor 3.1.2(development) Maybe your libraries are outdated. Try to update to latest versions.