Re: Плейер световых эффектов - помогите стать лучше
Добавлено: Пт май 17, 2019 23:11:26
ну что, так кошерно? 

Здесь можно немножко помяукать :)
https://radiokot.ru/forum/
нет, так быть не должно. без карты (и без установленной перемычки S1!!!) все пикселы должны светиться одним цветом, плавно меняющимся "радугой". ни белого, ни черного быть не должно в этом режиме.Serzh2000 писал(а):так должно быть без карты или нет?
мой косяк!Dimon456 писал(а):у вас на схеме PB1 а в программе PB0
а что за цифра такая странная?Dimon456 писал(а):Можете под 168 мегу собрать, что бы уместилась в 14335 байт?
2048 байт бутлоадер занимает, плата ардуино про мини, в идеале хотелось бы где-то так, как сетку с право восстановить? в данном случае матричный режим не нужен? светиков можно уменьшить, скажем до 80, или сколько там получится в оперативку уместить, FAT32 не нужен, обыкновенный FAT12/16.Dimon456 писал(а):а что за цифра такая странная?
на сколько я понимаю - не должныSerzh2000 писал(а):если питание подано БЕЗ УПРАВЛЯЮЩЕГО ПРОВОДА на WS 2812 ОНИ ДОЛЖНЫ СВЕТИТЬСЯ ?
количество светиков на размер прошивки не влияет, но у 168-й меги памяти меньше, чем у 328-й, а значит, светиков по определению будет поддерживаться меньше, сколько именно - пока не могу сказать... FAT12 и FAT16 - это две разные FAT...Dimon456 писал(а):в данном случае матричный режим не нужен? светиков можно уменьшить, скажем до 80, или сколько там получится в оперативку уместить, FAT32 не нужен, обыкновенный FAT12/16.
батенька! да у вас ведь WS2811, а я работал под WS2812! у них времянки разные, как я понимаю, и под ваши надо отдельно корячить прошивку... что ж вы сразу-то не сказали, что у вас за светодиоды? к тому же порядок байтов цвета у них разный - скрипты будут не совсем правильно работать...Serzh2000 писал(а):может просто светики чудные
Код: Выделить всё
CLR
PNT
RPT
RPC
PM=000F171F272F373F
WT=01
CLR
RPC
PM=010E161E262E363E
WT=01
CLR
RPC
PM=020D151D252D353D
WT=01
CLR
RPC
PM=030C141C242C343C
WT=01
CLR
RPC
PM=040B131B232B333B
WT=01
CLR
RPC
PM=050A121A222A323A
WT=01
CLR
RPC
PM=0609111921293139
WT=01
CLR
RPC
PM=0708101820283038
WT=01
INF
RST он мигает при обращении к карте. если карты нет - все равно мигает, т.к. МК пробует обнаружить карту. а вот во время работы скрипта мигать будет редко, а если скрипт короче 512 байт - вообще мигать не будет, пока не отработает весь скрипт.Serzh2000 писал(а):светодиод на плате без карты памяти что делает?
я правильно понял, что ваш скрипт рассчитан на 8 "частей" и реализует мерцающие разными цветами "бегущие" огни, причем по первой части огни бегут слева направо, а все прочие - справа налево? странноватый эффект, как мне кажется...Dimon456 писал(а):к примеру такой скриптик, как переделать под матрицу, или как упростить
WS2812BSerzh2000 писал(а):тока подскажите точные
На что влияет?ARV писал(а):но у 168-й меги памяти меньше, чем у 328-й, а значит, светиков по определению будет поддерживаться меньше
Код: Выделить всё
extern char buf[BUF_SZ+1];Код: Выделить всё
#define BUF_SZ 256
тогда в оперативку влазит
Device: atmega168p
Program: 14796 bytes (90.3% Full)
(.text + .data + .bootloader)
Data: 967 bytes (94.4% Full)
(.data + .bss + .noinit)Наверное, проще будет такКонфигуратор надо бы доработать, где нибудь слева на панели предусмотреть переключение между десятичным и шестнадцатеричным видом представления числа в шариках, а то не удобно с калькулятором лазит.ARV писал(а):я правильно понял, что ваш скрипт рассчитан на 8 "частей" и реализует мерцающие разными цветами "бегущие" огни,
Код: Выделить всё
CLR
RPT
RPT
MR=VR
GI=RD
WT=01
GC=000000
VR+01
LVR<08
VR=00
INF
мне кажется, это многовато, надо оставить память под стек хотя бы байт 100...Dimon456 писал(а):Data: 967 bytes (94.4% Full)
нет, размер скрипта ограничен 64535 байтами, скрипты большего размера выполняться корректно не будут. считывание скрипта ведется блоками по BUF_SZ, и потом происходит исполнение считанных в кэш команд скрипта. когда доходт до конца кэша - считывается следующий блок и т.д. хуже всего (по производительности), когда команда завершения цикла находится в одном блоке, а команда начала - в другом, в этом случае каждую итерацию цикла может происходить пересчитывание блока в 512 байт, что занимает заметное время. это происходит не всегда, а только если размер "тела" цикла больше размера блока, т.е. больше 512 байт.Dimon456 писал(а):это значит что объем скрипта не должен вылазит за 256 байт или как?
оно уже есть: меню Service-Options закладка Pixels and Animation, чекбокс HEX number of Pixel and Clone, влияет только на номера в "шариках"Dimon456 писал(а):переключение между десятичным и шестнадцатеричным видом представления числа в шариках
выделяете обычным способом (мышкой) весь рисунок, зажимаете Ctrl, хватаете мышкой любой выделенный шарик и тянете его, куда надо.Dimon456 писал(а):Мне так и не удалось весь рисунок влево сместить