FLProg
Вход на сайт
Логин:
Пароль:
Мы в VK
Поиск
Архив записей
Статистика

Онлайн всего: 7
Гостей: 6
Пользователей: 1
vacz

Яндекс.Метрика
Суббота, 10.12.2016, 08:01
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

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


Главная » 2016 » Ноябрь » 12 » Выход новой версии программы FLProg
09:41
Выход новой версии программы FLProg
Вышла новая версия программы FLProg с номером 2.1.1.
Поскольку эта вахта у меня была короткая (две недели), то нововведений немного.
  1. Переделан принцип компиляции блока меню. Первый вариант оказался неудачным. Результирующий код занимал много места в и так небольшой памяти контроллера. Но мне удалось понять всё величие команды «PROGMEM» и уменьшить код в десятки раз. Подробнее об этой борьбе можно почитать здесь . Кроме того я поддался уговорам пользователей ратующих за сохранение ресурса EEPROM и изменил принцип сохранения изменений значений пунктов меню в постоянную память. Теперь обновление значения в EEPROM происходит не в момент изменения значения как раньше, а в моменты перехода между пунктами меню, в момент выхода из подменю или основного меню (задний фронт на входе EN блока меню). Не знаю, насколько удачным будет это решение – время покажет.
     
  2. Решена старая задача. Реализована возможность задания начальных значений для всех блоков, работающих с EEPROM. Это блоки записи переменной в EEPROM, специальные блоки модбас (задание скорости, активность слейва, адрес слейва), ну и, конечно же, блок меню. Теперь в этих блоках можно задать стартовое значение для каждой переменной. После каждой компиляции проекта и заливки в контроллер один раз (до следующей заливки программы) стартовые значения будут записаны в EEPROM. Правда, для этого мне пришлось увеличить размер окна редактора блоков. При старом размере для новых параметров (особенно в блоке меню), уже не хватало места.
     
  3. Решена ещё одна старая задача – реализовано авто сохранение проекта. В настройках программы появился пункт «Автосохранение». Там можно настроить активность автосохранения перед компиляцией, активность и период в минутах для периодического автосохранения.  В случае падения программы, или какой то иной причине некорректного закрытия программы при запуске будут показаны найденные автосохранения с указанием времени сохранения, причины сохранения (периодический или перед компиляцией) и пути к исходному проекту. При автосохранении исходный проект не изменяется. Для каждого из обнаруженных автосохранённых проектов Вы можете задать следующие действия – открыть (в новой вкладке), удалить, или ничего не делать. В последнем случае при следующем запуске программы эти проекты Вам опять будут показаны.  Так же автосохранённые проекты можно посмотреть в любой момент выбрав пункт меню «Файл» -> «Файлы автосохранения проектов». Если этот пункт не активен, значит, автосохранённых проектов нет. Автосохранение проекта ведётся отдельно для каждой вкладки с проектом. При корректном закрытии вкладки автосохранение для данной вкладки удаляется (обратите внимание это касается и для того случая,  когда при закрытии вкладки Вы отказались от сохранения проекта).
     
  4. Информация для тех пользователей, у которых «скоростные» мышки (с большой частотой опроса). У себя мне не удалось найти такой мыши, но теоретически я понимаю, в чём проблема.  Кое-какие шаги в направлении решении этой проблемы я реализовал. Кроме того эти шаги должны по идее увеличить общую скорость работы. Прошу проверить работу программы с такими мышками, и отписаться о результатах.
     
  5.  Ну и как обычно исправлено некоторое количество багов. Исправленные баги можно посмотреть здесь
К сожалению, короткая вахта не позволила мне решить проблемы с панелью Nexion-HMI и программой RemoteXY. Это будет первоочередной задачей на следующую версию программы.  А сейчас у меня осталось несколько дней до отъезда домой, и я постараюсь написать развёрнутый урок по работе с блоками меню.
 
Просмотров: 1403 | Добавил: support | Рейтинг: 3.5/2
Всего комментариев: 231 2 »
avatar
1
1
Сергей, а когда предполагается добавление в функционал базовых вещей, таких как:
1. переменная unsigned int (0..65535)
2. AND, XOR, OR по НЕбитовым переменным
3. блок ограничения сверху и снизу y = constrain(x, a, b)
4. блоки выбора наибольшего\наименьшего значений max(x, y) и min(x, y) ?

П.С. Не в обиду, но наращиваются какие-то супер сложные блоки Меню, связь с серверами, WiFi, базы данных ключей DS, а элементарных базовых вещей, которые должны появиться самыми первыми, просто НЕТ. Весь форум усыпан мелкими просьбочками о базовых вещах с рейтингом голосов в несколько тысяч...

Спасибо за программу!
avatar
0
4
Цитата
1. переменная unsigned int (0..65535)

Ситуация такая что сейчас (в текущей архитектуры) добавление нового типа тянет за собой большой хвост переделок, которых этот тип не стоит. Это конечно моя ошибка которую я совершил 3 года назад, но теперь боюсь новый тип данных появится не скоро, скорее всего тогда, когда будет чётко видна его необходимость, и я готов буду потратить недельку - другую на его интеграцию.

Цитата
2. AND, XOR, OR по НЕбитовым переменным

Да это надо. Самое смешное что я в каждой версии собираюсь их сделать, но поскольку работа небольшая (денёк - полтора), то оставляю напоследок. И как всегда именно этих дня - полтора мне не хватает)))). Будет - обязательно будет!

Цитата
3. блок ограничения сверху и снизу y = constrain(x, a, b)

Про такое пожелание первый раз слышу. Сделаю вместе с побитовой логикой.

Цитата
4. блоки выбора наибольшего\наименьшего значений max(x, y) и min(x, y) ?


Библиотека элементов -> Алгебра
avatar
0
6
Ну про беззнаковый инт я так и думал, что он коснется всего и вся и это адский труд ничего не пропустить и не наворотить косяков в уже рабочем функционале.
Но чем дальше, тем сложнее будет.
Спасибо! happy
avatar
0
10
Мне стало стыдно, потом пришла совесть и заставила меня работать)))). В общем сегодня я сделал блоки "Побитовое И", "Побитовое НЕТ", "Побитовое ИЛИ", "Побитовое исключающее ИЛИ" и "Limit".
Так что в следующей версии они будут
avatar
0
13
Спасибо огромное!
avatar
0
2
Программа мегаполезная. И я готов ее донатить на постоянной основе лишь бы автор ее не бросал. Но четыре пункта указанных бородой действительно важны. Конечно можно и обойтись костылями но хотелось бы чтоб это было более нативно.
Отдельное спасибо за авто сохранение!
avatar
0
5
Да я ежемесячно донатю. И леплю на СИ костылики XOR'ов, Limit'ов и т.д. под все виды переменных и с разным количеством входов. biggrin
avatar
0
3
Я всегда делаю сохранение переменных в EEPROM через 20 секунд после последнего нажатия кнопок +\- в меню (за это время с вероятностью 80% пользователь закончил настройку).
avatar
0
7
Я ешё на старом сайте тему про unsigned int поднимал. Было ещё не так поздно. sad
avatar
0
8
ОБНАРУЖИЛСЯ "BAG" В 2.2.1 НЕ ОТКРЫВАЕТСЯ ПОЛНОСТЬЮ ОПИСАНИЕ БЛОКОВ, НЕТ ДОСТУПА К КНОПКАМ «ГОТОВО»«Отмена»
avatar
0
9
Поподробнее можно?
avatar
0
11
тоже самое как у oren....у меня ноут старенький , максимальное разрешение экрана 1024*768....а когда открываешь окно с настройками блока (любого) такое впечатление, что оно больше чем 1024*768...и даже если стрелкой его тянуть вверх то кнопочки отмена и готово не появляются (вернее не хватает экрана). А вот если тапнуть в меня выбора блока и откроется описание этого блока , то оно маленькое как и было всегда. Просьба исправить...
avatar
0
12
Всё понял, уже в своём варианте исправил. Новое окошко будет размером 1024Х600 (сейчас 1024х768). Меньше уже нельзя - не помещаюсь )))
avatar
0
14
Support (Сергей)
Извиняюсь, что поднимаю снова этот вопрос, но еще пару-тройку версий назад, вроде обещал добавить возможность вставлять текс без кавычек из параметров блока CODE в текст кода.
Вот здесь было обсуждение
Просто опять получился из-за этого затык. Подробнее о проблеме в теме  nRF24L01+ пользовательский блок
avatar
0
15
Сделал, в следующей версии будет. Надеюсь я правильно понял идею:







avatar
0
16
Спасибо большое, по скриншотам вроде все верно. smile

Если уже совсем обнаглеть и спросить, а комбобох (вами предложенный в том же сообщении), еще рассматривается или отвергнуты.

Из багов, уже писал где то, при удалении папки с пользовательскими блоками, удаляется только папка, а блоки вываливаются в общую кучу, это очень не удобно, когда делаешь не один большой блок, а систему и нескольких связанных блоков, и необходимо все их обновить.
avatar
0
17
Да да Слимпер. Так держать! Вон автора уже совесть мучает. Еще немного и через пару дней новую версию получим.
avatar
0
18
Вы не поверите, легко! Но остается маленький вопрос. У меня остался завтра день и ночь( я останусь завтра в ночь на работе). Что будем делать, комбобокс или всё таки урок по меню. Лично для меня - я бы лучше сделал комбобокс. Я очень (от слова ОЧЕНЬ) не люблю делать хелпы и уроки. Но заставляю себя этим заниматься, поскольку понимаю что это необходимо. 

Ну что решим? Урок, или новый функционал?

После обеда 15-го никакая совесть не поможет мне заниматься проектом или уроками, поскольку жена и трое (уже трое на текущий момент -  друзья приехали ) детей не дадут мне этого. Максимум что получится - отслеживать сайт и почту по телефону. И так до 15 - го декабря.
avatar
0
21
Не могу решать за других, мне видео по работе с блоком меню не нужно, да и комбобокс хочется, но не горит. Вот то что уже сделали (про текст без кавычек) и баг с удалением, желательно.

Но думаю многим (большинству), интереснее видео по меню будет нужнее.

А вообще, может кто еще возьмется за запись уроков, я это тоже очень не люблю.
Объявить вакансию, учитель FLProg, может даже с вознаграждением, на основе пожертвований пользователей .
avatar
0
19
Не знаю что такое комбобокс....голосую за видеоурок
avatar
0
20
Комбобокс однозначно!
Если что кому не понятно по меню - есть форум. Много знающих людей. Всегда помогали, советы давали.
Форум классный и люди в большинстве своём одекватные.
1-10 11-12
avatar
FLProg © 2016
Яндекс.Метрика