C++ の Particle Photon で FastLED を使用しており、ピクセル配列の要素の 1 つに新しい値を割り当てようとしています。
基本的に、次のように宣言された配列があります。
NSFastLED::CRGB leds[1];
LED の値を変更するために、これを作成した「アニメーション」クラスに渡します。
void SomeClass::loop()
{
// Get the pointer to the current animation from a vector
Animation *currentAnim = animations.at(currentAnimation);
currentAnim->animate(leds);
...
}
アニメーションでは、非常に単純なことをしようとしています - その LED 配列の要素を何らかの値に設定します。テストでは、静的整数「0」に設定しても問題ありません。
void MyAnimation::animate(NSFastLED::CRGB *leds)
{
for(int i = 0; i < numLeds; i++)
{
Serial.print(leds[i]); // "1"
leds[i] = 0;
Serial.print(leds[i]); // "1"
}
}
問題は、配列要素がまったく設定されていないことです。ご覧のとおり、これは私が問題を抱えているアニメーション クラスの内部でもあります。も使用してみまし(leds*)[i] = 0
たが、それも効果がありません。
値が配列に設定されていないのはなぜですか?