Ich steh mal wieder voll auf der Leitung und blicks gar nicht!
Der Code des Sketch-Files sieht so aus:
#include <Tlc5940.h>
#include <tlcRGBLED.h>
RGBLED LED[] = {
RGBLED(0,1,2),
RGBLED(3,4,5),
RGBLED(6,7,8),
RGBLED(9,10,11),
RGBLED(12,13,14)
};
uint8_t i;
void setup()
{
uint8_t c1;
uint8_t c2;
uint8_t c3;
for(i=0; i<=4; i++){
//Initialisiere LED
c1=i*3;
c2=i*3+1;
c3=i*3+2;
LED[i].setChannels(c1,c2,c3); /* Das ist die Problem-Zeile! */
}
Tlc.init();
}
void loop()
{
for(i=0; i<=4; i++){
LED[i].setTLC(4095,0,0);
}
Tlc.update();
}
Lass ich die Problemzeile weg, dann funktioniert alles (die for-Schleife kann ich dann natürlich komplett weglassen!)
In tlcRGBLED.h ist die Klasse definiert:
class RGBLED {
uint8_t TLC_Channel_Red, TLC_Channel_Green, TLC_Channel_Blue;
uint16_t Red, Green, Blue;
public:
RGBLED(uint8_t,uint8_t,uint8_t);
void setChannels(uint8_t,uint8_t,uint8_t);
void setTLC(uint16_t,uint16_t,uint16_t);
};
und in tlcRGBLED.cpp ist u.a. die Klassen-Methode definiert:
void RGBLED::setChannels(uint8_t cr, uint8_t cg, uint8_t cb){
TLC_Channel_Red = cr;
TLC_Channel_Green = cg;
TLC_Channel_Blue = cb;
}
Der Compiler behauptet nun:
RGBLED_Test.cpp: In function 'void setup()':
RGBLED_Test:24: error: 'class RGBLED' has no member named 'setChannels'
Sorry, aber das versteh ich nicht, ich habe die Funktion 'setChannels' in der Klasse RGBLED deklariert.

Kann mich jemand aufklären!