• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

EspLua вместо NodeMCU

Я нашел библиотеку.
Я ее уже видел.
Но еще не встраивал и не сравнивал.
Если брать FS от ARM это круто - (разгонял чтение с SD по SDIO до 10мбайт/сек и до 74000 файлов на диске),
FS в полном виде (FAT32 c длинными именами файлов как в Win) -точно не влезет;)
в обрезанном режиме по 6 знаков/файл- есть шанс, если только таблицу FAT из Flash и по частям читать,
но все будет очень медленно - ну и пусть.:p
Еще есть похожие FS в IAR и у PIC - когда то тестировал, тоже работают.
Для Вас наверное проще подсмотреть у Arduino IDE для ESP8266.
В Arduino IDE тестировал SD карту c FAT32 (фото моего аватара:) с микро SD ), все работает, но
по SPI, а карту с полным интерфейсом SDIO не поддерживают. :(
P.S.
да и вот еще на боард nodemcu v1.0 уже выведены пины SDIO, пока не разобрался.;)
 
Последнее редактирование:
Мне даже интересно стало, что принципиально изменится, если изменить режим UART.
для пользователей nodemcu ничего не поменялось кроме потери памяти кучи.;)
это только мои заморочки.:)
жаль TX 256 маловат надо 1024.:(
все равно, спасибо - попробую.
а сделать майк для форума не получается?
 
вот собрал прошивку
работает.
NodeMCU 9.9.9 build 20150713 powered by Lua 5.1.4
lua: cannot open init.lua
>

Запустил вот такой тест:
Код:
if file.open("x.txt","w") then
local i=1
while 1  do
file.writeline("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
    tmr.wdclr()
    i=i+1
    print(i)
         end
end
результат:
Код:
1
...
14791
14792
14793
жЂ�Ђ - тут вылетела

NodeMCU 9.9.9 build 20150713  powered by Lua 5.1.4
lua: cannot open init.lua
>
14793 записи в файл, далее зависла FS.

----------------------------
script1.lua : 232 bytes
x.txt : 1493790 bytes
----------------------------
Total file(s) : 2
Total size : 1494022 bytes

Да, и более не стартует, сама себя затерла на UART шлет мусор...
инициализацию затерла. Пришлось чистить всю Flash.
 
Последнее редактирование:
Несколько вопросов:
1) Что этот тест должен проверить?
2) На каких сборках этот тест работает?
1)Чего тут непонятного?
Хочу узнать максимальный размер файла для 25q32, 25q128
и это нужно,
Пример: если ЛОГ файл превысит 1493790 bytes (при FS 4м или 15м) изделие - в сервис центр.

2) этот тест показывает разные результаты, на разных сборках, но ни одна сборка не дотянула и 50% размера FS.
Результат этого теста: нет процедуры лимитов размера FS, трет все подряд.
Теперь мы знаем (после этого примитивного теста), что дальше 1,4 мб лезть опасно.
и это не окончательное заключение может при другом раскладе будет и хуже.:eek:

Вот Pvvx в каждом письме пишет о проблемах с SDK.
и правильно пишет.
Есть хорошее правило 20% разработка, 80% тестирование
и это работает уж поверьте... :)
 
Не ясно зачем увеличивать буфер, если все равно надо делать старт стопный обмен для больших файлов блоками.
А блок в 256 байт очень удобно (длина в байт)
согласен, но
1024 на 4 пакета по 256, не использую RTS /CTS,
и не хочу ждать готовности буфера. ( я уже писал - мои "заморочки")
 
Вот float 20150406
Код:
heap=19248
7406
heap=19248
7407
heap=19248
ь!¤<
жЗ!ќяжЗ!еь1¤сш

NodeMCU 0.9.6 build 20150406  powered by Lua 5.1.4
lua: cannot open init.lua
>
float 20150406 еще хуже.;)
с закрытием файла запустил на другом модуле там 0527, запись почти секунда долго будет чирикать.;)
куча не меняется.
что то стало понятно?:)
 
С закрытием файла, думал что долго будет работать.
но вот:
Код:
NodeMCU 0.9.6 build 20150627  powered by Lua 5.1.4
lua: cannot open init.lua
>
...
heap=34328
2320
heap=34328
2321
heap=34328
2322
h -зависла...
 

pvvx

Активный участник сообщества
Если бы Pvvx действительно заботило исправление ошибок SDK, то он бы хвастался гонорарами от китайцев.
У меня другой подход и гонорар. Да за то, что они предлагают какие-то фантики, ныне необходимо работать на большую сумму по их прихотям, не связанных с делом :)
Уже было неоднократно доказано, что если писать о ошибках в SDK китайцам, то получаем такое "исправление", что никак не возможно использовать в дальнейшем. По тому лучше молчать и использовать свой "патч".
 

pvvx

Активный участник сообщества
еще можно сделать такой тест:
local i=1
while 1 do
file.open("x.txt","a")
file.writeline("0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000")
file.close()
tmr.wdclr()
i=i+1
print(i)
end
Результат - сколько ждать окончания записей 48 байт в 15,5 мегабайт диск на тормозной Lua?
Пока пишу это - оно тоже всё пишет и пишет :)
 

pvvx

Активный участник сообщества
@nikolz дык когда прерывать данный тест? Или месяц ждать пока дырка в flash не протрется?
Ну пока пишет очередной тысячный файл, описываю:
tmr.wdclr() в EspLua.ru является не сбросом WDT, а вызовом и запуском так назвать "тасков" системы. Т.е. запускается система SDK на 1 ms, с отработкой всех накопившихся в ней процессов. В итоге и WiFi и всё остальное в системе работают, в отличии от NodeMCU.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Последнее редактирование:
Сверху Снизу