Страница 11 из 19
Обсуждение дальнейших путей развития программы.
Добавлено: 21 ноя 2018, 15:07
magpit
Напишу и я. Можете меня минусовать или банить и т.п
По работав с несколькими проектами чуть не получил нервный срыв.
Не от того что, что то не получается а из за самой программы.
Я думаю что у всех подобное происходит. Созревает в голове проектик и тут начинается...
Можно отнести это к доработке ядра программы.
1). Начнём с надписей: Надпись в надписи не редактируется- считается почему то блоком!? Хотелки: Было бы как в ворде не плохо .
2). При перетаскивании блоков всё сбивается в кучу это полный атас. Хотелки: Выравнивание по сетке - будет проще.
3). Тэги верхней панели вообще бы затёр. Но это ИМХО. ( На любителя) Меня лично ограничивает видеть картину в целом.
4). Чем больше проект тем сильнее тормозит
5). И забыл про интерфейс Хотелки: Встроенные указатели (стрелки несущие надпись). Очень помогают вспомнить, где что делалось.
6). Доработать строку состояния например; панель что справа перемещать в строку состояния. Это даст больше пространства экрана.
Ну пока всё.
Ждём закидывания помидорами

Обсуждение дальнейших путей развития программы.
Добавлено: 21 ноя 2018, 16:32
Anydy
Присылайте, не откажусь потестировать Discavery, хоть у меня и есть самые дешевые платы STM32, Сергею тоже ...или мне а я ему перешлю....если предложение в силе адрес в ЛК сообщу.
По ссылке выше посмотрю....
Обсуждение дальнейших путей развития программы.
Добавлено: 21 ноя 2018, 16:50
NOVOsystems
Договорились. Две штуки 407х discavery. Жду адрес.

Там ST-link встроенный на отдельном чипе,можно будет малышей шить.
Кто "малышей" голых будет покупать,берите сразу ST-link,самый дешевый. Вроде как Arduino IDE только с ним прошивает STMы.
Обсуждение дальнейших путей развития программы.
Добавлено: 21 ноя 2018, 17:02
Anydy
NOVOsystems писал(а): 21 ноя 2018, 16:50Вроде как Arduino IDE только с ним прошивает STMы.
Нет, прошивал через обычную ардуину, с замкнутым на землю ресетом
Сейчас отправлю в ЛК адрес
Обсуждение дальнейших путей развития программы.
Добавлено: 27 ноя 2018, 08:57
ivanpost
Очевидно, что STM - для профессионалов и энтузиастов, они активнее пишут. Поэтому рейтинг STM высокий. AVR-ESP - для начинающих и любителей. Для применения с электрооборудованием stm только хают. AVR ки есть до 16 к рам + 128 к флэш. У меня комбинация Atmega128 + ESP-12. 250 рублей вместе платой. Не верю, что когда то не хватит этих ресурсов, если не хватит, значит Симатик нужен...
Отладка графики явно будет способствовать росту числа пользователей.
В качестве концентратора, имхо, можно использовать роутер с OpenWrt+Флешка+sqlite. Скетчи на питоне для этого можно начать писать за пару недель изучения питона с нуля. рас-оранж-пи для этого тоже пойдет (и код переносимый!) но роутер то уже есть, его как точку доступа используешь.
Обсуждение дальнейших путей развития программы.
Добавлено: 27 ноя 2018, 17:59
Evgesha
ivanpost писал(а): 27 ноя 2018, 08:57 Для применения с электрооборудованием stm только хают. AVR ки есть до 16 к рам + 128 к флэш. У меня комбинация Atmega128 + ESP-12. 250 рублей вместе платой.
Можно схему, печатку, а прошиваете в флпрог?
Обсуждение дальнейших путей развития программы.
Добавлено: 27 ноя 2018, 21:47
ivanpost
[ref]Evgesha[/ref], На алике ищете ATmega128 (60р/шт) ATMEGA128 PCB empty board (63 руб/шт) Esp-12F (103 р) d1 mini (148р) + макетка
Выставляю как Мега. Прошивки грузятся, говорят, чтото не совпадает по контактам... Но пока ничего не менял. Мне надо 2 ком-порта i2c и 1wire. Вроде все включается...
Эти бы все avr ки в текущую базу добавить... 644 люди хвалят. 1281 совместима с 128, 1284 с 644... в них памяти еще больше.
Отправлено спустя 1 час 40 минут 18 секунд:
Кстати, один из вариантов развития - улучшить симбиоз avr и esp. Где avr выступает как "надежный" многопортовый контроллер, ответственный за рабочую задачу, а, не всегда стабильный esp - как средство коммуникации, отображения, оповещения. Сейчас, оба продукта - как бы сами по себе, соединить в один проект - сложновато, или надо пользоваться сторонними прошивкам esp.
Не хватает:
- ota перепрошивки для avr
- прозрачного и квази-прозрачного моста uart-wi-fi
- упрощенного диагностического взаимодействия (передача переменных, параметров).
Обсуждение дальнейших путей развития программы.
Добавлено: 27 ноя 2018, 23:15
ivanpost
Обсуждение дальнейших путей развития программы.
Добавлено: 28 ноя 2018, 11:36
ecoins
По поводу того, что с ростом программы она начинает тормозить.
Скорее всего это не связано с быстродействием процессоров AVR.
Приведу три исследованные причины:
1. Отсутствие в FLProg организации параллельных процессов в явной форме. Это преодолевается средствами FLProg - добавляется не сложный пользовательский блог и библиотека. Работаю уже больше года так, недавно вновь отшлифовал эту библиотеку, оформил функции работы со временем в RT_HW_Time.h
2. Пользователи используют доступные стандартные библиотеки, не придавая наличие в них операторов delay() - добавил несколько таких блоков и все тормозит не зависимо от быстродействия процессора. Лидерами задержек являются блоки DHT, DS1820, HC-SR04, LCD. Дальномер вообще в некоторых режимах способен подвесить процессор на секунды.
Решение - использовать библиотеки и блоки на них без использования delay().
3.Работа со строчными переменными отнимает много времени. Причем если на вход есть строковая переменная, она ВСЕГДА!!! копируется в строковую переменную в блоке. Работу со строковыми переменными можно выносить в отдельные платы и вызывать их по мере необходимости и редко. Возможным решением проблемы было бы, если Автор в числе типов входных переменных смог бы внести тип указатель на адрес переменной.
-----
После этого большие проекты работают быстро и еще у процессора остается много-много свободного времени.
Обсуждение дальнейших путей развития программы.
Добавлено: 28 ноя 2018, 15:37
grin-mpx
ecoins писал(а): 28 ноя 2018, 11:36По поводу того, что с ростом программы она начинает тормозить.
По большому счету речь про тормоза не ардуин, а самой программы flprog на больших проектах.
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 01:24
ecoins
Это общее и бездоказательное утверждение - код FLProg это исходник на С++. Если использовать delay() и не проверенные “тормозные” библиотеки, то можно подвесить и очень быстродействующий вычислитель на любом языке.
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 05:21
kulibinsvv
ecoins писал(а): 29 ноя 2018, 01:24Это общее и бездоказательное утверждение - код FLProg это исходник на С++. Если использовать delay() и не проверенные “тормозные” библиотеки, то можно подвесить и очень быстродействующий вычислитель на любом языке.
Неужели трудно внимательно прочитать про что идёт речь?
И уж если вы такой специалист, то не говорите, что Wiring = C++. Прочитайте документацию на Arduino.
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 05:35
Anydy
Я вот тоже не понял причем здесь delay и библиотеки, это касается кода который программа Flprog собирает для Arduino IDE на языке Wiring, как этот код будет работать в микроконтроллере это одно, а как программа Flprog работает на компьютере это другое....
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 06:54
benic
Вставил oled дисплей, память закончилась. На меге или покрупнее AVRах строить ширпотребные проэкты, устройства не камильфо.
Понимаю что использование FLprog влечет увеличение количества переменных( уходят на вх и вых блоков). Более мощный, дешевый, распространенный чип необходим.
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 07:16
ecoins
Неплохо представляю, что за код генерит FLProg. На мой взгляд всё очень изящно сделано, коды для работы с временем положил в основу функций своих библиотек. Некоторое время отнимают функции типа digitalWrite - гурманы для экономии нескольких микросекунд могут использовать прямое обращение к портам.
Мне не удалось найти изъянов в коде C++, генерируем FLProg.
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 09:02
kulibinsvv
[ref]ecoins[/ref], я вам уже писал, что FLProg не генерирует кода С++. Не вводите людей в заблуждение. Если Wiring похож по синтаксису на С, то это не значит что FLProg генерирует код С++. Wiring - это ближе к Java. И хочется отметить, что С далеко не С++.
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 10:05
Sancho
[ref]kulibinsvv[/ref], Не злорадствуйте, если пишите на чистом си.
Ещё
Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 10:25
kulibinsvv
[ref=#ff8000]Sancho[/ref], я не пишу ни на С, ни на С++, ни на Wiringe и злорадствовать не собирался. Я слишком давно работаю с микроконтроллерами в плане схемотехники. За статью, спасибо. Правда, я не со всеми размышлениями автора согласен. Но это совсем другая тема.

Обсуждение дальнейших путей развития программы.
Добавлено: 29 ноя 2018, 14:30
ecoins
Flprog, C, C+, Wiring, Java:
Wiring - это C++ c добавлением некоторых функций, упрощающих работу с аппаратными средствами и соответственно поддерживающих совместимость с разными моделями контроллеров. Например setup(), loop(), digitalWrite(), millis() и т.п. Этих функций немного и использовать их не обязательно, можно использовать свои функции для работы с аппаратными ресурсами контроллеров.
Подключение части библиотек ограничено из-за их ограниченной памяти, но других особенных ограничений нет.
FLProg генеририт код на Wiring (то есть по сути C++), пользовательские блоки и библиотеки могут писаться на чистом C++. В пользовательских блоках он реализован минималистично, потому там писать приходится писать аккуратно. Например каждую переменную объявлять приходится в отдельной строке и прочие штучки, создающие легкий дискомфорт. Лучше сложные вещи оформлять в библиотеки и подключаться к их функциям из пользовательски блоков.
Обсуждение дальнейших путей развития программы.
Добавлено: 30 ноя 2018, 07:13
kulibinsvv
Люблю пользоваться первоисточниками!
[spoiler title=Wiring Wiki]
Wiring.png
Welcome to the Wiring Wiki!
[/spoiler]
И ещё один интересный дипломный проект:
Wiring: Prototyping Physical Interaction Design