Вы написали сохранить ASCII . а блокнот сохраняет ASCIтекстовые документы в ASCII.
это не пойдет?
Код: Выделить всё
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 писал(а):// по чему здесь не срабатывает изменение цвета?
Странно, у мну по чему то работает, а после выполнения команда MMD отменяет.ARV писал(а):нетDimon456 писал(а):// можно в скрипту указывать MX=8 MY=8?
Не, это не то. Надо что бы при каждом сдвиге цвет изменялся. Ну да ладно, и так сойдет.ARV писал(а):поменяйте местами команды GB и MC
работает, но пользоваться нельзя по причинам совместимости скриптов.Dimon456 писал(а):у мну по чему то работает
это то - после этого у вас получится сдвиг с рисованием новой полоски новым цветомDimon456 писал(а):Не, это не то
Ни знаю, вот видеоARV писал(а):это то - после этого у вас получится сдвиг с рисованием новой полоски новым цветом
Dimon456 писал(а):По чему заново, по кругу, не хочет?
Код: Выделить всё
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;
}
Вот это, только цвет должен меняться с каждым сдвигом.ARV писал(а):на видео я увидел именно то, о чем говорил. а что хотели вы увидеть?
заменил, вроде работает.ARV писал(а):попробуйте вот эту функцию заменить:
Код: Выделить всё
CLR GB=FF
RPT
V0=00
RPT
MC=V0
RGC
PNT
GC=000000
V0+01
LV0<08
INFТо что надо.ARV писал(а):чтобы цвет уже выведенной полоски менялся при её сдвиге?
В общем не совсем работает, читал только первый файл, и то с номером 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;
}