при настройке прошивки на вкладке Settings в подразделеПри компиляции прошивки от Slenk (v2.5b) вылезла ошибка (expected primary-expression before '>' token). Подскажите,что не так.
От блин, я этот несчастный плюсик чисто случайно на клаве зацепил, 10 раз его уже удалял и в итоге запостил вместе с ним...#define CURRENT_LIMIT 0+ // Лимит по току в МИЛЛИАМПЕРАХ, автоматически управляет яркостью (пожалей свой блок питания!)
Может рассмотрите возможность добавить эффект шкалы громкости с бегающим огоньком на краю как в частотном анализаторе от Cine-Lights ?Вечером постараюсь обновить "ночную сборку")
Это когда последний пиксел как бы отстаёт от всей шкалы? Если правильно понял, то были мысли добавить, но это не в первую очередь. Еще в шкале громкости хотел режим "огонь" переписать, что бы он прям как огонь был (с рваным краем), почти даже придумал как, но это тоже не сейчас))Может рассмотрите возможность добавить эффект шкалы громкости с бегающим огоньком на краю как в частотном анализаторе?
Тут всё сложно)@Slenk, а с чем связано такое изменение? было 780, стало 70, или это опечатка?
ну на самом деле так и было задумано) Там небольшой "рандом" на одном канале в MONO режиме, что бы сделать "псевдо Stereo".@Slenk, но моя проблема с VU метром так и осталась, левая и правая часть по разному работают
Ну тут настраивать надо, я просто постоянно кручу туда-сюда эти значения. А так просто свои подставить и всё.@Slenk, Ну и VU метр стал очень агрессивный какой то)
А где его можно выпилить?)) А то слева полметра-метр уже светится, а справа полоса малевича))ну на самом деле так и было задумано) Там небольшой "рандом" на одном канале в MONO режиме, что бы сделать "псевдо Stereo".
По рандому было бы идеально вынести в настройки скетча, на короткой ленте она полезна, а на длинной беда бедовая) Я смотрю там число какое то стоит в рандоме, это какой то коэффициент? Может можно немного его снизить что бы была разница, но небольшая.@novvel,
Если еще кому-то это мешает, то в прицепе могу добавить настройку для простого отключения.
По новым режимам там вообще печаль беда, мне не нравится как они написаны и как работают (по сути они и остались "БЕТА"). Там я добавил настройку изменения цвета, а "скорость" наоборот закоментил, не помню почему (то ли просто, то ли что-то глючило, надо разбираться). Там еще я начинал писать режим, что бы цвет зависел от частоты, но не дописал. Два огонька по легкой не сделать.
Еще Гайвер там активно занялся свой библиотекой для лед лент, и по хорошему надо бы переписать весь код на неё. Короче начать и кончить, как говорится...
// 3 Режим: цветомузыка 5 полос (подрежимы: 0-BGRGB, 1-RGBGR, 2-RBGBR, 3-BRGRB, 4-GRBRG в cmu2_mode)
case 2:
switch (cmu2_mode) {
case 0:
for (int i = 0; i < NUM_LEDS; i++) { //0-BGRGB
if (i < STRIPE) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]); //B
else if (i < STRIPE * 2) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]); //G
else if (i < STRIPE * 3) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]); //R
else if (i < STRIPE * 4) leds[i] = CHSV(MID_COLOR1, 255, thisBright[1]); //G
else if (i < STRIPE * 5) leds[i] = CHSV(HIGH_COLOR1, 255, thisBright[2]); //B
}
break;
case 1:
for (int i = 0; i < NUM_LEDS; i++) { //1-RGBGR
if (i < STRIPE) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < STRIPE * 2) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
else if (i < STRIPE * 3) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
else if (i < STRIPE * 4) leds[i] = CHSV(MID_COLOR1, 255, thisBright[1]);
else if (i < STRIPE * 5) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
}
break;
case 2:
for (int i = 0; i < NUM_LEDS; i++) { //2-RBGBR
if (i < STRIPE) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < STRIPE * 2) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
else if (i < STRIPE * 3) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
else if (i < STRIPE * 4) leds[i] = CHSV(HIGH_COLOR1, 255, thisBright[2]);
else if (i < STRIPE * 5) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
}
break;
case 3:
for (int i = 0; i < NUM_LEDS; i++) { //3-BRGRB
if (i < STRIPE) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
else if (i < STRIPE * 2) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < STRIPE * 3) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
else if (i < STRIPE * 4) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < STRIPE * 5) leds[i] = CHSV(HIGH_COLOR1, 255, thisBright[2]);
}
break;
case 4:
for (int i = 0; i < NUM_LEDS; i++) { //4-GRBRG
if (i < STRIPE) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
else if (i < STRIPE * 2) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < STRIPE * 3) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
else if (i < STRIPE * 4) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < STRIPE * 5) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
}
break;
}
break;
// 4 Режим: цветомузыка 3 полосы (подрежимы: 0-RGB, 1-BGR, 2-BRG, 3-GRB в cmu3_mode)
case 3:
switch (cmu3_mode) {
case 0:
for (int i = 0; i < NUM_LEDS; i++) {
if (i < NUM_LEDS / 3) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]); //R
else if (i < NUM_LEDS * 2 / 3) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]); //G
else if (i < NUM_LEDS) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]); //B
}
break;
case 1:
for (int i = 0; i < NUM_LEDS; i++) {
if (i < NUM_LEDS / 3) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
else if (i < NUM_LEDS * 2 / 3) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
else if (i < NUM_LEDS) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
}
break;
case 2:
for (int i = 0; i < NUM_LEDS; i++) {
if (i < NUM_LEDS / 3) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
else if (i < NUM_LEDS * 2 / 3) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < NUM_LEDS) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
}
break;
case 3:
for (int i = 0; i < NUM_LEDS; i++) {
if (i < NUM_LEDS / 3) leds[i] = CHSV(MID_COLOR, 255, thisBright[1]);
else if (i < NUM_LEDS * 2 / 3) leds[i] = CHSV(LOW_COLOR, 255, thisBright[0]);
else if (i < NUM_LEDS) leds[i] = CHSV(HIGH_COLOR, 255, thisBright[2]);
}
break;
}
break;
// 6 Режим: Цветомузыка 3-5 полос ======================================================================================================
case 6: {
spektr_level();
byte cmu_arr[] = {cmu_color_mode % 3, (cmu_color_mode + 1 + cmu_color_mode / 3) % 3, (cmu_color_mode + 2 - cmu_color_mode / 3) % 3};
byte k = 5;
if (cmu3_5_mode) k = 3;
for (int i = 0; i < 3; i++) {
for (int j = (NUM_LEDS / k * (k - 3 + i)); j < (NUM_LEDS / k * (k - 2 + i)); j++) {
leds[j] = CHSV(color_arr[cmu_arr[i]], 255, thisBright[cmu_arr[i]]);
if (!cmu3_5_mode) leds[NUM_LEDS - j - 1] = CHSV(color_arr[cmu_arr[i]], 255, thisBright[cmu_arr[i]]);
}
}
} break;
Попробуй на вкладке 6, строка 14 поменять:@Slenk, Ну короче оно есть, но делается само, выше описал как я словил два раза такое и кинул видео, пока больше не получилось так сделать))
Пропиши "делей" на вкладке 1 после строки 16Помогло, в статичном режиме мерцание прекратилось, но стали тупить другие режимы, типа плавной смены цвета (теперь рывками меняются)
Еще заметил, что если зажать любую кнопку на пульте, то мерцания исчезают в статичном тусклом режиме, даже без приписывания Делей 10
короче снова ловится пока стабильно такой баг, не помогло, щелкаю вторые режимы и в них влево-вправо, потом сразу жму 8 и зависает на одном цвете, пока буду так один цвет включать, мне один цвет больше всего зашел)) Еще кстати может сделать в 8 режиме в подрежиме где полоски угасают к середине, что бы угасали к одному пикселю, а не к двум?Попробуй на вкладке 6, строка 14 поменять:
case 0: ++this_color; break;
на
case 0: this_color++; break;
И потестить, может пропадет этот глюк. А то я тут типо на работе работу работаю, а дома супруга может не позволить засесть кодить)
Когда в прошивке указываю Potent=0 у меня загорается лента наполовину и не реагирует на звук. Что то еще нужно делать, кроме перешивки ардуино?@Alex U, сделай без резистора регулировки, выстави опорное напряжение на внутренний источник, его достаточно для этого микрофона на столько, что он будет ловить звук из соседних комнат.