Путь развития программы.

В данный форуме Вы можете создавать темы посвящённые расширению функционала программы или сайта. После рассмотрения Ваше предложение будет перенесено в соответствующее место
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#41

Сообщение Слимпер » 13.08.2016{, 18:32}

Из неразрешимых проблем это сделать вариативную настройку.
Например выбор порта Serial (0,1,2,3,софт), это я сейчас пытаюсь блок для GSM написать.
Пока пришлось изгаляться, путем комментариев в секции объявления переменных  
Или раньше писал для nRF24L01+, там много настроек надо было передавать виде текстовых констант. Там пришлось использовать switch case.

Надо или возможность передавать текст в код без кавычек или еще лучше настраиваемый выпадающий список параметров.

Ну и для оптимизации кода было бы не плохо сделать возможным, как в ваших блоках, в зависимости от настройки добавляются разные блоки кода в компиляцию. Но это мечта.  

Аватара пользователя
dekorator
Лейтенант
Сообщения: 412
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

Путь развития программы.

#42

Сообщение dekorator » 13.08.2016{, 18:43}

Слимпер писал(а):Надо или возможность передавать текст в код без кавычек или еще лучше настраиваемый выпадающий список параметров.
То что надо. И с массивами в блоках code разобраться. Они никак не доступны из основного проекта.
support писал(а):я подумываю, ввести тип Unsigned Int.
Вы ещё подумываете? Тема уже 4 месяца висит - http://forum.flprogwiki.ru/viewtopic.php?f=10&t=853

Аватара пользователя
support
Супермодератор
Сообщения: 1754
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 603
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#43

Сообщение support » 13.08.2016{, 18:50}

Вопрос с Seial разрешимый. нет пока четкого виденья решения, но есть общий подход. пока думаю. Скорее всего сделаю. Не понимаю какие проблемы с текстовыми константами. Делаем входы для блока, на низ снаружи подаем константы. Или я что то не понимаю.  Передавать текст в код без кавычек - опять что имеется в виду? Извините, я честно не работаю с этими блоками.
В идеале было бы неплохо Вам, как самому опытному в работе с блоками на С составить что то вроде чёткого тз что Вы хотите от блока (возможно с примерами проблем вплоть до скриншотов - а то что то я не въезжаю, и примерами как бы Вы видели например настройку блока). Я подумаю над возможностью реализации и можно будет обсудить детально по пунктам.
Автор программы FLProg.

Аватара пользователя
Rovki
Полковник
Сообщения: 4105
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 195
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Путь развития программы.

#44

Сообщение Rovki » 13.08.2016{, 19:39}

Вот тут есть немного похожего с симулятором,может пригодится http://www.canny.ru/cannylab

на ОЛ ссылку давать не буду ,уверен знаете прекрасно .
Последний раз редактировалось Rovki 13.08.2016{, 19:40}, всего редактировалось 1 раз.
Электронщик до мозга костей и не только

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#45

Сообщение Слимпер » 13.08.2016{, 19:46}

support писал(а):Не понимаю какие проблемы с текстовыми константами. Делаем входы для блока, на низ снаружи подаем константы.
Имею виду вот, что
Пример из работ по блоку nRF24L01+


СпойлерПоказать
при работе с библиотекой, скорость задается RF24_250KBPS, RF24_1MBPS или RF24_2MBPS;

Эти значения надо подставить в   radio.setDataRate( Сюда скорость );

Если в параметрах делаешь переменную String  speed задавая ей значение RF24_250KBPS

В блоке пишем
radio.setDataRate( speed );

то при переходе в Arduino IDE получаем строку

radio.setDataRate( "RF24_250KBPS" );

Но такое библиотека не понимает
Ей надо без кавычек именно:
radio.setDataRate( RF24_250KBPS );

Я вышел из положения
switch ( Rate ) {
case 0:
radio.setDataRate( RF24_250KBPS );
break;
case 1:
radio.setDataRate( RF24_1MBPS );
break;
case 2:
radio.setDataRate( RF24_2MBPS );
break;
}
Но это без полезно утяжеляет код.
Пример из работы с блоком GSM, про ком порт


СпойлерПоказать
Команды begin, print, println, available, read

Требуют записи Serial.print(),  Serial1.print()   и т.д.

Мой пред идущий вариант с switch case, не сработает, так как, если при компиляции для уно в коде обнаруживается Serial1 или скажем Serial3, компилятор выдаст ошибку.

Если бы можно было назначит пользовательский параметр PORT Присвоит ему значение Serial1
В блоке написать
PORT.print()
А в Arduino IDE получить

Serial1.print()

Т.е чистую замен параметра на его значение

Сейчас я временно обошел это так

//Раcкоментировать нужное
//
// #define SERIAL_M  Serial    // для работы с COM порт 0
// #define SERIAL_M  Serial1  // для работы с COM порт 1
// #define SERIAL_M  Serial2  // для работы с COM порт 2
// #define SERIAL_M  Serial3 // для работы с COM порт 3

//Для работы сCOM Software следующие две строки
#include <SoftwareSerial.h>
SoftwareSerial SERIAL_M( RX ,  TX );
//Конец блока настройки Software
support писал(а):В идеале было бы неплохо Вам, как самому опытному в работе с блоками на С
Смешное в том, что сам СИ я знаю очень слабо. Да и полез в него, когда стало не хватать возможностей FLProg.
Последний раз редактировалось Слимпер 13.08.2016{, 19:50}, всего редактировалось 1 раз.

Аватара пользователя
support
Супермодератор
Сообщения: 1754
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 603
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#46

Сообщение support » 13.08.2016{, 20:11}

Слимпер писал(а):Если бы можно было назначит пользовательский параметр PORT Присвоит ему значение Serial1В блоке написать
PORT.print()
А в Arduino IDE получить

Serial1.print()
Примерно так и будет. 
Слимпер писал(а):В блоке пишемradio.setDataRate( speed );

то при переходе в Arduino IDE получаем строку

radio.setDataRate( "RF24_250KBPS" );

Но такое библиотека не понимает
Ей надо без кавычек именно:
radio.setDataRate( RF24_250KBPS );
 наконец то понял в чем проблемам. Если в свойствах строкового параметра будет стоять галочка "Выводить без ковычек" и при компиляции будет вставляться значение параметра как есть - это будет нормально? В принципе насчет кавычек я могу завтра реализовать (работы на полчаса и в следующей версии это уже будет). С компортом и массивами - попозже. Так же я думаю есть ли смысл сделать предустановденные параметры (комбобох). То есть в качестве параметра вы выбираете предустановленные параметр,  составляете список (присваивая каждому из них имя и значение) а пользователь при настройке блока выбирает нужный из выпадающего списка. Значение выбранного параметра вставляется в код в месте его вызова. Это интересно?
Реализация потребует пары - тройки дней, но поскольку я послезавтра уезжаю с вахты домой а 18 го скорее всего опять в командировку на Ямал, то наверное новая версия появится не раньше чем через месяц.
Автор программы FLProg.

Аватара пользователя
dekorator
Лейтенант
Сообщения: 412
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

Путь развития программы.

#47

Сообщение dekorator » 13.08.2016{, 20:13}

Смешное то, чтоFlprog по своей сути и является "выходом из положения" для электриков и для ярых противников кода. И функциональная гибкость на том-же уровне. Возмите хотябы блок "стек" очень удобно из uart в стек а обрано - выход из положения.
Последний раз редактировалось dekorator 13.08.2016{, 20:18}, всего редактировалось 1 раз.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#48

Сообщение Слимпер » 13.08.2016{, 20:28}

support писал(а):Если в свойствах строкового параметра будет стоять галочка "Выводить без ковычек" и при компиляции будет вставляться значение параметра как есть - это будет нормально?
УЖЕ очень хорошо будет.
support писал(а):Так же я думаю есть ли смысл сделать предустановденные параметры (комбобох). То есть в качестве параметра вы выбираете предустановленные параметр,  составляете список (присваивая каждому из них имя и значение) а пользователь при настройке блока выбирает нужный из выпадающего списка. Значение выбранного параметра вставляется в код в месте его вызова. Это интересно?
Да тоже было бы очень удобно, когда параметр должен иметь всего несколько однозначно определенных значений. В первую очередь тем кто будет пользоваться блоком.

Добавлено (13.08.2016, 20:28)
---------------------------------------------
dekorator писал(а):Смешное то, чтоFlprog по своей сути и является "выходом из положения" для электриков и для ярых противников кода. И функциональная гибкость на том-же уровне.
Ну ту вопрос спорный. Объясните почему в промышленности все давно почти ушли от чистого СИ  и уж тем более ассемблера?
Почему промышленные контролеры строемостью от десятков тысяч до сотен тысяч  за штуку программируются на FBD, LAD.
А вывод информации на компьютер, ее архивация, на SCADA системах.
УЖ там деньги ходят не чата Arduino.  

Все выше перечислено можно куда более гибко сделать на кодах Асемблера, но почему то так не кто не делает.

Аватара пользователя
support
Супермодератор
Сообщения: 1754
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 603
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#49

Сообщение support » 13.08.2016{, 20:31}

dekorator писал(а):Смешное то, чтоFlprog по своей сути и является "выходом из положения" для электриков и для ярых противников кода.
Для того он и создавался. Могу считать эту фразу похвалой и гордиться. Кстати всё началось как раз с просьбы моего коллеги - электрика помочь с кодом для ардуинки (то самое - "тыж программист").
Я подумал что один раз помогу - потом не отвяжешся. Ну и решил для пробу сделать простенький конфигуратор что бы сам делал. Ну и понеслось как говорится......
dekorator писал(а):И функциональная гибкость на том-же уровне.
Ой-ляля. Вы про промышленное программирование слышали хоть краем уха? Там системы создаются покруче  любого сервера. А языки те же, FBD  и Lad. Так что есть чему чему стремиться. Да и сами видите что ребята на форуме делают. А вот реального законченного устройства сделанного "Настоящими программистами" я что то не видел пока. Так поделки на коленке на беспаячных платах работающие через раз. Зато там сервера подняты на роутерах и очень красивая картинка на вэб морде. Посмотрите подборку на гиктайме по тематике DIY. Простыни кода и ничего законченного. Гибкости море - изделия нет. Паять и делать нормальную обвязку мы не умеем и не хотим, но код писать - это да, жми себа кнопочки.
Автор программы FLProg.

Аватара пользователя
dekorator
Лейтенант
Сообщения: 412
Зарегистрирован: 06.09.2015{, 09:39}
Репутация: 7
Откуда: Баку

Путь развития программы.

#50

Сообщение dekorator » 13.08.2016{, 20:45}

Ну понеслась.. Асемблер, си, машинные коды, промышленность. Кошмар.
Вы меня не поняли. Я против намереного притеснения и явной пропаганды, против навязанного увода в сторону от кода.
Может Вы и саму программу Flprog на FBD или на LAD пишите?
Если так то снимаю шляпу. Опрарационная система - FBDOS или LADDOS
звучит!!!
Последний раз редактировалось dekorator 13.08.2016{, 20:54}, всего редактировалось 1 раз.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#51

Сообщение findeler » 13.08.2016{, 20:54}

Интересную тему я поднял. :)

И всё же.

Сергей не ставьте бесплатность во главу угла, множество отличных идей умерло как раз из банального отсутствия денег на дальнейшую разработку. Вам решать но, это поверьте не проблема. Ну и для ознакомления вы уже всё сделали. (На текущем функционале, с минимальными добавлениями кода, уже реализуются системы уровня сложности simens S200-300, а это очень, очень хороший результат )
support писал(а):Я всё таки делаю программу помогающую людям войти в мир микроконтроллеров, не ломая свой опыт. Так же я хочу дать возможность повозится с контроллерами людям с любой обеспеченностью и возможно найти свой путь в жизни. Поэтому я стараюсь использовать в проекте максимально дешёвые комплектующие (пускай и морально устаревшие и возможно не самые лучшие), и максимально облегчить работу с ними.
Тут уже ошибаетесь, arduino совсем не слабая или устаревшая платформа. Вы ради интереса ковырните ОВЕН СИМЕНС OMRON там (по сравнению с мегой) вообще убогие чипы стоят. К примеру я ушёл с них потому что то что сейчас решается одной мегой требовало только оборудования на 60-70К рублей. А тут 500 р. Так что про возможности вы зря. Да и доступность. Второй причиной почему я ушёл с промконтроллеров стало проблема с их поставкой, (к примеру этой весной OWEN ПР-200 отсутствовал 2 месяца ! полностью). А дешёвая ардуина и датчики покупается в течении 1 дня.
Rovki писал(а):Если речь о программной надежности
о ней. И дело в другом, на андроиде в принципе невозможен 100% уптайм, не для того платформа. Принцип программирования другой.
dekorator писал(а):Отлично. При этом в программе отсутствует два из фундаментальных представлений чисел( переменные ) - двоичное и шестнадцатиричное.
Согласен с Сергеем смысла в ней нет, для языка логики и стоящих задач.
sser писал(а):Так. Объясните, к чему эта явная пропаганда намеренно уводить людей от использования кода?
Он вреден, для написания корректного кода надо очень хорошо понимать работу интерпретатора программы. Как я писал в первом сообщении delay и циклы должны быть табу. Они совершенно не подходят к данному языку, но пользовательские блоки ими грешат, в силу непонимания или привычки.

Аватара пользователя
support
Супермодератор
Сообщения: 1754
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 603
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#52

Сообщение support » 13.08.2016{, 20:59}

Ну и последние тезизы для завершения спора. 
В общей ситуации для создания чего то законченного и работоспособного необходимы два человека. Разработчик ПО  и схемотехник.  В идеале ещё конструктор (железячник - корпусник). Без такого состава скорее всего получится что то однобокое. Flprog вносит некоторый дисбаланс в данное равновесие. В принципе для не сильно сложный задачи схемотехник может обойтись без программиста. А вот необходимость схемотехника для программиста никуда не делась.  В большинстве случаев это и раздражает оказавшихся в невыгодном положении программистов.
Наверное отчасти поэтому пока и нет аналога для FLProg. Во первых программисты не будут писать подобную программу роя себе яму. Во вторых им тяжело взглянуть на задачу со стороны схемотехника, у них немного другие рефлексы и патерны поведения. И скорее всего они напишут что то наподобие Screth. Мне повезло. Я не программист. Я все таки больше АСУшник и схемотехник (основная специальность - разработка микроэлектронных устройств). Программист - я любитель. Правда и программы я пишу как инженер. Любой професиональный программист расстрелял бы пеня десять раз только глянув в код. Я практически не использую стандартные паттерны программирования хотя знаю их. Изобретаю свои, которые мне кажутся более удобными. И пока это даёт результат. Программа пускай не идеально, но работает и приносит пользу. Если бы я пользовался классическими приёмами (TTD - разработка через тесты, юнит тестирование, полная инкапсуляция классов, система сообщений и там много чего ещё обязательного) то версии выходили бы раз в год и намного меньшим функционалом.  Инженерный подход заключается в том что задача решается максимально простым путём, в кратчайшие сроки, но с возможностью масштабирования. при этом применяются куски из совершенно различных методик в дичайших комбинациях. Это смесь наследования, композиции, ну и самое приятное - разработка через дебаг. Это позволяет только SmallTalk. Другие языки этого не позволяют.

Ну а теперь перейдём на деловой тон и прекратим споры на тему - что лучше -С или FBD. Это похоже на спор - что лучше винда или линукса. Здесь все таки собрались в основном приверженцы визуального программирования, и я не вижу смысла продолжать
Автор программы FLProg.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#53

Сообщение findeler » 13.08.2016{, 20:59}

support писал(а):Там системы создаются покруче любого сервера
Примера для, сейчас пишу программу автоматизации котельной частного дома, с автоматической подстройкой под фактически любую топологию отопления. И с полностью гибкой системой настройки всего и вся. FBD.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#54

Сообщение Слимпер » 13.08.2016{, 20:59}

dekorator писал(а):Я против намереного притеснения и явной пропаганды, против навязанного увода в сторону от кода.
А кто тут кого уводит от кода?
Кто хочет и может освоить Си, тот даже от Arduino IDE плюется и кроет ее последними словами как раз с теме же аргументами что и ВЫ.

Тем кто реально хорошо освоил СИ, и досконально разобрался в подноготной работы AVR, конечно же напишут нужную им программу куда быстрее и она будет компактнее и надежнее работать.
И я им по хорошему завидую.

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

А есть люди для кого КОД, хуже китайской грамоты и у них мозги сварачиваются от одного вида строчек кода, но зато им понятна логика электрических схем, вот для них и подходит FLProg.

Что кому больше подходит тот то и выбирает.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#55

Сообщение findeler » 13.08.2016{, 21:03}

dekorator писал(а):Вы меня не поняли. Я против намереного притеснения и явной пропаганды, против навязанного увода в сторону от кода.
Увод обоснован, слишком разная логика написания программ. Принцип разный. Си в данном случае костыль. Не инструмент, а костыль.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#56

Сообщение Слимпер » 13.08.2016{, 21:04}

findeler писал(а):Как я писал в первом сообщении delay и циклы должны быть табу.
Насчет delay  согласен, а вот циклы очень даже нужны, как без них найти нужный элемент в массиве или разобрать строку ? Проста ими надо уметь пользоваться.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#57

Сообщение findeler » 13.08.2016{, 21:05}

Слимпер писал(а):Тем кто реально хорошо освоил СИ, и досконально разобрался в подноготной работы AVR, конечно же напишут нужную им программу куда быстрее и она будет компактнее и надежнее работать
О как вы ошибаетесь. Проблема построчного программирования как раз в этом, нет общей картины. Время на отладку может лететь в бесконечность.

Аватара пользователя
support
Супермодератор
Сообщения: 1754
Зарегистрирован: 03.01.2018{, 11:45}
Репутация: 603
Откуда: Астрахань
Имя: Сергей
Контактная информация:

Путь развития программы.

#58

Сообщение support » 13.08.2016{, 21:06}

findeler писал(а):Сергей не ставьте бесплатность во главу угла, множество отличных идей умерло как раз из банального отсутствия денег на дальнейшую разработку. Вам решать но, это поверьте не проблема. Ну и для ознакомления вы уже всё сделали. (На текущем функционале, с минимальными добавлениями кода, уже реализуются системы уровня сложности simens S200-300, а это очень, очень хороший результат )
А я надеюсь на буржуев)))). Мои друзья сейчас заканчивают перевод, и следующая версия выйдет уже с английским языком.  Но его использование будет платным (лицензия на комп с привязкой к железу). Я имею процент (неплохой). Если стрельнет - буду развивать, возможно даже найму людей в помощь. Но русская версия будет бесплатной - это точно. Хоть малюсенький, но мой вклад в развитие страны  - надеюсь у нас появится больше грамотных специалистов.
Автор программы FLProg.

Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06.09.2015{, 16:56}
Репутация: 25
Откуда: Новосибирск

Путь развития программы.

#59

Сообщение Слимпер » 13.08.2016{, 21:14}

Вот глянте Электроника для всех Там куча примеров того, что возможно и симбиоз Программист + Схемотехника + Конструктор. Но таких людей не так уже и много, но они есть.

findeler
Рядовой
Сообщения: 76
Зарегистрирован: 16.07.2016{, 08:31}
Репутация: 0
Откуда: Рязань

Путь развития программы.

#60

Сообщение findeler » 13.08.2016{, 21:15}

support писал(а):Но русская версия будет бесплатной - это точно. Хоть малюсенький, но мой вклад в развитие страны - надеюсь у нас появится больше грамотных специалистов.
Сложный вопрос, весь мой жизненный опыт показывает только одно люди не ценят бесплатное. Я 8 лет проработал в строительстве, там это вообще эпично выглядит.

Продавайте для нас её хоть рублей за 300 в год ? (Абонентка на новые версии) Для тренировок останутся старые версии.

Ответить

Вернуться в «Новые»