Описание библиотеки FastLED

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
Приветствую товарищи!!!

Скажите пожалуйста, кто находил хорошее толковое описание работы с библиотекой FastLED на родном нам, ужасном и могучем языке?
Библиотека толстая и могучая, и перелопатить её описание на забугорном весьма проблематично. А всё что сумел нарыть в родном нам рунете, либо примеры из всеми известной шутки про "Как нарисовать сову", либо "Вот смотрите, я умею впихнуть 100500 эффектов из examples в один скетч, и оно потом даже иногда работает".

Если более конкретно, то пытаюсь написать себе подсветку под потолок, аля "северное сияние". Чтоб группы светодиодов в заданном цветовом диапазоне плавно вспыхивали в случайных местах и так же плавно гасли. Для этого уже нагородил кучу массивов которые хранят состояние о RGB значении светодиода. Сейчас отпустило и я начал подозревать что изобретаю велосипед и библиотека всё это должна уметь из коробки без моих огородов.

Гуру, не обойдите мою проблему стороной, помогите с описанием основных операторов библиотеки на родном русском!
 

Profi

✩✩✩✩✩✩✩
27 Окт 2018
8
3
Отвечу как человек юзающий эту библиотеку ос всеми её фичами, вам понадобится лента и 3-4 вечера методом тыка, сам так учил, список доступных "команд" можно найти либо в keywords.txt либо тут ТЫК, так же никто не отменял Wiki на гитхабе ТЫК.
P.s самому эта библиотека казалась супер пупер не осваеваемой, итог: освоил за 2 дня все функции включая так сказать уровень Advanced, сам пытался найти описание, потом забил и начал изучать все сам.
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
@Profi, спасибо! Эти wiki как раз и курил. Однако, как описал выше идёт со скрипом. Метод тыка оказывается не работает, когда сомневаешься в правильности своего алгоритма и подгоняешь его напильником исходя из результатов))) Масло в огонь подливает неточности в переводе wiki переводчиком. Неужели в рунете никто не заморачивался с описанием библиотеки? Она же так популярна!
Слушай, если познал дзен этой библиотеки, можешь сказать, есть ли возможность получить информацию о RGB диодов с выводом в переменную?
К примеру
C++:
  R = 255;
  G = 255;
  B = 255;
  for (int i = 0; i <= 19; i++) // Цикл который создаёт рандом из 20 случайных диодов
{
     rndI[i] = random(2,58);
}
for (int i = 0; i <= 19; i++) //
{
    delay(50);
    leds[rndI[i]] = CRGB(R,G,B);
}

   R = 0;
   G = 0;
   B = 0;
   FastLED.show();
В коде мы зажгли 20 случайных диодов белым и обнулили переменные R, G, и B. Можно ли вернуть значение в R, G и B по номеру диода?

UPD: Буквально через пару минут случайным кликом в wiki наткнулся на ответ на свой вопрос.
C++:
CRGB has three one-byte data members, each representing one of the three red, green, and blue color channels of the color. There is more than one way to access the RGB data; each of these following examples does exactly the same thing:

  // The three color channel values can be referred to as "red", "green", and "blue"...
  leds[i].red   = 50;
  leds[i].green = 100;
  leds[i].blue  = 150;

  // ...or, using the shorter synonyms "r", "g", and "b"...
  leds[i].r = 50;
  leds[i].g = 100;
  leds[i].b = 150;

  // ...or as members of a three-element array:
  leds[i][0] = 50;  // red
  leds[i][1] = 100; // green
  leds[i][2] = 150; // blue
Я так понимаю справедливо будет
C++:
R = leds[i].r;
G = leds[i].g;
B = leds[i].b;
 
Последнее редактирование:

Profi

✩✩✩✩✩✩✩
27 Окт 2018
8
3
Весь дзен познается методом: "никто не придумал, прийдется методом тыка". Сам так учился.
 
  • Лойс +1
Реакции: KOHb

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
@Profi,
1492493029130012200.jpg

Слушай, а может выложишь пару своих проектов. Мож чего подукраду у тебя интересного )))))
 
  • Лойс +1
Реакции: SashaPetrov и Vincent

Profi

✩✩✩✩✩✩✩
27 Окт 2018
8
3
В моем случае ученики были правы.На название не обращай внимания, это легкий проект, поворотники как у Lx470, может даже и не рабочие, это один из первых проектов, тут я даже сам писал функцию для заливки хотя есть FillSolid() (вроде как то так). Ну тут нечего конечно смотреть, просто остальные проекты коммерческие.
 

Вложения

NeoN38

✩✩✩✩✩✩✩
9 Авг 2018
11
5
Библиотека обширная, согласен. Также искал описание на русском, но пришел к выводу, что его просто нет. Не нашлось пока людей, способных её перевести полностью, так как она реально оч большая)))
 

NeoN38

✩✩✩✩✩✩✩
9 Авг 2018
11
5
Изучал её по страничке на Гитхабе, переводя текст силами браузера...результат не такой стремительный, как хотелось бы, но всё лучше, чем ничего)
 

Profi

✩✩✩✩✩✩✩
27 Окт 2018
8
3
Библиотека обширная, согласен. Также искал описание на русском, но пришел к выводу, что его просто нет. Не нашлось пока людей, способных её перевести полностью, так как она реально оч большая)))
Я хотел перевести, даже начал, но потом сработало "А зачем?!" ведь никто даже спасибо не скажет.
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
@Profi, если у тебя есть наработки, то выкладывай! Я уверен что много кто будет тебе благодарен и ты много кому этим поможешь!
 
  • Лойс +1
Реакции: NeoN38

Wan-Derer

★★★★✩✩✩
Команда форума
31 Июл 2018
1,440
281
Москва
wan-derer.ru
Технический английский не так сложен. Выучи пару сотен слов и ты мега-эксперт. О пользе такого знания, думаю, упоминать не обязательно
 

Profi

✩✩✩✩✩✩✩
27 Окт 2018
8
3
А Вы кому говорите спасибо, иcпользуя open sourse в коммерческих целях?)
Если вы хотите показаться умным, то сначало рекомендую ознакомиться с лицензией, которая позволяет использовать этот OpenSourse проект в коммерческих целях, а так же для умников скажу что я перечислил круглую сумму автору на развитие проекта.Screenshot_2.png
 

Вложения

  • Лойс +1
Реакции: SashaPetrov

NeoN38

✩✩✩✩✩✩✩
9 Авг 2018
11
5
@Profi, уважаемый, а вам не кажется слегка надменно говорить ""А зачем?!" ведь никто даже спасибо не скажет."? Какого рода спасибо ожидаете? СМС отправить за здравие? Или полтинник задонатить? В чем исключительность поступка с переводом библиотеки? Моя позиция в таких вопросах такова - либо делайте вещи, либо нечего и воздух попусту сотрясать. А по вопросам перечислений автору - ваше личное дело, верно? А раз личное, то и кичиться этим не стоит
 
  • Лойс +1
Реакции: KOHb и Wan-Derer

Profi

✩✩✩✩✩✩✩
27 Окт 2018
8
3
@Profi, уважаемый, а вам не кажется слегка надменно говорить ""А зачем?!" ведь никто даже спасибо не скажет."? Какого рода спасибо ожидаете? СМС отправить за здравие? Или полтинник задонатить? В чем исключительность поступка с переводом библиотеки? Моя позиция в таких вопросах такова - либо делайте вещи, либо нечего и воздух попусту сотрясать. А по вопросам перечислений автору - ваше личное дело, верно? А раз личное, то и кичиться этим не стоит
Простите уважаемый, я к сожалению ничего никому не обязан, хотел-перехотел, ведь помимо благодарностей найдутся личности которым я потом по их словам "буду еще должен объяснять и показывать", ведь всегда среди нормальных будут уж извините, тупые, им весь мир чего то должен. А тратить свое время и получать в замен "Че за х**ня, неужели нельзя было по русски написать понятно" я не хочу. Надеюсь последующих вопросов не возникнет. Благодарю за понимание.На следующие вопросы такого типа я отвечать просто не буду. Даже здесь все началось с того что я просто решил помочь человеку, а вылилось все это вот во что.
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
Как всегда, начали за здравие а кончали за упокой.
Господа, давайте не ссориться. Я благодарен всем за проявленное участие в обсуждении и советы. Однако как сторонник открытости и доступности информации в любых её проявлениях, не поддерживаю некоторые мнения.
Топик создавался по большей части для того чтоб делится друг с другом информацией и экономии собственного времени для получения интересующих вопросов. Время всё же у нас дорогой ресурс и его вечно не хватает. Если не хотите делится своими знаниями и считаете что в них есть что-то сакральное, то зачем регистрироваться на форуме?
Лично я свои проекты как доведу до ума и найду пару минут чтоб оформить тему (чтоб она не выглядела как говно) обязательно опубликую. Если кому-то будет это интересно и пригодится, мне будет приятно.
И здесь я именно для того чтоб делится информацией которой владею и того же жду от обитателей форума.
12209327.jpg
 
Последнее редактирование:

NeoN38

✩✩✩✩✩✩✩
9 Авг 2018
11
5
@KOHb, полностью разделяю Вашу точку зрения) По поводу русскоязычного описания библиотеки могу сказать вот что. Разве не хватает инфы с Гитхаба? Мне кажется, полнее никто информации не даст) Там есть разбор и часто задаваемых вопросов и прочее, прочее, прочее. Даже ссылка на G+, пройдя по которой можно общаться с пользователями всего мира) Юзайте браузерный перевод Гугл Хром) Во всяком случае, ждать, пока кто-нибудь переведет библу смысла нет, как мне кажется)1.png
 

Вложения

  • 305.1 KB Просмотры: 10

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
@NeoN38, я бы не сказал что я чего-то жду) Просто хотел сэкономить немного времени, вдруг кто-то уже прошел по моему пути (что в более чем вероятно), владеет интересующей меня информацией и готов ей поделиться)
 

SerGO

✩✩✩✩✩✩✩
4 Дек 2018
10
2
Привет, коллеги.
Если вы не против, и дабы не плодить темы, то спрошу здесь.

Если я все правильно понимаю, то должна существовать некая видеопамять, которая собственно и отрисовывается с определенной частотой. Или же происходит полный перерасчет матрицы и затем идёт команда на перерисовку всего экрана. Как происходит формирование изображения? Не совсем понимаю.
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
Привет, коллеги.
Если вы не против, и дабы не плодить темы, то спрошу здесь.

Если я все правильно понимаю, то должна существовать некая видеопамять, которая собственно и отрисовывается с определенной частотой. Или же происходит полный перерасчет матрицы и затем идёт команда на перерисовку всего экрана. Как происходит формирование изображения? Не совсем понимаю.
Нео! Матрицы не существует!

Это просто лента, библиотека хранит в себе информацию о цвете каждого светодиода.
 

SerGO

✩✩✩✩✩✩✩
4 Дек 2018
10
2
Нео! Матрицы не существует!

Это просто лента, библиотека хранит в себе информацию о цвете каждого светодиода.
Вот там где хранит и называю видеопамять. А где именно хранит? Массив или что, где это место в библиотеке? Если я правильно понимаю, что должен быть массив (применимо к этому проекту) из 256*3=768 байт памяти.
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
10
Вот там где хранит и называю видеопамять. А где именно хранит? Массив или что, где это место в библиотеке? Если я правильно понимаю, что должен быть массив (применимо к этому проекту) из 256*3=768 байт памяти.
Видео память это память выделенная видеочипу. Тут же только библиотека которая в удобной форме позволяет посылать сигнал на ленту.
Если интересует как именно она это делает, то её код открыт.
Библиотека жрёт 3и байта памяти на один диод. Скорости работы библиотек для лент анализировались тут.

А зачем тебе знать где хранит? В описании работы библиотеки есть как работать с каждым диодом. Что тебя конкретно интересует?
 

SerGO

✩✩✩✩✩✩✩
4 Дек 2018
10
2
Если интересует как именно она это делает, то её код открыт.
Вот именно меня это и интересует. Прст я начинающий Сишник и код не совсем понимаю. Хотел увидеть где данная библиотека дергает Портом, к которому подключена лента.

П.С. В данном проекте микроконтроллер выводит изображение на экран, .т.е. создается видеоэффекты. Чем тебе не нравится тот объем ОЗУ(формируемый библиотекой), которое находится на борту микроконтроллера, называемый мной Видеопамятью?