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

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
16
@SerGO,
начинающий Сишник и код не совсем понимаю
Не смотри код, смотри его описание
Чем тебе не нравится тот объем ОЗУ(формируемый библиотекой)
тем что библиотека не формирует объем выделяемой памяти, это делает компилятор
называемый мной Видеопамятью
если хочешь программировать, то лучше всего называть вещи своими именами
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
называемый мной Видеопамятью
если хочешь программировать, то лучше всего называть вещи своими именами
В общем случае, видеопамятью называется участок памяти, проецируемый на экран. Как это делается: аппаратурой напрямую или аппаратурой через драйвер - пофиг. В данном случае библиотека выступает в качестве драйвера.
 

SerGO

✩✩✩✩✩✩✩
4 Дек 2018
10
3
@SerGO,
Не смотри код, смотри его описание
Ну вот не смог я найти то, что делает строка FastLed.show ();
Надеялся увидеть некий цикл от нуля до количества светодиодов, в котором и идет формирование посылки на ленту. И не увидел :(

ПС. Про видео память. Ну вот смотри. К примеру я использую ардуину(Мегу328) и экран с 2000 тыщами светодиодов. Где мне взять такой объем памяти? Я использую внешнюю ОЗУ, которая и будет называться видеопямятью. Что не так?
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
16
@SerGO,
Ну вот не смог я найти то, что делает строка FastLed.show ();
открываешь библиотеку и смотришь метод show
Только зачем?
Ну вот смотри. К примеру я использую ардуину(Мегу328) и экран с 2000 тыщами светодиодов
Ты уверен что для этой задачи нужна ардуина?
Внешняя ОЗУ на дуину? Не встречал такого...
И тебе не кажется что эта внешняя ОЗУ как раз и будет видеопамятью, только кто ей будет управлять?
Давай прикрутим микроконтроллер для управления.
Херась! мы получили видеокарту!
 

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
@Wan-Derer,
Нет ))))
Это внутренняя память отведенная для данных используемых при формировании видео, а не кусок кучи.
Видеопамять может быть организована не только как "цвет-на-точку", но и самыми причудливыми способами. Знаешь как было на Спектруме? А на Амиге?
Другое дело что раньше речь шла о физической области, в которую мог писать проц, а на экран она разворачивалась аппаратно. В нашем случае физ адрес может получаться свой при каждой компиляции, а то и меняться по ходу исполнения. Но смысл тот же: драйвер (функция либы) берёт из памяти (массива) данные об изображении и уталкивает их в физ устройство (по ходу, возможно, обрабатывая).
 
  • Лойс +1
Реакции: SerGO

Wan-Derer

★★★★★✩✩
Команда форума
31 Июл 2018
2,136
412
Москва
wan-derer.ru
@SerGO,
Внешняя ОЗУ на дуину? Не встречал такого...
Многоногие АтМеги позволяют подключать параллельное ОЗУ, оно прозрачно включается в общее адресное пространство:
Снимок экрана 2018-12-04 в 15.11.47.png
Снимок экрана 2018-12-04 в 15.12.32.png
Правда можно ли это использовать в Ардуино ИДЕ - не знаю
 
  • Лойс +1
Реакции: SerGO

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
16
@Wan-Derer,
В нашем случае физ адрес может получаться свой при каждой компиляции, а то и меняться по ходу исполнения.
Ты хочешь сказать что динамическую область памяти общей оперативной памяти можно назвать видеопамятью? Пожалуй я с тобой не соглашусь...
Многоногие АтМеги позволяют подключать параллельное ОЗУ,
Говорю же, не встречал такого...
Да и если мне не изменяет память, дуина задумывалась как конструктор-игрушка на базе АтМеги, зачем ей всё это. Для более серьезных задач нужно использовать уже более серьёзное железо...
 
Изменено:

SerGO

✩✩✩✩✩✩✩
4 Дек 2018
10
3
@Wan-Derer,

Ты хочешь сказать что динамическую область памяти общей оперативной памяти можно назвать видеопамятью? Пожалуй я с тобой не соглашусь...

Говорю же, не встречал такого...
Да и если мне не изменяет память, дуина задумывалась как конструктор-игрушка на базе АтМеги, зачем ей всё это. Для более серьезных задач нужно использовать уже более серьёзное железо...
Производитель контроллера предусмотрел подключение внешнего ОЗУ, дак почему бы его не использовать. И да, в этом конкретном случае это будет называться видеопамятью.
Ибо что есть видеокарта? ЦПУ, читай контроллер, с обвязкой в виде микросхем ОЗУ.

Про ФастЛЕД. Покажи, пожалуйста, если не трудно, где смотреть описание метода(для меня это вообще что-то новое) show. В каком файле библиотеки? Зачем мне это надо? Просто надо. Просто хочу знать, чтобы лучше освоить Си. Я до этого писал программы на асме, в т.ч. и мигалку на этой ленте.
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
16
@SerGO,
Производитель контроллера предусмотрел подключение внешнего ОЗУ, дак почему бы его не использовать. И да, в этом конкретном случае это будет называться видеопамятью.
Только ты не дашь определенную область памяти под эти нужды. Как уже выше писалось адресное пространство будит динамическим. И не попадает такое под определение видеопамяти блин как не крути!
И опять же, как выше писалось то что АтМега позволяет в себя воткнуть больше памяти, не гарантирует что компилятор поймёт это адресное пространство.
Про ФастЛЕД. Покажи, пожалуйста, если не трудно, где смотреть описание метода(для меня это вообще что-то новое) show. В каком файле библиотеки?
Вот тут я не помогу. Библиотека обширная. Ищи поиском где объявляется метод show. Дальше читай комментарии к коду. Но они на английском.
для меня это вообще что-то новое
Почитай или посмотри про ООП на Си. В интернете много лекций и не все они занудные.
 

SerGO

✩✩✩✩✩✩✩
4 Дек 2018
10
3
@SerGO,

Только ты не дашь определенную область памяти под эти нужды. Как уже выше писалось адресное пространство будит динамическим. И не попадает такое под определение видеопамяти блин как не крути!
И опять же, как выше писалось то что АтМега позволяет в себя воткнуть больше памяти, не гарантирует что компилятор поймёт это адресное пространство.
Хех, компилятор :)
На асме можно физически выделить определенные ячейки памяти под определенные нужны. Вот к примеру, тот же массив в 768 байт, начиная с адреса 100, можно выделить тремя строчками:
.DSEG
.ORG SRAM_START+100
Variables: .byte 768

и дальше обращаясь к переменной Variables, будет происходить именно к этой области памяти

Разве это не то, что называется видеопамятью?
 

KOHb

★✩✩✩✩✩✩
25 Окт 2018
119
16
@SerGO, ну так и член можно назвать сосиской, однако есть бы я это не стал.
И пишите же вы сейчас не на асме (хотя можешь, но зачем? прироста в скорости это не даст). Да и доступ к этой области памяти можно получить банальным переполнением массива.
Да и вообще, ассемблер лично на меня плохо влияет. У меня от него борода начинает расти быстрее и превращаться в свитер.
 
Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,407
1,509
@Mr_Victor, по вашей ссылке скорее эмулятор Ардуино.
Для изучения возможностей библиотеки FastLed он слишком громоздкий.

Проще этот:
В нём и примеров больше и найти их легче.