Плейер световых эффектов - помогите стать лучше
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
угу... сам заметил. работаю над проблемой
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Плейер световых эффектов - помогите стать лучше
У МЕНЯ ТУПИК . ПОМОГИТЕ
V4=00
RPT
V3=RD
V0=00
V3-05
IV4>V3
V3+0A
IV4<V3
RPT
MC=V0
GI=V3
WT=01
V0+01
LV0<03
EI
EI
V4=V3
INF
ЭТО ПОНЯТНО
IV2>02
IV2<0A
MC=V2 столбец будет активирован, если переменная меньше 0A, но больше 02 (то есть в промежутке от 3 до 9)
EI
EI
А НА ОБОРОТ, КАК СДЕЛАТЬ ЧТОБ СЛУЧАЙНОЕ ЧИСЛО НЕ ПОПАЛО В ЭТОТ ПРОМЕЖУТОК
например V3=RD скажем=63
значит промежуток от 5Е до 68 закрыт
РАБОТАЕТ ТОЛЬКО ЕСЛИ ПОВТОРЯТЬ ТЕЛО ДВА РАЗА
V4=00
RPT
V3=RD
V0=00
V3-05
IV4>V3
RPT
MC=V0
GI=V3
WT=01
V0+01
LV0<03
EI
V3+0A
IV4<V3
RPT
MC=V0
GI=V3
WT=01
V0+01
LV0<03
EI
V4=V3
INF
Спойлер
CLR GB=FFV4=00
RPT
V3=RD
V0=00
V3-05
IV4>V3
V3+0A
IV4<V3
RPT
MC=V0
GI=V3
WT=01
V0+01
LV0<03
EI
EI
V4=V3
INF
ЭТО ПОНЯТНО
IV2>02
IV2<0A
MC=V2 столбец будет активирован, если переменная меньше 0A, но больше 02 (то есть в промежутке от 3 до 9)
EI
EI
А НА ОБОРОТ, КАК СДЕЛАТЬ ЧТОБ СЛУЧАЙНОЕ ЧИСЛО НЕ ПОПАЛО В ЭТОТ ПРОМЕЖУТОК
например V3=RD скажем=63
значит промежуток от 5Е до 68 закрыт
РАБОТАЕТ ТОЛЬКО ЕСЛИ ПОВТОРЯТЬ ТЕЛО ДВА РАЗА
Спойлер
CLR GB=FFV4=00
RPT
V3=RD
V0=00
V3-05
IV4>V3
RPT
MC=V0
GI=V3
WT=01
V0+01
LV0<03
EI
V3+0A
IV4<V3
RPT
MC=V0
GI=V3
WT=01
V0+01
LV0<03
EI
V4=V3
INF
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
я не совсем понял, зачем вам "не попадать" в промежуток.
можно сделать хитрый трюк: если попали в запрещенный промежуток, выполнить команду INF, чтобы снова перескочить на начало цикла и не делать то, что обычно делается при НЕ попадании в запретный интервал...тут только надо быть уверенным, что рано или поздно возникнет условие, при котором команда INF будет "обойдена", иначе все зависнет бесполезно
можно сделать хитрый трюк: если попали в запрещенный промежуток, выполнить команду INF, чтобы снова перескочить на начало цикла и не делать то, что обычно делается при НЕ попадании в запретный интервал...
Код: Выделить всё
CLR PC=FFFFFF
RPT
V0=RP
IV0>05
IV0<0A
INF если попали в интервал от 6 до 9 - выполнится команда _INF_ и мы попадем на начало цикла, чтобы снова взять случайный номер пиксела
EI
EI
сюда попадаем только если _V0_ не попала в указанный интервал
PM=V0
PNT
INF
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Serzh2000
- Опытный кот
- Сообщения: 867
- Зарегистрирован: Пт фев 27, 2015 12:00:53
- Откуда: Рязанская область
Re: Плейер световых эффектов - помогите стать лучше
я не совсем понял, зачем вам "не попадать" в промежуток.
Спойлер
CLR GB=FFRPT
V3=RD ВЫБИРАЕТСЯ СЛУЧАЙНЫЙ ЦВЕТ
IV4!V3 ставим условие что бы тот же цвет не получился
MR=00
PI=V4
WT=01
MSL
EI
V4=V3
INF
ВЫБИРАЕТСЯ СЛУЧАЙНЫЙ ЦВЕТ ПРОХОДИТ ЦИКЛ
ОПЯТЬ СЛУЧАЙНЫЙ ЦВЕТ а вдруг такой же?
чтоб не произошло этого мы ставим условие и все бы хорошо
но на глаз что к примеру зеленый что светло зеленый один хрен
вот и нужен этот промежуток
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
проблему получения случайного числа "вблизи" от предыдущего я себе в напоминальник давно записал, и решу её, как только по-серьезному возьмусть за завершение плейера. сейчас на этом можете не сосредотачиваться, в будущем не будет такого (во всяком случае, я надеюсь на это), что случайный цвет будет мало отличаться от предыдущего.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Реклама
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
подписал, подписал. и даже выпросил у нашего коллеги исходник под эти светики, за что (и не только за это) отметил его в окошке About симулятора 
осталось интегрировать их в основной код.
осталось интегрировать их в основной код.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
выкладываю обновление симулятора: https://drive.google.com/file/d/1ckKRz8 ... TK_Eo/edit
альтернативное облако: https://cloud.mail.ru/public/999v%2FRYUpR6bGR

основные новшества:
1. кардинально переделана система просмотра переменных и т.п. - окно Watch. теперь можно:
- добавлять произвольно переменные, пикселы и т.п. при помощи нажатия на кнопочку (лупа с плюсом)
- удалять лишнее из списка просмотра нажатием на кнопочку (лупа с крестиком)). если покликать на "лишнем" при нажатом Ctrl - можно выделить несколько элементов и удалить из сразу одним нажатием
- очистить окно вообще - метелка
- в редакторе скрипта выделить переменную и нажать Ctrl-NumPlus (плюс на "цифровой" клавиатуре справа) - переменная добавится
- при просмотре "матричных" параметров можно видеть целиком текущую строк/столбец - по цвету, яркости или затуханию
- можно вывести переменные "массивом", т.е. в одной строке (для экономии места)
- можно временно "свернуть" группу просмотра, а потом развернуть
- добавлять и удалять наблюдаемые элементы можно как в режиме отладки, так и в любое другое время (если объект недоступен, отображаетс вопрос)
- в окне Watch красным подсвечиваются те значения, которые изменились после исполнения последней команды
2. устранен ряд глюков и ошибок, добавлены пункты меню, в том числе всплывающее меню в редакторе скрипта
3. изменена реакция на команды пошагового выполнения скрипта, теперь стало необязательно сначала нажимать на "жучка", чтобы начать исполнение команд - можно сразу жать F8
4. добавлены диагностические сообщения в протокол работы, а так же индикация исполнения скрипта в окне Info.
5. для увеличения быстродействия симуляции при максимальной скорости исполнения в окне редактора не отображается синим строчка исполнения, так же "заморожена" индикация в Watch
6. изменен шифт в редакторе и окне наблюдения
7. содержимое окошка "протокла" работы теперь можно очищать и/или сохранять в файл (автоматически - через настроки параметров или вручную через всплывающее меню). если будут проблемы - теперь можно прилагать не скриншот, а текстовый файл (но перед этим желательно включать расширенный режим, указав -D в командной строке)
буду благодарен за замечаний и предложения по работе симулятора.
альтернативное облако: https://cloud.mail.ru/public/999v%2FRYUpR6bGR
основные новшества:
1. кардинально переделана система просмотра переменных и т.п. - окно Watch. теперь можно:
- добавлять произвольно переменные, пикселы и т.п. при помощи нажатия на кнопочку (лупа с плюсом)
- удалять лишнее из списка просмотра нажатием на кнопочку (лупа с крестиком)). если покликать на "лишнем" при нажатом Ctrl - можно выделить несколько элементов и удалить из сразу одним нажатием
- очистить окно вообще - метелка
- в редакторе скрипта выделить переменную и нажать Ctrl-NumPlus (плюс на "цифровой" клавиатуре справа) - переменная добавится
- при просмотре "матричных" параметров можно видеть целиком текущую строк/столбец - по цвету, яркости или затуханию
- можно вывести переменные "массивом", т.е. в одной строке (для экономии места)
- можно временно "свернуть" группу просмотра, а потом развернуть
- добавлять и удалять наблюдаемые элементы можно как в режиме отладки, так и в любое другое время (если объект недоступен, отображаетс вопрос)
- в окне Watch красным подсвечиваются те значения, которые изменились после исполнения последней команды
2. устранен ряд глюков и ошибок, добавлены пункты меню, в том числе всплывающее меню в редакторе скрипта
3. изменена реакция на команды пошагового выполнения скрипта, теперь стало необязательно сначала нажимать на "жучка", чтобы начать исполнение команд - можно сразу жать F8
4. добавлены диагностические сообщения в протокол работы, а так же индикация исполнения скрипта в окне Info.
5. для увеличения быстродействия симуляции при максимальной скорости исполнения в окне редактора не отображается синим строчка исполнения, так же "заморожена" индикация в Watch
6. изменен шифт в редакторе и окне наблюдения
7. содержимое окошка "протокла" работы теперь можно очищать и/или сохранять в файл (автоматически - через настроки параметров или вручную через всплывающее меню). если будут проблемы - теперь можно прилагать не скриншот, а текстовый файл (но перед этим желательно включать расширенный режим, указав -D в командной строке)
буду благодарен за замечаний и предложения по работе симулятора.
- Вложения
-
- Screenshot_10.png
- (191.95 КБ) 765 скачиваний
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
Ещё не делал, не собирал, только наблюдаю. Пока времени нет. Но снимаю шляпу со своей головы, ARV, грандиозная работа, супер! С телефона не умею плюсануть:)
Я всё-всё узнAю и стану профессором.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
Стараюсь... Уже есть улучшения к предыдущему релизу.
Добавляю русификацию и заканчиваю проект.
А микроконтроллеры так и не пришли
Добавляю русификацию и заканчиваю проект.
А микроконтроллеры так и не пришли
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
Ну, ДЛЯ МЕНЯ русификация - излишня, русский- не первый мой язык. А осенью, скорее всего, займусь плейером. (Если сумею разобраться:) ).
Я всё-всё узнAю и стану профессором.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
проверьте в настройках - не стоит ли галочка Do not show local buttons panels? снимите, если стоит - кнопки должны появиться.
что касается остального - удалите файл с расширением layout и запустите DSM с "чистого листа"
что касается остального - удалите файл с расширением layout и запустите DSM с "чистого листа"
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
выкладываю обновление (старая ссылка на предыдущую версию пока действует): https://cloud.mail.ru/public/Jr3P%2FWbsMh2eTZ
это ссылка на архив, в котором помимо самого симулятора dsm.exe есть папка с "локализациями" и файл истории, в котором написано все самое важное с прошлого раза.
главное: теперь есть поддержка разных языков интерфейса!
пока реализован перевод на русский язык, но все желающие могут создать свой вариант для любого языка. чтобы это сделать, следует погуглить на тему ".po файлы".
в папке locale (распаковать туда же, где и dsm.exe) есть 2 готовых - dsm.en.po и dsm.ru.po. любой из них копируете в, например, dsm.kz.po, затем редактируете его, вставляя свои переводы всех строк, для которых есть перевод (ни в коем случае не удалять символы %s, %d и \n - будет плохо!). все, теперь у вас будет поддержка казахского языка
лишние флаги можно удалить - название флага должно совпадать с названием кодировки, кодировка должна обозначаться двумя буквами. если нужного флага нет - можно нарисовать свой png-файл размером 32х32 пиксела.
переключение языка (меню Service-Language) не всегда отрабатывает корректно, есть и дефекты перевода... но начало положено.
буду благодарен за найденные проблемы, баги и т.п.
это ссылка на архив, в котором помимо самого симулятора dsm.exe есть папка с "локализациями" и файл истории, в котором написано все самое важное с прошлого раза.
главное: теперь есть поддержка разных языков интерфейса!
пока реализован перевод на русский язык, но все желающие могут создать свой вариант для любого языка. чтобы это сделать, следует погуглить на тему ".po файлы".
в папке locale (распаковать туда же, где и dsm.exe) есть 2 готовых - dsm.en.po и dsm.ru.po. любой из них копируете в, например, dsm.kz.po, затем редактируете его, вставляя свои переводы всех строк, для которых есть перевод (ни в коем случае не удалять символы %s, %d и \n - будет плохо!). все, теперь у вас будет поддержка казахского языка
переключение языка (меню Service-Language) не всегда отрабатывает корректно, есть и дефекты перевода... но начало положено.
буду благодарен за найденные проблемы, баги и т.п.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
ARV в общем проблема с инициализацией карты памяти.
Вы включаете удвоенную скорость SPI до инициализации карты, вроде как советуют удвоенную скорость SPI включать после инициализации карты?
Вы включаете удвоенную скорость SPI до инициализации карты, вроде как советуют удвоенную скорость SPI включать после инициализации карты?
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
в чем именно проблема и как вы это выяснили? на имеющихся у меня картах проблем нет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
У меня изначально карты через раз определялись, приходилось довольно продолжительное время дергать и питание и карту.
В примерах от Ардуино карта сразу определяется.
Ну да ладно, я поменял: SPSR = _BV(SPI2X);
Добавил в mmc.c DSTATUS disk_initialize (void)Добавил в main.c static bool load_config(void){Удалил в script_cmd.c INIT(8){Теперь все карты, которые у меня есть, с первого раза определяются.
В примерах от Ардуино карта сразу определяется.
Ну да ладно, я поменял: SPSR = _BV(SPI2X);
Добавил в mmc.c DSTATUS disk_initialize (void)
Код: Выделить всё
rcv_spi();
SPSR = _BV(SPI2X);
return ty ? 0 : STA_NOINIT;Код: Выделить всё
if(is_dbg_mode()) { SPSR = _BV(SPI2X); return true; }Код: Выделить всё
SPCR = _BV(SPE) | _BV(MSTR) | _BV(CPHA);//fosc/2 16MHz/2
//SPSR = _BV(SPI2X); // думаю здесь можно было бы и SPSR = 0, не знаю что при резете получается, обнуляется этот регистр или нет?
SPSR; SPDR;
enter_sd_mode();- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18649
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Плейер световых эффектов - помогите стать лучше
странно это всё...
можете как-то сообщить информацию о ваших картах? производитель, объем, класс тип...
разживусь микроконтроллерами, приступлю к доводке, а пока торопиться не буду...
можете как-то сообщить информацию о ваших картах? производитель, объем, класс тип...
разживусь микроконтроллерами, приступлю к доводке, а пока торопиться не буду...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Плейер световых эффектов - помогите стать лучше
[uquote="ARV",url="/forum/viewtopic.php?p=3678061#p3678061"]странно это всё...[/uquote]
Если при инициализации карты скорость SPI превышает 400 KHz указанные в спецификации, то ничего странного. А она вроде там 8 MHz.
Если при инициализации карты скорость SPI превышает 400 KHz указанные в спецификации, то ничего странного. А она вроде там 8 MHz.
Re: Плейер световых эффектов - помогите стать лучше
Здесь написаноперевод карты в spi режим.
Вот кусок кодаОбратите внимание где включается максимальная скорость spi, SPCR = 0x52; и SPCR = 0x50; и удвоение скорости (с этим я еще не пробовал, можно поэкспериментировать)Карты памяти у меня SD до 4 гигов (512Мб 1Гб 2Гб), есть еще 8Гб на она SDHC (ее не пробовал).
Речь идет про эту строчку кодаВАЖНО : инициализация проводится на низко скоростном режиме! Частота клока карты не более 400 кГц!!!
Код: Выделить всё
for (n = 10; n; n--){
rcv_spi(); /* 80 dummy clocks with CS=H */
}Вот кусок кода
Спойлер
Код: Выделить всё
#define SPI_INIT { SPCR = 0x52; SPSR = 0x00; }
#define SPI_HIGHSPEED { SPCR = 0x50; SPSR |= (1<<SPI2X); delay_ms(1); }
/**************************************************************************
* Инициализация карты (эта функция вызывается функцией sd_init) *
**************************************************************************/
static BYTE sd_init_int() {
BYTE i;
/* Сбрасываем SDHC флаг */
sd_sdhc = 0;
/* Минимум 80 пустых тактов */
for(i=20; i; --i)
spi_receive();
/* CMD0 Посылаем команду сброса */
if(sd_sendCommand(GO_IDLE_STATE, 0) != 1) goto abort;
/* CMD8 Узнаем версию карты */
i = 0;
if(sd_sendCommand(SEND_IF_COND, 0x000001AA))
i = 1;
/* CMD41 Ожидание окончания инициализации */
if(sd_check()) goto abort;
/* Только для второй версии карты */
if(i) {
/* CMD58 определение SDHC карты. Ответ обрабатывается в функции sd_sendCommand */
if(sd_sendCommand(READ_OCR, 0) != 0) goto abort;
}
return 0;
abort:
return 1;
}
/**************************************************************************
* Инициализация карты *
**************************************************************************/
BYTE sd_init() {
BYTE tries;
/* Освобождаем CS на всякий случай */
SD_CS_DISABLE
/* Включаем SPI */
SPI_INIT
/* Делаем несколько попыток инициализации */
tries = 10;
while(sd_init_int())
if(--tries == 0) {
lastError = ERR_DISK_ERR;
return 1;
}
/* Вклчюаем максимальную скорость */
SPI_HIGHSPEED
return 0;
}


