OLED i2c 128х64 [Low memory available, stability problems may occur]

SadiQ228
Offline
Зарегистрирован: 10.04.2017

Прошу поддержки по вопросу организации памяти при использовании дисплеем.

Так мой скетчь изначальный, консольный,  (22%) of program storage space и (33%) of dynamic memory, встала задача вместо консоли вывести на экранчик, но получаю ошибку компиляции Low memory available, stability problems may occur

так же не смотря на надпись "Done Uploading" я не получаю рабочего функционала, хотя затраты по памяти и не критичны (вроде), но она возрастате в разы: (48%) of program storage space. Maximum is 30720 bytes и (88%) of dynamic memory, leaving 236 bytes for local variables. Maximum is 2048 bytes.

библиотеку для дисплея я использую классическую можно сказать #include <Adafruit_SSD1306.h>

проблема в строчке Adafruit_SSD1306 display(OLED_RESET); без которой не работает, но которая и дает основной объем, так как в глобале объявлена

прошу помощи по решению задачи сокращения размера счетча при работе с дисплеем

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

SadiQ228, библиотек для этого дисплея полно, а вы взяли самую ресурсожоркую.

SadiQ228
Offline
Зарегистрирован: 10.04.2017

прошу прощения я по не знанке это сделал) ведь она еще является и самой функциональной...

прощу подсказки по библиотеке, какую лучше взять?

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Пробуйте все, везде есть плюсы и минусы.
Я например ozoled использую, но там пришлось дописывать команды инициализации.

SadiQ228
Offline
Зарегистрирован: 10.04.2017

а может можно как то класс обрезать чтобы его экземпляр весил меньше? убрать не нужные мне методы

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Можно :)
Вопрос сможете ли вы это сделать)
Я например сунулся в эту библиотеку, понял что сложно, плюнул, взял другую, и её уже переделал.

SadiQ228
Offline
Зарегистрирован: 10.04.2017

укажите вашу библиотеку ? 

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

Выше писал OzOled

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Насколько мне известно, в OzOled есть проблемы с инициализацией. По меньшей мере, работает не на всех.

SadiQ228, ресурсы контроллеров весьма ограничены, поэтому приходится выбирать и от чего-то отказываться.

Поэтому "наиболее функциональная" обычно означает что и "наиболее ресурсоемкая". Вы уж расставьте приоритеты.

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

http://arduino.ru/forum/proekty/asoled-kompaktnaya-biblioteka-dlya-oled-...

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

andriano пишет:

Насколько мне известно, в OzOled есть проблемы с инициализацией.

Лечиться добавлением нескольких строк из другой библиотеки

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

andycat пишет:
andriano пишет:

Насколько мне известно, в OzOled есть проблемы с инициализацией.

Лечиться добавлением нескольких строк из другой библиотеки

Так никто и не спорит, что любая софтверная проблема решается выкидыванием ненужного и добавлением необходимого.

SadiQ228
Offline
Зарегистрирован: 10.04.2017

прекраснейшая аналитическая работа вами была проделана, блестящая рекомендация, благодарю!

b707
Offline
Зарегистрирован: 26.05.2017

SadiQ228 пишет:

прекраснейшая аналитическая работа вами была проделана, блестящая рекомендация, благодарю!

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

Для вывода на OLED библиотек много, можно даже собрать свою библиотеку из нескольких, взяв только нужные функции и выкинув лишнее.

SadiQ228
Offline
Зарегистрирован: 10.04.2017

я просто от души поблагодарил за действительно крутую либу что вам не так? вопрос закрыт можно сказать пока что памяти хватило!