Обсуждаем контроллеры компании Atmel.
Ответить

Re: Плейер световых эффектов - помогите стать лучше

Ср дек 04, 2019 17:19:12

ARV писал(а):код полный - как я выложил? или вы что-то от себя добавляли?
Малость добавил, секундный таймер в конце main.c. У меня bootloader. Одним словом посмотрите сами. Вот архив полностью Atmega128, посмотрите код, может что забыл или что-то не так. Я обычно так делал, в Total Commande в одном окне ваш файл в другом мой, сравнить по содержимому.
ARV писал(а):давайте Serzh2000-а попросим ваши скрипты протестировать?
Давайте попросим, в архиве папка SD с проблемными скриптами и мой PLAY.CFG. Сразу на 11 по окончании скрипта плеер зависает.

Re: Плейер световых эффектов - помогите стать лучше

Ср дек 04, 2019 20:32:00

прошу прощения, что долго не отвечал, был сильно занят. не было времени прошить железо.
Давайте попросим, в архиве папка SD с проблемными скриптами и мой PLAY.CFG. Сразу на 11 по окончании скрипта плеер зависает.

я скопировал вашу SD и как есть вставил в карту памяти :)))
да зависает, но после 102 и висит пока на кнопку не нажмешь :cry:

Re: Плейер световых эффектов - помогите стать лучше

Чт дек 05, 2019 06:35:01

вы меня заинтриговали.
сегодня вечером и я протестирую всю флешку зараз.

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 20:02:37

если пронумеровать скрипты "как положено", начиная с 0, откорректировать их количество в конфигурации - ничего не виснет, все 6 скриптов работают.
почему не работает перебор с нумерацией "вразброд" - пока не знаю.

Добавлено after 10 minutes 34 seconds:
чтобы происходил перебор файлов "вразброд"пронумерованных (с пропускамии номров то есть), необходимо, чтобы PD5 был на земле - это "детектор" карты! это обязательное условие.

Добавлено after 7 minutes 25 seconds:
Код:
         #if defined(PRESENT_ENABLED)
         if(!SD_present()) return false;   
         #endif   
так делать нельзя: если в момент чтения конфига или поиска файла вы вытащите карту, плейер никогда не узнает, что её нет, т.к. не сможет отличить ошибку чтения от ошибки отсутствия. в итоге эффект по умолчанию не включится, и выглядеть это будет, как зависание.

Добавлено after 2 minutes 3 seconds:
если вам нужно управлять при помощи PRESENT_ENABLED, то надо в макросе SD_present() анализировать текущее состояние FATFS и возвращать true, если ошибка не была связана с отсутствием карты. мне было влом - я задействовал выключатель слота.

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 20:07:25

ARV, все не так.
Изначально файлы были пронумерованы от 0 до 110, потом из этого списка начал выкидывать на которых зависал 11 13 70 73 и 102 (на этих зависает).
Со второго пакета там от 0 до 86, выкинул только 27 (на этом скрипте происходит перезапуск, начинает читать с 0 скрипта).
ARV писал(а):так делать нельзя: если в момент чтения конфига или поиска файла вы вытащите карту,
как бы я в курсе, на это есть кнопка резет.
К сожалению мой модуль SD не выводит этот контакт, хотя под линзой я его не рассматривал.

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 20:18:13

в общем, зависание подтверждаю после 102-го скрипта. но это зависание не совсем зависание: светодиод карты часто-часто мерцает, т.е. плейер что-то там пытается читать, как я понимаю, переберает номера файлов и ищет тот, который можно открыть. почему при этом не происходит обнуление номера при превышении общего количества из конфига - не знаю, копать перед новым годом уже не стану.

если будете нумеровать все, как положено - проблем не будет.

"мультирун" мультирунит, не сбрасывает ничего.

Добавлено after 1 minute 1 second:
я не подтверждаю зависаний скриптов на последней версии прошивки. во вском случае все, что вы мне прислали - не виснут.

Добавлено after 2 minutes 32 seconds:
да, в протеусе тестировал - обнулеяет номер файла после 159-го! как в железе этого не происходит - ума не приложу...

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 20:24:42

Ладно, не заморачивайтесь, а что за указатели в этом "мультирун"?

ARV писал(а):обнулеяет номер файла после 159-го! как в железе этого не происходит - ума не приложу...
в железе все обнуляется.

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 20:44:26

Dimon456 писал(а):в железе все обнуляется
чудны дела твои, господи! :))) у меня, как и у Serzh2000, не обнулется, поиск файлов идет непрерывно. ждать, пока 65535 переберет, влом...

Dimon456 писал(а):а что за указатели в этом "мультирун"?
ну фишка такая же, как и обычные указатели в Си :))) X5 - это указатель по переменной V5. то есть из V5 берем содержимое по модулю 36 (сколько всего переменных), и вот то, что получилось - будет номером переменной, с которой будет вестись работа.

Код:
V5=06 указывать будем на V6
X5+01 теперь V6 увеличится на 1

или вот
Код:
VX=09
RPT
  XX=RD
LVX
этот код заполнит случайными значениями переменные с V0 по V9 включительно - массив из 10 переменных :)
таким образом можно делать массивы, что в DSM давно готово в окне наблюдений. в хелпе, кстати, тоже расписано, что такое указатель и как его есть.

кроме мультируна, через эти указатели можно много чего сделать :)

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 21:12:33

ARV писал(а):чудны дела твои, господи! :))) у меня, как и у Serzh2000, не обнулется, поиск файлов идет непрерывно. ждать, пока 65535 переберет, влом...
Ой, если честно, я даже испугался, TF=150
а что с этим скриптом не так

Re: Плейер световых эффектов - помогите стать лучше

Пт дек 06, 2019 21:53:46

Dimon456 писал(а):а что с этим скриптом не так
не так вот это:
Dimon456 писал(а):
Код:
RPT
 CLR
нельзя делать CLR внутри любых "блоков", будь то цикл или условный блок, потому как CLR очищает стек блоков, а так же все переменные и т.п. поэтому команда INF не знает, на какое место надо переходить, что в итоге приводит к разрушению внутренних структур интерпретатора, в итоге или мигает, как не надо, или виснет, или сбрасывается...

самый первый RPT в этом скрипте надо переместить ниже, перед самой первой VF=0A, и будет вам счастье :)))

Добавлено after 2 minutes 2 seconds:
кстати, я обратил внимание, что эта "полиция" мерцает слишком часто - это так и задумано, или у вас синхронизация (таймер) тоже переделана и не 10 мс составляет?

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 09:20:12

А как же защита от дурака? Типа сообщения, не?

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 10:05:42

ARV писал(а):кстати, я обратил внимание, что эта "полиция" мерцает слишком часто - это так и задумано, или у вас синхронизация (таймер) тоже переделана и не 10 мс составляет?
Это ваш скрипт, flash/f2.sc.
ARV писал(а):тоже переделана и не 10 мс составляет?
10мс, у вас мой архив и протеус, можете проверить.

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 10:22:51

А как же защита от дурака? Типа сообщения, не?

И как это сообщение выводить? Азбукой Морзе отмигать, что ли?

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 11:44:48

Морзе не всем понравится. Но есть же USART... Или же LED/LCD можно было бы прикрутить опционально. Как раз текущую команду и отображать. Да и не только.

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 14:37:33

Каждый может под себя модифицировать проект, лицензия "free as is" :)))

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 14:56:25

У нас народ любит что бы был хекс и ниочём не думай.(( А исходники им "и даром" не нужны.)

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 16:07:22

Тогда этот народ пускай пользуется тем, что есть. Тем более, что оно вполне даже неплохо работает.

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 17:47:36

ARV, а вы те скрипты на каком фат тестировали?
В протеусе усе работает, в железе нет, хотя фат16.

В общем дошел до ошибки в функции DRESULT disk_readp (...), возвращает FR_DISK_ERR.
Ни знаю, может еще покапаю, может забью на это, остальные скрипты же работают.

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 18:08:30

у меня флешка отформатирована в FAT32.

Добавлено after 6 minutes 24 seconds:
Dimon456, скрипт, если он менее 512 байт (т.е. 511 и меньше) считвается в буфер целиком, и потом исполняется оттуда, так что никакого обращения к диску не требуется. поскольку все ваши скрипты меньше этого размера, думаю, абсолютно нет связи между неработоспособностью скрипта и тем, как отформатирована флешка. разумеется, при условии, что чтение происходит на самом деле нормально.

я допускаю, что в библиотеке Чена может быть ошибка, Petit FatFS не самый важный его проект, так что... FAT16 тоже не самый ходовой формат, возможно, стечение обстоятельств именно таково, что какой-то сектор читаетс не корректно... попробуйте отформатировать в FAT32... поскольку памяти достаточно, можно будет попробовать вместо Petit использовать "настоящую" FatFS - Чен её больше внимания уделяет, как мне кажется. возможно, она будет лучше работать с FAT16... я её в другом проекте применяю, но тоже с FAT32, так что за FAT16 ничего не скажу.

но вообще связь с фаловой системой мне кажется не очень вероятной...

Re: Плейер световых эффектов - помогите стать лучше

Сб дек 07, 2019 19:53:17

ARV писал(а):но вообще связь с фаловой системой мне кажется не очень вероятной...
Смена фат не помогло.
Мне кажется портится оперативная память атмеги128, может для нее свой ld_script нужен?
Скрипт выполняется полностью, и потом должно пойти затухание, а затухание нет и валит FR_DISK_ERR.
ARV писал(а):скрипт, если он менее 512 байт
Тут где-то есть на 10 килобайт скрипт, идеально работает.
Что в этих скриптах есть чего нет в остальных?
Ответить