Плейер световых эффектов - помогите стать лучше

Обсуждаем контроллеры компании Atmel.
Ответить
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

ARV писал(а):ваш скрипт в матричном режиме может быть заметно проще:
мучился мучился с этим скриптом, потом случайно увидел в логе uncnown command: MR=VR

Добавлено after 34 minutes 46 seconds:
В общем с такими параметрами

Код: Выделить всё

#define BUF_SZ	256
#define PIXEL_CNT		80  количество пикселей влияет на оперативку

#define _FS_FAT12	0	/* Enable FAT12 */
#define _FS_FAT16	1	/* Enable FAT16 */
#define _FS_FAT32	0	/* Enable FAT32 */

в script_cmd.c убрал полностью HELP

Получилось
Device: atmega168p
Program:   14026 bytes (85.6% Full)
(.text + .data + .bootloader)
Data:        967 bytes (94.4% Full)
(.data + .bss + .noinit)

В 14335 влазит, ни знаю как с оперативкой будут дела обстоять, в протеусе вроде усе работает
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Я предупреждал: мой симулятор не поддерживает новые матричные команды.
Пользуйтесь протеусом :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Сообщение Serzh2000 »

вчера нашел 11 штук светиков как у Вас. да заработало, цвета медленно меняются
буду заказывать ...
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Сообщение Serzh2000 »

обошел весь "китай" так и не нашел готовой гирлянды изWS2812, максимум они спаяны между собой
да конечно они дешевле по сравнению с WS2811, но сделать самому рассеиватели-набалдашники на них это я проходил...

потому думаю есть смысл модифицировать проект под WS2811
надо поискать конкретную гирлянду в китае, покажу Вам если ДА, то буду заказывать и ждать, ждать, ждать ноября :sleep:
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Реклама
Опытный кот
Аватара пользователя
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Сообщение Serzh2000 »

вы готовы многократно и оперативно тестировать мои прошивки,
ВСЕГДА ГОТОВ!!! :))
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Ну, тогда ждем осенних холодов и слякоти - и приступаем :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Пришлось до 64 светиков уменьшить, иначе из режима отладчика вылетал. HELP может потом в eeprom помещу.
Можно еще поддержку карт MMC удалить.
Спойлер

Код: Выделить всё

Device: atmega168p
Program:   14026 bytes (85.6% Full)
(.text + .data + .bootloader)
Data:        887 bytes (86.6% Full)
(.data + .bss + .noinit)
Кое как начал разбираться с отладчиком, как всегда без пол литра не обошлось, оказывается #define BUF_SZ 256 влияет на размер кода в строке отладчика.
В общем осваиваем потихоньку
Спойлер

Код: Выделить всё

CLR PC=FFFFFF PM=01020514 WT=01 PC=984578 PM=11121524 WT=01
MX=8 MY=8 CLR PC=FFFFFF MR=01 PM=03 WT=01 PC=457898 MC=01 PM=03 WT=01
MX=8 MY=8 CLR PC=FFFFFF MR=01 PM=0001020304 WT=01 PC=457898 MC=02 PM=0001020304 WT=01
MRR WT=01
MRD WT=01
MRD WT=02 MRR WT=02

CLR PNT V1=00 RPC RPT     PM=V1     WT=01     V1+01   LV1<40   V1=00 RST
А по другому ни как строку или столбец матрицы кроме как PC=FFFFFF MC=05 PM=0001020304050607 WT=01 нельзя зажечь?
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Dimon456 писал(а):А по другому ни как строку или столбец матрицы кроме как PC=FFFFFF MC=05 PM=0001020304050607 WT=01 нельзя зажечь?
смотрите, в чем фишка матричного режима: командой MC или MR вы выбираете столбец или строку, пикселы которой становятся как бы "единственными" доступными для "глобальных" команд (все команды, начинающиеся с G). то есть команда задаст цвет не для всех пикселов вообще, а только для "выбранных в матрице". то есть вместо вашего кода надо сделать MC=05 GC=FFFFFF - и все! все пикселы 5-го (ну, или 6-го, если считать "по-человечески") столбца станут белыми.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Может я чего недопонял
СпойлерИзображение
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

да, пожалуй, вы не внимательно прочли описание команд.
хотя вероятно, это я описал их недостаточно качественно и от вас ускользнул важный нюанс.

команда CLR очищает переменные, пикселы, сбрасывает цвет рисования и затухание в 0, но устанавливает яркость рисования на максимум. поэтому когда вы пользуетесь командой PM, то пикселы сразу получают и цвет, и яркость (и затухание).

глобальные же команды воздействуют ТОЛЬКО на что-то одно: на цвет пиксела, на его яркость или на затухание. так сделано специально для того, чтобы можно было реализовать изменение яркости уже нарисованной картинки.

поэтому когда вы просто рисуете командой PM, вы видите то, что ожидаете. а вот при использовании GC уже вступает в дело ЯРКОСТЬ - те пикселы, которые получили её от команды PM, становятся видны, а все прочие (у которых после CLR яркость в нуле) не видны, хоть и получили нужный цвет.

используйте команду GB для задания яркости всех пикселов вообще или в строке/столбце. в зависимости от ваших планов это можно сделать ДО активации матричного режима один раз для всех пикселов, а потом уже манипулировать только цветом. а можно делать это каждый раз для указанной строки/столбца - так будет медленнее на сотню микросекунд, зато более "аккуратно".
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Прокомментируйте что не так я сделал
СпойлерИзображение

Код: Выделить всё

DEBUG MODE

CMD > INIT=64 MX=8 MY=8
CMD > CLR
CMD > GB=FF GC=FF00FF MC=01 PM=02050607 WT=01	//закрасился весь фон розовым, кроме 2 5 6 7 пикселя (черные) в 1 столбце
CMD > GB=10 WT=01								// в 1 столбце убавили яркость 0 1 3 4 пиксели, все остальные пиксели розовые
CMD > GB=10 WT=01								// ни чего не изменилось, ну и вроде как не должно было?
CMD > GB=FF WT=01								// яркость на максимум в 1 столбце 0 1 3 4 пиксели
CMD > GB=55 GC=FFFFFF MC=07 WT=01				// сделался серым(яркость белого на половину, это понятно) весь 1 столбец, я хотел воздействовать на 7 столбец?
CMD > GB=55 WT=01								// убавилась яркость 7 столбца (розовый как и все остальные пиксели)
CMD >
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Dimon456 писал(а):Прокомментируйте что не так я сделал
CMD > GB=55 GC=FFFFFF MC=07 WT=01 // сделался серым(яркость белого на половину, это понятно) весь 1 столбец, я хотел воздействовать на 7 столбец?
чтобы воздействовать на 7-й столбец, надо сначала его активировать MC=07, а уж потом "закрашивать" :) т.е. надо так:
GB=55 MC=07 GC=FFFFFF WT=01
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

Код: Выделить всё

CMD > MC=05 GB=01 GC=00FFFF WT=01	// вот так мне удалось изменить 5 столбец
CMD > GB=FF WT=01					// но по чему-то вот эта команда не сработала?
CMD > GB=FF WT=01					// восстановилась яркость 5 столбца
А как мне сейчас изменить глобально яркость и цвет всех пикселей, не важно в каком они состоянии находятся?
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Вы бы потренировались сначала в моем отладчике :) там хоть матричных команд и нет, зато можно хорошо понять, как и что меняется обычными командами.
Вот упрощенная версия отладчика на 32 пиксела, зато с просмотром "внутренностей" https://cloud.mail.ru/public/MdDR%2FEuXXuw4AZ :)
Это простенький отладчик, без новшеств (16 переменных, нет новейших функций и т.п.).

Добавлено after 3 minutes 33 seconds:
Dimon456 писал(а):как мне сейчас изменить глобально яркость и цвет всех пикселей, не важно в каком они состоянии находятся?
в смысле всех вообще, а не только в строке/столбце? так надо отключить матричный режим командой MMD, и тогда все команды (как глобальные, так и не глобальные) будут работать со всеми имеющимися пикселами
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

ARV писал(а):в смысле всех вообще, а не только в строке/столбце? так надо отключить матричный режим командой MMD, и тогда все команды (как глобальные, так и не глобальные) будут работать со всеми имеющимися пикселами
Где-то так.
Хотелось бы как-бы растворить картинку, допустим залить все красным, или на оборот погасить в ноль. Здесь наверное по кадрово придется делать?
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

растворить картинку в тьму - это пожалуйста. а вот растворить в заданный цвет - это не предусмотрено командами, только покадровые извраты.
для растворения в ноль просто задайте GF=10 (10 - это скорость погасания, чем больше, тем быстрее, при 01 полное погасание будет за 2,56 секунды, но для этого надо и WT=FF будет делать)
в общем, после GF надо дать командой WT достаточно времени для погасания - тут методом подбора действуйте :)

Добавлено after 3 minutes 50 seconds:
кстати, в протеусе, когда делаете INIT, в той же строке задайте и AUTO=1, тогда вам не придется в каждой последующей строке писать WT=01 - оно будет делаться автоматически. мелочь, но немного ускоряет этап освоения команд.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Опытный кот
Аватара пользователя
Сообщения: 867
Зарегистрирован: Пт фев 27, 2015 12:00:53
Откуда: Рязанская область

Сообщение Serzh2000 »

что то я не понимаю, а что не пойму
в корневой папке обязательно должен находиться конфигурационный файл «play.cfg», в
котором задаются параметры воспроизведения скриптов. Это – обычный текстовый файл,
как его сделать? :oops:

в визуальном редакторе написал вроде мигает
в текстовом не мигает

как на карте памяти должно быть? можно примерчик Ваш
файл «play.cfg»,как он правильно должен написан быть?

0.sc, 1.sc, 2.sc
и троечку эффектов самых простеньких на шестнадцать светиков. главное правильно написано для карточки ( там без пробелов,
комментариев, с последней пустой строкой и т.д.
Вложения
карта памяти.zip
(2.1 КБ) 167 скачиваний
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18687
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Serzh2000 писал(а):как его сделать?
любым текстовым редактором, способным сохранять текстовые документы в ASCII. например, notepad-ом из винды.
Serzh2000 писал(а):как он правильно должен написан быть?
я же в описании все подробно написал, что там должно быть...

если у вас три скрипта и вы хотите их выполнить поочередно, достаточно написать в play.cfg всего одну команду TF=3. но если хоть один скрипт у вас бесконечный (содержит команду INF или RST), надо добавить еще одну строку в конфигурационный файл IB=20 - эта команда остановит принудительно любой скрипт через 20 секунд. заменив цифру, момент остановки бесконечного скрипта можно задать почти любым разумным.

команды в play.cfg надо вводить в каждой строке, не делая лишних пробелов - как в скриптах то есть. и последняя строка тоже должна быть пустой. это для начала все, что вам необходимо, остальное читайте в описании.

Добавлено after 2 minutes 27 seconds:
к оригинальной статье я прилагал архив с большим количеством скриптов, каждый из которых будет правильно работать при любом количестве пикселов - вам надо только выбрать подходящие вам и переименовать их.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Ответить

Вернуться в «AVR»