My arduino IDE Gives me this error:
no matching function for call to 'fill_gradient(CRGB [131], byte&, CRGB, byte&, CRGB, String&)'
And i have no idea what causes it, i've #include'ed FastLED.h, and after some time trying to fix it all other *.h files of FastLED, but error was still there.
Tried adding FastLED. before function name, didn't work, gave me 'class CFastLED' has no member named 'fill_gradient'
Help me please.
Code:
#include <bitswap.h>
#include <chipsets.h>
#include <color.h>
#include <colorpalettes.h>
#include <colorutils.h>
#include <controller.h>
#include <cpp_compat.h>
#include <dmx.h>
#include <FastLED.h>
#include <fastled_config.h>
#include <fastled_delay.h>
#include <fastled_progmem.h>
#include <fastpin.h>
#include <fastspi.h>
#include <fastspi_bitbang.h>
#include <fastspi_dma.h>
#include <fastspi_nop.h>
#include <fastspi_ref.h>
#include <fastspi_types.h>
#include <hsv2rgb.h>
#include <led_sysdefs.h>
#include <lib8tion.h>
#include <noise.h>
#include <pixelset.h>
#include <pixeltypes.h>
#include <platforms.h>
#include <power_mgt.h>
#include <String.h>
#define NUM_LEDS 131
#define DATA_PIN 11
CRGB leds[NUM_LEDS];
byte command[12];
String dir = "SHORTEST_HUES";
void setup() {
FastLED.addLeds<WS2812B, DATA_PIN, BRG>(leds, NUM_LEDS);
Serial.begin(921600);
}
void loop() {
while(Serial.available() == 0){}
command[0] = Serial.read(); //Recieve command code
switch(command[0])
{
default:
Serial.write(1);
break;
//////////////SET WHOLE STRIP. Format: mode, H, S, V. |OR| mode, R, G, B.
case 0:
while(Serial.available() < 4){};
for(int i = 1; i <= 4; i++)
{
command[i] = Serial.read();
}
/////////PUT LED CODE AFTER THIS/////////
if(command[1] == 0) // 0 = HSV 1 = RGB
{
for(int i = 0; i<=NUM_LEDS; i++)
{
leds[i] = CHSV(command[2],command[3],command[4]);
}
}
else
{
for(int i = 0; i<=NUM_LEDS; i++)
{
leds[i] = CRGB(command[2],command[3],command[4]);
}
}
FastLED.show();
break;
//////////////FILL GRADIENT (FILL SOLID). Format: mode, (Start color), (End color), StartPoint, End Point, DIR (0 - FWD, 1 = BKWD, 2 - SHRT, 3 = LNG)
case 1:
while(Serial.available() < 10){};
for(int i = 1; i <= 10; i++)
{
command[i] = Serial.read();
}
switch(command[10])
{
case 0:
dir = "FORWARD_HUES";
break;
case 1:
dir = "BKWD_HUES";
break;
case 2:
dir = "SHORTEST_HUES";
break;
case 3:
dir = "LONGEST_HUES";
break;
}
if(command[1] == 0) // 0 = HSV 1 = RGB
{
fill_gradient(leds, command[7], CRGB(command[2],command[3],command[4]),command[9], CRGB(command[5],command[6],command[7]), dir);
}
else
{
fill_gradient(leds, command[7],CRGB(command[2],command[3],command[4]),command[9],CRGB(command[5],command[6],command[7]), dir);
}
}
}