и еще один эффект. он, вообще-то, не матричный, но хорошо смотрится именно на матрице. проверено на матрицах 10х10 и 10х16, для других, вероятно, придется подобрать кое-какие значения переменных...
Код:
CLR GB=FF IRD<80 REV EI VN=05 VD=E0 RPT VD+01 IVD>F0 VD=E0 EI V0=VC VP=TP RPT PI=V0 IV0<VD VB=VD VB-V0 V0=FF V0-VB V0+01 VS=01 EI IVS=00 V0-VD EI VS=00 PM=VP LVP V0=VC IV0<VD VB=VD VB-V0 V0=FF V0-VB V0+01 VS=01 EI IVS=00 V0-VD EI VS=00 VC=V0 WT=03 INF
вот видео из симулятора DSM:
на моей ёлке смотрится весьма! с наступающим всех!
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
я тут сам не пойму с чего, но решил сделать версию плейера без SD-карты, с жёстко вшитыми в flash скриптами... нет ли желающих потестировать, а то я свой плейер так собрал в корпус, что разбирать равносильно сломать?.. и протеус перестал работать...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
схема без SD отличается от схемы с SD отсутствием SD
ну и прилегающим к ней компонентам, на WS2812B сразу линию с MOSI протянуть, вот и все. т.е. в схеме останется только МК позже, как отладим алгоритм, выложу и окончательную схему.
ARV, если вшито во флеше, то скрипты как и не нужны, получается? В смысле как в sd. Если у меня не матрица, а в линию, надо как то выбирать что показывать? Хотя лучше Вас никто не знает.
_________________ Я всё-всё узнAю и стану профессором.
весь смысл скриптов в том, чтобы каждый сам мог под свои желания сформировать набор эффектов, включая придуманные самим собой. поскольку сам интерпретатор команд уже готов и отлажен, причем показал себя вполне достойно в плане эффектов, я решил, что самое простое - это тупо заменить считывание файлов с флешки чтением строк из массива в памяти МК, а остальные части не трогать вообще.
если все получится, то каждый, кто захочет по-своему сделать набор жестко прошитых эффектов, должен будет: 1. выбрать файл эффекта 2. скопипастить его в исходник 3. "отформатировать" скрипт в исходнике, поставив двойные кавычки и удалив ненужные пробелы/переводы строк 4. дописать в массив эффектов ссылку на эту строку 5. в отдельной структуре описывается конфигурация - если надо, её тоже подправить 6. скомпилировать проект, прошить МК
dgrett писал(а):
Если у меня не матрица, а в линию, надо как то выбирать что показывать?
нужны эффекты для линии. некоторые матричные могут быть интересны и на линии, но все-таки лучше специально разработанные. для первоначальной версии проекта я делал большое количество заготовок скриптов именно для полоски, надо только проверить, насколько они правильно написаны, хорошо ли работают...
Добавлено after 2 minutes 44 seconds: сейчас в atmega328 занято около 9К памяти, т.е. остается еще примерно 23К. если в среднем 1 эффект описан скриптом в 512 байт, то это порядка 46 скриптов - вполне достаточно, как мне кажется...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
ARV, с учетом того, что скрипты текстовые и представляют из себя программу - можно сделать некую утилиту - компилятор-архиватор, который скрипт вида Спойлер
Код:
CLR GB=FF IRD<80 REV EI VN=05 VD=E0 RPT VD+01 IVD>F0 VD=E0 EI V0=VC VP=TP RPT PI=V0 IV0<VD VB=VD VB-V0 V0=FF V0-VB V0+01 VS=01 EI IVS=00 V0-VD EI VS=00 PM=VP LVP V0=VC IV0<VD VB=VD VB-V0 V0=FF V0-VB V0+01 VS=01 EI IVS=00 V0-VD EI VS=00 VC=V0 WT=03 INF
навскидку ужмёт байт в 150 (сейчас там, с учетом CR/LF и пробелов 317 байт). Речь не об архивации, а об удалении "лишних" данных, превращении текста скрипта в некий псевдокод... И вместо перекомпиляции исходников писать эти эффекты в 2 кб еепрома. Этот же архиватор/компилятор может работать и менеджером эффектов в файле для еепромки. При чтении из EEPROM иил разворачивать этот псевдокод обратно в текст либо научить плеер понимать этот код. Хотя 23к и 2к - разные вещи. Либо располагать эффекты в ROM с определенного адреса, заведомо большего, нежели длина прошивки. И что б утилита комбинировала доступные эффекты в блок для прошивки МК, добавляя в начало саму прошивку.
Вобщем, что бы возможность комбинации и записи эффектов была доступна всем без необходимости перекомпиляции проекта....
с учетом того, что скрипты текстовые и представляют из себя программу - можно сделать некую утилиту - компилятор-архиватор
можно. но это потребует переделку всего интерпретатора команд, что мне как-то влом делать...
GoldenAndy писал(а):
навскидку ужмёт байт в 150 (сейчас там, с учетом CR/LF и пробелов 317 байт)
реально полезной информации в этом скрипте 250 байт, именно столько он займет во flash. теоретический минимум для "байт-кода" этого скрипта - 80 байт.
GoldenAndy писал(а):
возможность комбинации и записи эффектов была доступна всем без необходимости перекомпиляции проекта
вроде бы форум у нас для любителей с микроконтроллерами возиться... не думаю, что пересборка проекта путем запуска единственного makefile может представлять большую сложность для местного контингента...
Serzh2000 писал(а):
ни че не понимаю
компилятор AVR-GCC есть? тогда волноваться не надо, инструкции последуют
Serzh2000 писал(а):
а переменные резисторы (яркость, скорость) будут?
все возможности скриптового языка сохранятся, кроме поддержки консольного режима - я его выкинул.
dgrett писал(а):
скрипты во внешней еепромке держать? Но тогда плата нужна новая. Нзн как удобнее.
вся беда этого варианта - скорость доступа. оно-то и с SD-картой не шибко быстро выходит, а с этим вариантом может быть даже медленнее... но принципиально возможно. только без меня
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Хотя 23к и 2к - разные вещи. Либо располагать эффекты в ROM с определенного адреса, заведомо большего, нежели длина прошивки. И что б утилита комбинировала доступные эффекты в блок для прошивки МК, добавляя в начало саму прошивку.
Вообще-то это уже было сделано, и даже видео было показано. Лично у меня в 128к флеша все влезло, а с w25q32 еще и место осталось.
Но это значительно неудобно и т.п. Лучше карты sd нет.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения