Плейер световых эффектов - помогите стать лучше
- Реклама
в CNT пропустили знак равенства, а так пойдет все.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
а как свои эффекты в протеусе8.8 добавлять в карту памяти?
нажимаете кнопку "пауза", в меню Debug выбираете пункт Memory Card Contents - MMC1
появляется окошко с содержимым карты - кликаете правой кнопкой на файле и выбираете Import (добавить файл на карту), Export (файл с карты сохранить на диск) или Delete (удалить файл). еще можно отформатировать карту...
появляется окошко с содержимым карты - кликаете правой кнопкой на файле и выбираете Import (добавить файл на карту), Export (файл с карты сохранить на диск) или Delete (удалить файл). еще можно отформатировать карту...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
ARV такой вот скриптикизменение цвета срабатывает только когда 8 раз сдвинул MRL и перешел на новый круг.
Код: Выделить всё
MX=8 MY=8 // можно в скрипту указывать MX=8 MY=8?
CLR
MC=00 GB=FF RGC
RPT
MRL
WT=01
RGC // по чему здесь не срабатывает изменение цвета?
V1+01
LV1<40
CLR
PNT
MMD- Реклама
нетDimon456 писал(а):// можно в скрипту указывать MX=8 MY=8?
потому что у вас команда GB выполняется ПОСЛЕ активации столбца матрицы МС, т.е. действует не на все пикселы, а тоько на НУЛЕВОЙ столбец. после сдвига матрицы яркость попадает в ПОСЛЕДНИЙ столбец вместе с цветом, а в НУЛЕВОЙ попадает НУЛЕВАЯ яркость. поменяйте местами команды GB и MC и будет вам счастьеDimon456 писал(а):// по чему здесь не срабатывает изменение цвета?
команды сдвига матрицы сдвигают все атрибуты пиксела - и цвет, и яркость, и затухание.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
Странно, у мну по чему то работает, а после выполнения команда MMD отменяет.ARV писал(а):нетDimon456 писал(а):// можно в скрипту указывать MX=8 MY=8?
Не, это не то. Надо что бы при каждом сдвиге цвет изменялся. Ну да ладно, и так сойдет.ARV писал(а):поменяйте местами команды GB и MC
работает, но пользоваться нельзя по причинам совместимости скриптов.Dimon456 писал(а):у мну по чему то работает
это то - после этого у вас получится сдвиг с рисованием новой полоски новым цветомDimon456 писал(а):Не, это не то
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
Ни знаю, вот видеоARV писал(а):это то - после этого у вас получится сдвиг с рисованием новой полоски новым цветом
А такой вопрос: на карте 5 файлов скриптов, плеер проходит все 5 файлов и все. По чему заново, по кругу, не хочет? TF=5 не помогает, всяко TF=4 ставил TF=6.
на видео я увидел именно то, о чем говорил. а что хотели вы увидеть?
Добавлено after 7 minutes 10 seconds:
косячокс-с...
в main.c попробуйте вот эту функцию заменить:обратите внимание на строчку после комментария "добавлено 26.05.2019" - должно помочь.
Добавлено after 7 minutes 10 seconds:
Dimon456 писал(а):По чему заново, по кругу, не хочет?
в main.c попробуйте вот эту функцию заменить:
Код: Выделить всё
static bool get_next_script(void){
static uint16_t fid;
// очистка параметров скрипта
memset(&script, 0, sizeof(script_t));
buf[0] = 0;
script.pos = buf;
script.delta = 1;
script.max_px = cfg.tp;
if(is_dbg_mode()) return true;
do{
// если нужно, формируем случайный номер файла в пределах общего количества
if(cfg.random) fid = rnd(cfg.total_files);
// преобразуем номер в имя файла
itoa(fid++, script.fname, 10);
// добавлено 26.05.2019
if((fid == cfg.total_files) && (!cfg.random)) fid = 0;
strcat_P(script.fname, PSTR(".SC"));
// пробуем открыть
if(pf_open(script.fname) == FR_OK){
// если открылся - выходим, можно исполнять
return true;
} else {
// если не открылся, то при запрете игнорирования обнуляем номер скрипта
if(!cfg.skip_missing) fid = 0;
}
} while(cfg.skip_missing); // повторяем блок действий, если включено игнорирование отсутствующих файлов
// файл не найден - ошибочка
return false;
}
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
чтобы цвет уже выведенной полоски менялся при её сдвиге?
Код: Выделить всё
CLR GB=FF
RPT
V0=00
RPT
MC=V0
RGC
PNT
GC=000000
V0+01
LV0<08
INFесли рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
То что надо.ARV писал(а):чтобы цвет уже выведенной полоски менялся при её сдвиге?
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
В общем не совсем работает, читал только первый файл, и то с номером 0.SC.Dimon456 писал(а):заменил, вроде работает.ARV писал(а):попробуйте вот эту функцию заменить:
Переместил и условие исправил
Спойлер
Код: Выделить всё
static bool get_next_script(void){
static uint16_t fid;
// очистка параметров скрипта
memset(&script, 0, sizeof(script_t));
buf[0] = 0;
script.pos = buf;
script.delta = 1;
script.max_px = cfg.tp;
if(is_dbg_mode()) return true;
do{
// если нужно, формируем случайный номер файла в пределах общего количества
if(cfg.random) fid = rnd(cfg.total_files);
// преобразуем номер в имя файла
itoa(fid++, script.fname, 10);
strcat_P(script.fname, PSTR(".SC"));
// пробуем открыть
if(pf_open(script.fname) == FR_OK){
// если открылся - выходим, можно исполнять
return true;
} else {
// если не открылся, то при запрете игнорирования обнуляем номер скрипта
if(!cfg.skip_missing) fid = 0;
// добавлено 26.05.2019
if((fid > cfg.total_files) && (!cfg.random)) fid = 0;
}
} while(cfg.skip_missing); // повторяем блок действий, если включено игнорирование отсутствующих файлов
// файл не найден - ошибочка
return false;
}
при наличии всего 2-ух скриптов на флешке на перебор (перезапуск) 100 уходит всего 2 секунды.
И не обязательно строгая последовательность 0.SC 1.SC 2.SC, к примеру 1.SC 5.SC. При таком алгоритме рандом то же работает.
Спасибо, вы - единственный, кто на самом деле помогает сделать проект лучше.
Что касается параметра TF, то, во-первых, он в основном служит для того, чтобы при наличии большого количества скриптов оперативно "отключить" последние в любом количестве. Во-вторых, он используется при случайном воспроизведении: номер выбирается случайно из промежутка от 0 до TF, а если сделать, как предлагаете вы, то может быть не очень хорошо. Допустим, всего 5 скриптов, а TF=100. Тогда есть вероятность, что перебор случайных чисел затянется на неизвестно какое время, пока не выпадет номер в пределах пяти - ведь это всего 5% от общего количества. В итоге паузы между скриптами могут быть непредсказуемо разными и даже весьма долгими. Наконец, в-третьих, когда я начинал делать первую версию (еще в качестве части проекта DIGILIGHT), я не очень хорошо представлял себе итоговое быстродействие файловых операций, поэтому стремился предельно облегчить задачу поиска и выбора файлов, да еще был ограничен принципом работы цветомузыки. Возможно, сейчас (да еще со столь "просторным" МК) можно подумать над тем, чтобы вообще отказаться от этого параметра, и простым сканированием корневой папки определять фактическое количество скриптов... Но, как я уже говорил, до осени об этом и думать нечего.
Хотя, вы можете попробовать сделать это самостоятельно, я подозреваю, у вас может получиться даже лучше, чем у меня
Что касается параметра TF, то, во-первых, он в основном служит для того, чтобы при наличии большого количества скриптов оперативно "отключить" последние в любом количестве. Во-вторых, он используется при случайном воспроизведении: номер выбирается случайно из промежутка от 0 до TF, а если сделать, как предлагаете вы, то может быть не очень хорошо. Допустим, всего 5 скриптов, а TF=100. Тогда есть вероятность, что перебор случайных чисел затянется на неизвестно какое время, пока не выпадет номер в пределах пяти - ведь это всего 5% от общего количества. В итоге паузы между скриптами могут быть непредсказуемо разными и даже весьма долгими. Наконец, в-третьих, когда я начинал делать первую версию (еще в качестве части проекта DIGILIGHT), я не очень хорошо представлял себе итоговое быстродействие файловых операций, поэтому стремился предельно облегчить задачу поиска и выбора файлов, да еще был ограничен принципом работы цветомузыки. Возможно, сейчас (да еще со столь "просторным" МК) можно подумать над тем, чтобы вообще отказаться от этого параметра, и простым сканированием корневой папки определять фактическое количество скриптов... Но, как я уже говорил, до осени об этом и думать нечего.
Хотя, вы можете попробовать сделать это самостоятельно, я подозреваю, у вас может получиться даже лучше, чем у меня
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
последний раз спрашиваю: нужны кому-нибудь платы готовые?

будет черная маска, белая шелкография, размер 40х56 мм. приступаю к оформлению заказа в Китае.
будет черная маска, белая шелкография, размер 40х56 мм. приступаю к оформлению заказа в Китае.
- Вложения
-
- aaa.png
- (18.79 КБ) 775 скачиваний
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
перемычка замкнута? после подключения Putty нажимите кнопку сброса плейера, чтобы увидеть приглашение
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
перемычку ставил, а на кнопку не жал
вечером попробую...
вечером попробую...
если кнопку не жать, то МК выдает приглашение сразу после подачи питания, к тому моменту, пока вы там putty запустите, он уже ждать команд утомляется
на Enter разве не реагирует?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!


