Обсуждаем контроллеры компании 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
Спойлер0
0.SC
1
1.SC
2
2.SC
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
0
0.SC
а что с этим скриптом не так
Спойлер
Код:
полиция
RPT
 CLR PB=00
 PC=FF0000
 VE=TP VC=TP VE+01 VC/02 VC+01
 V0=00
 RPT PM=V0 V0+01 LV0!VC
 PC=0000FF V1=TP V1+01
 RPT PM=V0 V0+01 LV0!VE
 VF=0A
 RPT
   PB=FF
   V0=00
   RPT
    BM=V0 V0+01
   LV0!VC
   PNT
   GB=00
   PNT
 LVF
 VF=0A
 RPT
   PB=FF
   V0=VC
   RPT
    BM=V0 V0+01
   LV0!VE
   PNT
   GB=00
   PNT
 LVF
INF

после выполнения скрипта долго думает и зажигает 1 светодиод, и так с 1 светодиодом запускается следующий скрипт, этот эффект был и в старых версиях прошивки

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 килобайт скрипт, идеально работает.
Что в этих скриптах есть чего нет в остальных?
Ответить