Flprog на оборот..

Здесь можно поболтать на отвлечённые темы. Реклама не допускается.
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

Хай пипл. Мысль, пишу быстро, что бы не упустить!=) Мысль такая, а что если реализовать такую фитчу, что бы готовый код преобразовывала назад в блоки, для дальнейшего редактирования, читай - изменения. А потом снова, можно в код и в контроллер.. Бывает же такое, есть готовое решение, но не целиком устраивает, а написать с нуля нужно много мозгов и\или свободного времени... По моему было бы круто, не так ли?
Изображение
Изображение
pan
Полковник
Сообщения: 2860
Зарегистрирован: 13 апр 2017, 11:57
Имя: noname

Flprog на оборот..

Сообщение pan »

вы наверное не представляете как в принципе работает флпрог и ее блоки
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

эм.. ну естественно нет, я же не разраб. от куда мне знать?! я только это, поделился идеей, мыслью! я же не виноват, что она оказывается бредовая)
Изображение
Изображение
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Flprog на оборот..

Сообщение Dev1 »

Ваша идея, по сравнению с моей нервно курит в сторонке.
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

Dev1 писал(а):Ваша идея, по сравнению
пха-ха-ха-ха  ! Бесспорнно сударь)))
Изображение
Изображение
Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25 дек 2015, 17:32
Откуда: Ярославль.
Имя: Александр
Поблагодарили: 5 раз
Контактная информация:

Flprog на оборот..

Сообщение Sancho »

alverzilin писал(а):Хай пипл. Мысль, пишу быстро, что бы не упустить!=)
Во как на Купала накрыло..

Добавлено (08.07.2017, 09:07)
---------------------------------------------
И поволокло....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

Sancho писал(а):накрыло..
чем?  
Sancho писал(а):И поволокло....
куда??  
alverzilin писал(а):Мысль такая
Не, ну а в самом деле.   Я где то похожее встречал... только там была блок схема... вроде... вот не помню, то ли готовый алгоритм в блок схему, то ли на оборот... Надо погуглить..  
alverzilin писал(а):По моему было бы круто
Добавлено (08.07.2017, 09:30)
---------------------------------------------
А вот и пример! Почему бы и нет?

Добавлено (08.07.2017, 09:50)
---------------------------------------------
Нашел программу под названием - Code to Flow chart generator, но из-за того что она платная, работоспособность ещё не проверил, но по ходу, это конвертер из кода в блок схемы с большим количеством поддерживаемых форматов.
Изображение
Изображение
Аватара пользователя
Dryundel
Полковник
Сообщения: 2431
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Благодарил (а): 3 раза
Поблагодарили: 30 раз

Flprog на оборот..

Сообщение Dryundel »

alverzilin писал(а):А вот и пример! Почему бы и нет?
Ну не реально это. Не применимо к FLProg.
Представьте что разбираете автомобиль. Он состоит всего из трех блоков двигатель, кузов, подвеска. Вот только эти блоки не являются конечными стандартными запчастями, а разобрать до гаек и болтов смысла нет, т.к. в FLProg используются именно блоки. Проблема в том, что невозможно с достоверностью сказать к чему относится крепление двигателя, к кузову или же все-таки к двигателю.
Ни один алгоритм не отделит пользовательский блок от скетча, если только создать какую то общую базу и нанять команду которая будет эти блоки сертифицировать.  В случае же когда скетч написан вообще не через FLProg задача становится архи не реальной. Встречаются такие замудреные алгоритмы, что их ни к одному блоку не приравняешь.
Короче говоря, как написано над одними известными вратами, "Оставь надежду, всяк сюда входящий."

И вообще, поаккуратней с канабисом надо, а то еще не так накроет.
Последний раз редактировалось Dryundel 08 июл 2017, 10:50, всего редактировалось 1 раз.
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

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

 

замяли тему...
Изображение
Изображение
Аватара пользователя
vd0
Рядовой
Сообщения: 44
Зарегистрирован: 16 фев 2018, 08:56
Имя: Дмитрий

Flprog на оборот..

Сообщение vd0 »

приведу простой пример, уже отписался по этой проблеме в другом разделе, но продублирую
Приведу пример скетча который нормально собирается сам по себе.
[spoiler]
#include <MIDI.h>
MIDI_CREATE_DEFAULT_INSTANCE();
// Variables:
int cc = 1;
int AnalogValue = 0; // define variables for the controller data
int lastAnalogValue = 0; // define the "lastValue" variables

void setup() {
// launch MIDI
MIDI.begin();

}

void loop() {

AnalogValue = analogRead(15); //knob 1 cutoff
// convert to a range from 0 to 127:
cc = AnalogValue / 8;
// check if analog input has changed
if (abs(lastAnalogValue - cc) > 1) {
MIDI.sendControlChange(1, cc, 1);
// update lastAnalogValue zero variable
lastAnalogValue = cc;
}

}
[/spoiler]

исходный скетч собрался нормально. Создал блок, вот что сделал с кодом FLProg
[spoiler]
#include <MIDI.h>

// Variables:
int cc_235447159_1= 1;
int AnalogValue_235447159_1= 0; // define variables for the controller data
int lastAnalogValue_235447159_1= 0; // define the "lastValue" variables
int _PWDC = 0;
bool _gtv1 = 1; //импульс выйти из меню
bool _gtv2 = 1; //войти в меню
bool _gtv3 = 0; //активно главное меню
bool _gtv4 = 1;
int _gtv5 = 150;
int _gtv6 = 950;
int _gtv7 = 38;
bool _gtv8 = 0;
int _gtv9 = 5;
int _gtv10 = 71;
int _gtv11 = 500;
int _gtv13 = 150;
int _gtv14 = 48;
int _gtv15 = 950;
bool _gtv16 = 0;
int _gtv17 = 100;
int _gtv18 = 28;
int _gtv19 = 950;
bool _gtv20 = 0;
int _gtv21 = 150;
int _gtv22 = 45;
int _gtv23 = 950;
bool _gtv24 = 0;
int _gtv25 = 150;
int _gtv26 = 43;
int _gtv27 = 950;
bool _gtv28 = 0;
int _gtv29 = 150;
bool _gtv32 = 0;
int _gtv33 = 100;
int _gtv34 = 49;
int _gtv35 = 800;
bool _gtv36 = 0;
int _gtv37 = 100;
int _gtv38 = 57;
int _gtv39 = 800;
bool _gtv40 = 0;
int _gtv41 = 1;
bool _gtv42 = 1;
int _gtv44 = 100;
int _gtv45 = 800;
bool _gtv46 = 0;
int _gtv47 = 51;
int _gtv48 = 800;
int _gtv49 = 100;
int _gtv50 = 117;
bool _gtv51 = 0;
int _gtv52 = 52;
int _gtv53 = 800;
int _gtv54 = 100;
bool _gtv55 = 0;
int _gtv56 = 100;
int _gtv57 = 90;
bool _gtv58 = 0;
int _gtv59 = 800;
int _gtv60 = 100;
int _gtv61 = 800;
bool _gtv62 = 0;
int _gtv63 = 46;
bool _gtv65 = 0;
bool _gtv66 = 0;
int _gtv68 = 36;
int _gtv71 = 700;
int _gtv74 = 200;
int _gtv75 = 600;
int _gtv76 = 44;
int _gtv77 = 800;
int _gtv67 = 3;
int _gtv69 = 3;
int _gtv70 = 3;
int _gtv73 = 1;
int _gtv78 = 3;
int _gtv79 = 3;
int _gtv80 = 3;
int _gtv81 = 1;
int _gtv82 = 1;
int _gtv83 = 1;
int _gtv84 = 1;
int _gtv85 = 1;
int _gtv88 = 1;
int _gtv89 = 0;
int _gtv90 = 0;
int _gtv64 = 1;
void setup()
{
TCCR2A = 0x00;
TCCR2B = 0x07;
TIMSK2=0x01;
TCNT2=100;
pinMode(3, INPUT);
digitalWrite(3, HIGH);
pinMode(22, INPUT);
digitalWrite(22, HIGH);
pinMode(23, INPUT);
digitalWrite(23, HIGH);
pinMode(2, INPUT);
digitalWrite(2, HIGH);
pinMode(24, INPUT);
digitalWrite(24, HIGH);
pinMode(25, INPUT);
digitalWrite(25, HIGH);

MIDI_CREATE_DEFAULT_INSTANCE();
void setup() {
// launch MIDI
MIDI.begin();

}
void loop()
{_PWDC = 0;

//Плата:1
void loop() {

AnalogValue_235447159_1 = analogRead(15); //knob 1 cutoff
// convert to a range from 0 to 127:
cc_235447159_1 = AnalogValue_235447159_1 / 8;
// check if analog input has changed
if (abs(lastAnalogValue_235447159_1 - cc_235447159_1) > 1) {
MIDI.sendControlChange(1, cc_235447159_1, 1);
// update lastAnalogValue_235447159_1 zero variable
lastAnalogValue_235447159_1 = cc_235447159_1;
}

}

}

ISR(TIMER2_OVF_vect)
{ TCNT2=100;
if(_PWDC >= 1000){asm volatile ("jmp 0x0000");}else{_PWDC = _PWDC+1;};
}
[/spoiler]
и ладно бы сделал, но в void loop() программа дописала {_PWDC = 0; после чего отказалась компилировать, что происходит??? :crazy:
а вы хотите запилить обратный процесс... тут жестокая конвертация кода с ассемблерными вставками или командами, поди разбери... + глюки при сборке с последующим крашем.
WZV
Сержант
Сообщения: 226
Зарегистрирован: 06 сен 2015, 14:31

Flprog на оборот..

Сообщение WZV »

alverzilin писал(а): 07 июл 2017, 19:39что бы готовый код преобразовывала назад в блоки, для дальнейшего редактирования
Частенько программирую Loxone, там есть такая функция "загрузить из контроллера". Короче загружается проект в блоковом виде, в таком, каком я его и делал. Может при составлении проекта формируется какой то файл, и вместе с проектом загружается в контроллер!? Но этот файл будет отнимать память контроллера,
и без того не большую в ардуине. И зачем эта функция Вам? У Вас же есть исходный проект. Чтоб сливать чужой, и править?
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

Примерно так. Или возразите мол это неправильно\некрасиво? Так для этого есть fuse...)
Изображение
Изображение
pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25 фев 2018, 17:56
Имя: sonata

Flprog на оборот..

Сообщение pony sonata »

alverzilin писал(а): 07 июл 2017, 19:39А потом снова, можно в код и в контроллер..
пробовали через гугл переводчик большой текст туда сюда переводить?)

по сабжу. если нету времени и желания разбираться - значит не занимайтесь. а так сидя на печи придумывать идеи эт мощно : )
ардуино это самый минимальный уровень. флпрог это фактически на палочках считать математику. куда уж проще? :crazy:
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Flprog на оборот..

Сообщение Dev1 »

pony sonata писал(а): 16 май 2018, 09:21флпрог это фактически на палочках считать математику. куда уж проще?
Никто не пилит видосики как на палочках считать. :fie: Думать самому стало сложно, а может и не хота... :senile: Проще спросить, может кто и сделает... :umnik:
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25 фев 2018, 17:56
Имя: sonata

Flprog на оборот..

Сообщение pony sonata »

видосов кстати валом по флпрог на ютуб, правда все как под копирку с видосов ув. гражданина с акцентом... ну и не стоит забывать, что графический язык флпрог FBD-подобный. т.е. практически соответствует стандартам МЭК, то можно и сами стандарты почитать как что делать или гайды на проги с похожей структурой языка. тот же бесплатный кодесис...
ну и не стоит забывать про саму справку для флпрог. я чесн сказать когда ток установил флпрог, первому, чему удивился, что подобный фришный/малобюджетный проект обладает такой справкой. я думаю это +100500 к развитию проекта, т.к. осваивать его не сложно
Аватара пользователя
Cvazi
Рядовой
Сообщения: 87
Зарегистрирован: 26 июл 2016, 14:36
Откуда: Тверь
Имя: Денис

Flprog на оборот..

Сообщение Cvazi »

Да согласен справка отличная. Почитал и в голове пазл сложился.
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Flprog на оборот..

Сообщение Serg_Grn »

[ref]alverzilin[/ref], Разберите свой первый пост на буквы. А потом дайте кому нибудь, кто его не читал, собрать это всё как было. Вот это то же самое)
Аватара пользователя
alverzilin
Рядовой
Сообщения: 72
Зарегистрирован: 15 сен 2016, 00:33
Откуда: Zlobin.BY

Flprog на оборот..

Сообщение alverzilin »

Serg_Grn писал(а): 16 май 2018, 20:47[ref]alverzilin[/ref], Разберите свой первый пост на буквы. А потом дайте кому нибудь, кто его не читал, собрать это всё как было. Вот это то же самое)
Да понял я, понял! Не стоит уж так пинать! И не чего мне не в падлу.. При определённом усердии можно и собрать! Вон, "энигма" тоже казалась супер-пупер машина, а ни чё, разгадали.. и тд и тп.. Тему уже давно можно было закрывать=)
Изображение
Изображение
Serg_Grn
Лейтенант
Сообщения: 338
Зарегистрирован: 11 фев 2018, 13:07
Имя: Сергей
Благодарил (а): 5 раз
Поблагодарили: 1 раз

Flprog на оборот..

Сообщение Serg_Grn »

alverzilin писал(а): 30 май 2018, 19:57Да понял я, понял! Не стоит уж так пинать!
Да и не думал пинать, просто попробовал объяснить суть простым примером.
Аватара пользователя
Dev1
Майор
Сообщения: 1045
Зарегистрирован: 12 июл 2016, 18:04
Откуда: Гондурас
Поблагодарили: 3 раза

Flprog на оборот..

Сообщение Dev1 »

alverzilin писал(а): 30 май 2018, 19:57Вон, "энигма" тоже казалась супер-пупер машина, а ни чё, разгадали.. и тд и тп..
Разгадали после того как заполучили энигму, а так бы сидели и репу чесали... :smile37:
Win10-64 FLProg v8.2.3 Portable IDE 1.8.19, 2,x,x :shok:
Ответить

Вернуться в «Просто поболтать (На свободную тему)»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость