+1 голос

Привет!

Есть такой код:

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). 

А как надо модифицировать код, чтобы получилось две кометы, летящие друг на друга?

(2.3 тыс. баллов) 4 21 55

2 Ответы

+1 голос
масштабируйте "Index" и будет наоборот.
(441 баллов) 3 7 17
Надо не наоборот, а друг навстречу другу))
+1 голос

Возможно sser имел ввиду, что если направить "комету" в другую сторону и поставить этот код на равные с данными то получится две кометы, летящие друг на друга.

LED_array_HSV[ LED_qty - index].S = 0;
				LED_array_HSV[LED_qty-index].V = max_brightness;

				if (!(LED_qty-index))
				{
					*mode = fade;
				}

				while(LED_qty-index)
				{
					LED_array_HSV[(LED_qty-index)+1].V--;

					if (LED_array_HSV[LED_qty-index].V == min_brightness) 
					{
						break;
					}
				}

(2.7 тыс. баллов) 6 17 38
Добро пожаловать на Бредборд! Сайт вопросов и ответов на тему Arduino, Raspberry Pi и хоббийной электроники в целом. Цель Бредборда — быть максимально полезным. Поэтому мы строго следим за соблюдением правил, боремся с холиворами и оффтопиком.
  1. Aromik

    69 балл(ов)

  2. Un_ka

    54 балл(ов)

  3. parovoZZ

    12 балл(ов)

  4. sser

    6 балл(ов)

  5. Тёмик

    5 балл(ов)

  6. NesteruS

    5 балл(ов)

Награды месяца
1-е место: OLED-дисплей (Troyka-модуль)
2-е место: Графический экран 128×64
3-е место: Текстовый дисплей 16×2 (Troyka-модуль)

...