WiFi лампа-будильник. Обсуждение прошивки от vvip-68

Сотнег

★★★★★★★
15 Янв 2020
4,629
1,564
@Игорь К.,
может быть, уже спрашивали,
или оно не влияет,
но в какой файловой системе вы карты памяти отформатировали?
 

AnCore

★★★✩✩✩✩
27 Янв 2020
408
177
@Игорь К., по напряжениям не скажу, не замерял, но скажу, что, когда собирал на esp8266 (на версии прошивки 1.13), то ничего дополнительного для sd shield не делал. Бывали моменты, когда в одном устройстве карточка читается, в другом нет (у меня так бывало с dfplayer mini)
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
Закоротил диод, стоящий по GND
И, чудо, появилась строка в режимах
21:07:11.113 -> Режим: SD-Карта
Не было ее за весь вчерашний день ни разу.
Даже боюсь повторного включения и ресета, вдруг пропадет, но надо.

Нет. изменений нет. И, странность напряжение питания стало ниже. пошел разбираться
 

dina

★★✩✩✩✩✩
3 Окт 2021
369
94
51
В мини мп3 плеерах ,не работали карты ,у меня винда выставляла при форматировании Фат или Фат32 ,размер кластера 64кб. Пару дней бился ,потом руками ,при форматировании выбрал ,Стандартный размер кластера и случилось чудо)))
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Игорь К.,это не та строка, на которую нужно обращать внимание.
Если прошивка скомпилирована с поддержкой SD-карты - этот режим есть в списке "крутящихся". И иногда приходит его очередь, о чем и пишется это сообщение. Но поскольку SD-карта не инициализировалась - скетч просто быстренько переключается на следующий режим.

Смотреть надо на то, что пишет в логе в мониторе порта сразу после старта микроконтроллера.
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
vvip, спасибо за раннюю подсказку про 10К на землю. Оторвал ногу модуля SD от гнезда контроллера. Подпаял резистор на модуль. Не было файлов на SD.
Сейчас, подумал, а если это точку D* контроллера и модуля надо подтягивать к земле. Подтянул и:
21:44:02.851 -> Инициализация SD-карты...
21:44:02.851 -> Папка с эффектами /28x28 обнаружена.
21:44:02.851 -> Загрузка списка файлов с эффектами...
21:44:02.851 -> 001 264.25 К, 115 кадр. OK
21:44:02.851 -> 002 206.81 К, 90 кадр. OK
21:44:02.891 -> 003 206.81 К, 90 кадр. OK
21:44:02.891 -> 004 241.27 К, 105 кадр. OK
21:44:02.891 -> 005 195.32 К, 85 кадр. OK
21:44:02.891 -> Доступно 5 файлов эффектов.
Однако!!!
vvip,
AnCore
dina

Ребята, спасибо Большое, за отзывчивость и попытки помочь.
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Игорь К.,ничё не понял. Непропай что ли был? Как по итогу то все соединено? Или D8 вообще не подключен к SD-карте теперь?
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
D8 модуля как и ранее соединен с D8 контроллера и точку их соединения через 10К запаял на GND. В результате монитор порта показал карту и файлы.
Только, не понимаю.
С первого подключения захожу в SD-карту - нет в ней 5 файлов, на панели крутится 1 эффект (Огонь), перебираю эффекты - продолжается Огонь. Отваливается wi-fi.
Выключаю/включаю контроллер, перезапускаю Приложение. В SD-карте есть 5 моих файлов, но крутится только один, нет переключения ни в случайном порядке, ни последовательно - крутится один файл. Следующий можно только вручную запустить.
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Игорь К., а в настройках самого эффекта SD-карты что выбрано? Конкретный эффект? Случайный порядок? Последовательное воспроизведение?
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
vvip, в настройках самого эффекта SD-карты и Последовательное выбирал, и Случайное воспроизведение - без разницы, ждал минуты по 2-3, хотя выставлял 45 сек для эффектов, крутится один эффект. Следующий - только руками
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
Форумчане, доброй ночи. Пытаюсь все-таки понять, почему у Вас прекрасно работают любые карточки, а у меня и карта запускается через подтяжку земли, и эффекты с карты можно переключать только вручную. Насколько успел прочитать, для работы SD модуля с контроллером требуются 2 библиотеки SD.h и SPI.h. В a_def_hard.h есть строки:
#include <SPI.h>
#include <SD.h>
Вижу у себя в Librares папку SD в ней папка src, в которой лежит библиотека SD.h. Но никак не найду где библиотека SPI.h? Подскажите где ее искать. Она же нужна для обмена данными между контроллером и micro SD shield?
Спасибо
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
AnCore, Спасибо. в эту папку не "заходил". Есть библиотека.
Значит не она.
Завтра заберу SD-шку 4 Гб 4 класс. Ну, если и не она... тогда не знаю где искать затык.
Еще раз спасибо.
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Игорь К., @AnCore,это не та папка. Это папка AVR - для чистого Arduino на атмеге. И в документах libraries папка SD тоже для атмеги и в этом проекте не используются. Для ESP это часть ядра и лежат соответственно внутри ядра.

1738209138606.png
@Игорь К., не было бы библиотеки - прокет просто не собрался бы.
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
vvip, умом я это понимал, но попытка "зацепиться за соломинку"...не сработала. Продолжаю решать задачу.
Насколько понимаю, на контроллере на ноге D8(GPIO15) после включения должен быть 0. При появлении +3в - ведомое устройство блокируется, контроллер его не видит. Попробую вечером снять надстройку (SD модуль) и посмотреть на чистой ножке D8 контроллера что есть. Если есть +3в, то как понять это аппаратная проблема или контроллер под замену?
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Игорь К.,я не знаю как вы это поймете. В моем понимании - при старте микроконтроллера D8 (GPIO15) должно быть притянуто к земле, иначе (при высоком уровне) контроллер просто не стартует, потому что наличие высокого уровня на D8 говорит, что контроллер должен загружаться с SD-карты что естественно не пройдет. После того как контроллер запустился он переключает D8 на вывод поднимает на нем высокий уровень - запрет работы SPI - устройство не выбрано. Далее в момент инициализации карты и чтения с нее данных D8 AKA GPIO15 AKA CS AKA SS включается в LOW, разрешая передачу по шине SPI. Передача закончилась - уровень опять поднимается в HIGH - запрет работы SPI.

Всем эти и занимаются библиотеки SD.h и SPI.h

Получается, что у вас возможно не работает D8 на микроконтроллере (сгорел например). Где-то внутри чипа он притянут к 0 - иначе бы не стартовал микроконтроллер, но на ножку D8 это не передается (или плохой контакт между пином контроллера и пином шилда) - при чтении SD-карты он не устанавливается в 0, чтобы разрешить карте обмен данными. В то же время притягивание внешним резистором 10к ножки к нулю разрешает работу карты на постоянной основе. И файлы начинают считываться.

Такая же картинка вырисовывается?
Увидеть все это можно наверное только на дорогом анализаторе сигналов...

А вы что - покупаете микроконтроллеры не "пачкой", а по одному? И если с ним что-то не так вы еще месяц ждете следующего?
Я обычно сразу беру по 5-10 штук - благо они копеечные, чтобы была возможность оперативно заменить предположительно сгоревший и поэкспериментировать с другим. Советую взять на вооружение.

Но все это никак не решается, почему у вас нет перебора эффектов с SD-карты а "крутится" постоянно один.
Что-то отвалилось в скрипте / в скетче? У кого-нибудь еще такая проблема наблюдается?
 
Изменено:

Aleks_1975

✩✩✩✩✩✩✩
24 Май 2023
30
2
У меня это проявляется не много не так. С эмулированной SD все работает как надо.
С реальной SD у мена проигрывается только один эфект с SD, потом все эфекты проходят круг и при следующем эффекте с SD проигрываается следующий, кстати с игрой лабиринт такая же история проигрывается 1 раз выводит счет и переходит на змейку т.е игра играется не по времени а только 1 раз. Правда я использую переходник SD идущий в комплекте с SD картами припаяв проводки.

Вопрос ко всем. Никто не пробовал на ESP32 FATFS вместо SPIFFS, а то столько памяти пропадает. Есть универсальный загрузчик но он вроде только для Arduino 1.8. а у меня 2.3 не хочется ломать что уже настроено и времени по экспериментировать пока нет
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Aleks_1975, по эффектам SD - а разве должно быть как-то по другому? Насколько мне помнится при последовательном проигрывании по кругу там именно такой алгоритм и прописан.

То же самое и с игрой лабиринт - мне кажется там настройка есть - или проигрывать один раз или крутить по заданному времени эффекта. Очевидно у вас выбрано проигрывание один раз. Тонкостей не помню - нужно в код лезть, нео кажется настройка там такая есть.

По выбранным FATFS и SPIFFS - а разве есть какая-то разница что выбирать? Потому что по факту образ файловой системы, которая используется / загружается во флэш-память - всё равно LittleFS
 

Aleks_1975

✩✩✩✩✩✩✩
24 Май 2023
30
2
Может я что то не правильно понимаю но память можно распределить так1738241329183.png

Про лабиринт может и есть настройка но я же ничего не меняю только либо реальная SD либо виртуальная, и с виртуальной SD все эффекты проигрываются подряд каждый указанное время а не на каждом круге следующий, но для меня это не критично
 
Изменено:

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Aleks_1975, а реально что бы вы там не выбирали - FATFS или SPIFFS происходит следующее:

1738243210021.png
1738243240130.png

По эффектам с SD-карты - скетчу нет разницы реальная она или виртуальная. алгоритм про это ничего не знает.
Он говорит "дай следующий эффект" и ему без разницы с виртуальной эмулированной карты файл эффекта считывается или с реальной физической карты.
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
Вопрос знатокам си: что не так, на что ругается компилятор?
Это не у меня, это один из повторяющих прислал лог с ошибками...
код:
In file included from C:\Project\LedPanelWiFi-v.1.14.2025.0107_SK9822\firmware\LedPanelWiFi_v1.14\LedPanelWiFi_v1.14.ino:350:
a_def_hard.h:582:21: error: expected ')' before numeric constant
  582 |   #define DATA_PIN (14U)         // пин ленты
      |                    ~^~~
C:\Project\libraries\FastLED\src/platforms/esp/32/idf5_rmt.h:21:13: note: in expansion of macro 'DATA_PIN'
   21 |         int DATA_PIN,
      |             ^~~~~~~~
a_def_hard.h:582:21: error: expected ')' before numeric constant
  582 |   #define DATA_PIN (14U)         // пин ленты
      |                     ^~~
Полный лог во вложении. У меня идей нет.
1738311056124.png
 

Вложения

Изменено:

Сотнег

★★★★★★★
15 Янв 2020
4,629
1,564
@vvip,
наверное на то, что вы использовали в прошивке #define DATA_PIN,
а в библиотеке появилось использование идентификатора с тем же именем.
Компилятор подтянул вашу копию при компиляции библиотеки и немножно прифигел.
 
  • Лойс +1
Реакции: vvip

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Сотнег, вот спасибо. Это пользователи самовольничают. У меня это называлось LED_PIN...
 

Игорь К.

✩✩✩✩✩✩✩
25 Дек 2023
65
2
vvip, спасибо за подробное объяснение процессов контроллер-модуль. Возможно, что проблема внутри контроллера. Поскольку процессы происходят микро/милисекунды, естественно никаким тестером я не могу это отследить. После подключения контроллера к питанию, через USB разъем, на D8 уже висят +3в, это я вижу на тестере. Контроллер чистый, без матрешки-модуля SD.
По поводу покупки контроллеров пачкой, да, как-то не думалось, что будут проблемы. Купил 3 шт.. Один прекрасно работает на елке с WLED, второй отработал (без модуля SD) с панелью на 225 leds. Этот, использовал под 784leds и модуль.
Поскольку все свои устройства собираю сразу капитально: травлю мастер-платы, на них уже запаиваю все компоненты, убираю в корпуса, как-то курочить прошлогоднюю работу не хотелось. Но в принципе можно пойти и таким путем. Думал, что где-то разгадка рядом. Но раз нет, значит для решения все варианты хороши.
А там и пара новых Вемосов подъедет.
И, да, хотелось бы понять, почему крутится 1 эффект и ни на какой вариант перебора не реагирует...
 

vvip

★★★★✩✩✩
18 Дек 2018
588
254
@Игорь К., почему крутится один - не знаю. У меня такого не наблюдается. Спрашивал же тут у людей - никто не сказал, что у него так же только один эффект. Значит у всех всё работает нормально. Так что...