FLProg
Вход на сайт
Логин:
Пароль:
Поиск
Мы в VK
...
Статистика
Пятница, 28.04.2017, 01:31
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 4 из 4«1234
Модератор форума: support, Сергей 
Форум » Основной » Спросить у знатоков » Проблема работы блока Меню при большом обьеме скетча (Когда создаю меню при весе более 54% памяти Блок не работает)
Проблема работы блока Меню при большом обьеме скетча
nalnik Дата: Четверг, 03.11.2016, 23:21 | Сообщение # 46
Майор
Группа: Проверенные
Сообщений: 173
Награды: 3
Репутация: 0
Статус: Offline
Lazary
В текстах удали - не определенные стоки
строк не должно быть больше двух - у тебя есть заполненная строка и две не определенных - крайнею удали
проверь


Я не злопамятный, Я записываю.

Сообщение отредактировал nalnik - Четверг, 03.11.2016, 23:22
 
Lazary Дата: Четверг, 03.11.2016, 23:47 | Сообщение # 47
Рядовой
Группа: Проверенные
Сообщений: 21
Награды: 1
Репутация: 1
Статус: Offline
nalnik, Я вообще удалил все строки которые боли, все доп стрелочки и пробелы, обьем уменьшился да, но все же это не совсем решение так как все равно остается ограничение на обьем памяти переменных, много пунктов меню с под меню не сделать
 
Слимпер Дата: Пятница, 04.11.2016, 10:31 | Сообщение # 48
Генерал-лейтенант
Группа: Проверенные
Сообщений: 856
Награды: 44
Репутация: 33
Статус: Offline
Цитата support ()
Основное место в переменных занимают строки текста. Остальное мелочи(в большинстве своём булеановские или байты). Естественно избавится полностью от строк не получится( что то выводиться же должно) но я по стараюсь перенести их в память программы (PROGMEM) которой заметно больше. Пока разбираюсь с этим. Это не так просто.
Приветствую Сергей.
Может и так знаете, но есть такая форма записи
Serial.println(F("This string will be stored in flash memory")); вот тут подробнее
Но это косается только передачи в Com-порт
Ну и как я понял,  про Ключевое слово PROGMEM вы тоже уже знаете.

Добавлено (04.11.2016, 10:31)
---------------------------------------------

Попробовал перенести в массивы строк в память на основе приведенной выше статьи, получается.

сгенерирвал меню из трех пунктов затем заменил часть кода  в IDE

String _menuItemsNameArray[3] = {"Menu1", "QQQQQQ", "NEEE"};

Заменил на



ниже нашел строку

_MenuBlock_396801281_MNO = _menuItemsNameArray[((_MainMenus[0].currentItem ).menuNameIndex - 1)];

заменил таким кодом:

strcpy_P(buffer, (char*)pgm_read_word(&(string_table[((_MainMenus[0].currentItem ).menuNameIndex - 1)])));
_MenuBlock_396801281_MNO= String (buffer);


Сообщение отредактировал Слимпер - Пятница, 04.11.2016, 10:34
 
support Дата: Пятница, 04.11.2016, 15:20 | Сообщение # 49
Автор программы
Группа: Администраторы
Сообщений: 785
Награды: 37
Репутация: 25
Статус: Offline
Ну примерно это я и делаю. Первые успехи уже есть.  Но ещё работаю.



Разработчик программы FLProg
 
Lazary Дата: Пятница, 04.11.2016, 16:18 | Сообщение # 50
Рядовой
Группа: Проверенные
Сообщений: 21
Награды: 1
Репутация: 1
Статус: Offline
support, Вы мне потом объясните как все сделать чтобы заработало как нужно, прошу объяснить подробно как для человека который в коде не чего не понимает, мои познания программирования для ардуино только в FLProg. Спасибо!
 
support Дата: Воскресенье, 06.11.2016, 11:39 | Сообщение # 51
Автор программы
Группа: Администраторы
Сообщений: 785
Награды: 37
Репутация: 25
Статус: Offline
Подождите немного. Я как раз сейчас работаю. Ничего делать не надо, я переделываю компилятор в FLProg. Вроде получается. На текущий момент при стандартной компиляции проекта на вашем проекте ситуация такая.


И это при 40!!! пунктах меню. Честно говоря очень много.


Разработчик программы FLProg
 
Lazary Дата: Четверг, 17.11.2016, 17:22 | Сообщение # 52
Рядовой
Группа: Проверенные
Сообщений: 21
Награды: 1
Репутация: 1
Статус: Offline
support, Спасибо большое за помощь, результаты просто замечательные, ждем конечного результата, держите по возможности нас в курсе как все продвигается.

Добавлено (17.11.2016, 17:22)
---------------------------------------------
support, Здравствуйте, можно поинтересоваться как проходят успехи с решением данной проблемы ? На когда примерно ожидать конечные результаты, чтобы хоть примерно ориентироваться по срокам сколько ожидать. Спасибо!

 
Слимпер Дата: Четверг, 17.11.2016, 17:57 | Сообщение # 53
Генерал-лейтенант
Группа: Проверенные
Сообщений: 856
Награды: 44
Репутация: 33
Статус: Offline
Цитата Lazary ()
Здравствуйте, можно поинтересоваться как проходят успехи с решением данной проблемы ? На когда примерно ожидать конечные результаты, чтобы хоть примерно ориентироваться по срокам сколько ожидать. Спасибо!
Так уже вышла версия 2.1.1  в которой это уже решено.
 
Lazary Дата: Понедельник, 12.12.2016, 19:14 | Сообщение # 54
Рядовой
Группа: Проверенные
Сообщений: 21
Награды: 1
Репутация: 1
Статус: Offline
Слимпер, Спасибо за подсказку, не заметил вовремя что уже вышла новая версия
 
Форум » Основной » Спросить у знатоков » Проблема работы блока Меню при большом обьеме скетча (Когда создаю меню при весе более 54% памяти Блок не работает)
Страница 4 из 4«1234
Поиск:

FLProg © 2017
Яндекс.Метрика