Привет!
Есть такой код:
LED_array_HSV[index].S = 0;
LED_array_HSV[index].V = max_brightness;
if (!index)
{
*mode = fade;
}
while((LED_qty - 1) - index)
{
LED_array_HSV[++index].V--;
if (LED_array_HSV[index].V == min_brightness)
{
break;
}
}
Где LED_array_HSV[] - это массив структур:
typedef struct
{
uint16_t H; /* Hue */
uint8_t S; /* Saturation */
uint8_t V; /* Value */
} HSV_t;
Index - текущий светодиод в ленте, LED_qty - их общее количество. Обход начинается со старшего индекса и до нуля. И далее режим меняется на:
*mode = fade;
Этот код порождает комету с длинным исчезающим хвостом (количество светодиодов равно (max_brightness - min_brightness).
А как надо модифицировать код, чтобы получилось две кометы, летящие друг на друга?