Delphin911
Member
Сейчас засек все данные.Вставьте в ваш цикл проверку оставшейся доступной памяти, у меня перестало вставлять, когда память уменьшилась до 10600 байт.
Serial.println(ESP.getFreeHeap());
А потом, когда файл стал больше 7 кБ, база пишет, что SQL error: disk I/O error, при попытке добавить новую запись.
Чистый диск. При запуске создается база. Размер файла БД 0, свободная память (ESP.getFreeHeap()) 28264.
Как добавилась первая запись размер файла стал 1024, свободная память 27472.
Со второй записью размер файла не изменился, память - 27520. Память свободную так и показывает 27520. На 81 записи память уменьшилась до 27472
Далее до 24 записи размер файла БД не менялся, потом сразу стал 2048 (увеличился на 1024).
Далее каждые 11 записей файл увеличивался на 512, память не менялась.
На 112 записи при размере файла в 6144 стала выдавать SQL error: out of memory.
Но интересно, что когда через несколько интервалов я сделал запрос select * from table
Результат был 122 записи и размер файла вырос до 7168.
А потом через какое-то время (очень быстро) произошел сброс
Код:
Exception (29):
epc1=0x4000df64 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000
>>>stack>>>
ctx: sys
sp: 3fffe410 end: 3fffffb0 offset: 0190
3fffe5a0: 40104857 3fff22e0 00000002 40100368
3fffe5b0: 4025a227 3fff3aac 3ffedfe0 4025a1bc
3fffe5c0: 00000002 4025a163 00000002 402592bc
SQL error: database disk image is malformed
и больше к базе обратиться не получается. И этим почти всегда заканчивается.