Flprog на оборот..

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

Flprog на оборот..

#1

Сообщение alverzilin » 07.07.2017{, 19:39}

Хай пипл. Мысль, пишу быстро, что бы не упустить!=) Мысль такая, а что если реализовать такую фитчу, что бы готовый код преобразовывала назад в блоки, для дальнейшего редактирования, читай - изменения. А потом снова, можно в код и в контроллер.. Бывает же такое, есть готовое решение, но не целиком устраивает, а написать с нуля нужно много мозгов и\или свободного времени... По моему было бы круто, не так ли?
Изображение
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

Flprog на оборот..

#2

Сообщение pan » 07.07.2017{, 19:48}

вы наверное не представляете как в принципе работает флпрог и ее блоки

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

Flprog на оборот..

#3

Сообщение alverzilin » 07.07.2017{, 20:22}

эм.. ну естественно нет, я же не разраб. от куда мне знать?! я только это, поделился идеей, мыслью! я же не виноват, что она оказывается бредовая)
Изображение
Изображение

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

Flprog на оборот..

#4

Сообщение Dev1 » 07.07.2017{, 21:47}

Ваша идея, по сравнению с моей нервно курит в сторонке.
Win10-64 FLProg v7.5.2 Portable :fie:

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

Flprog на оборот..

#5

Сообщение alverzilin » 07.07.2017{, 22:57}

Dev1 писал(а):Ваша идея, по сравнению
пха-ха-ха-ха  ! Бесспорнно сударь)))
Изображение
Изображение

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Flprog на оборот..

#6

Сообщение Sancho » 08.07.2017{, 09:07}

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

Добавлено (08.07.2017, 09:07)
---------------------------------------------
И поволокло....
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

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

Flprog на оборот..

#7

Сообщение alverzilin » 08.07.2017{, 09:50}

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

Добавлено (08.07.2017, 09:50)
---------------------------------------------
Нашел программу под названием - Code to Flow chart generator, но из-за того что она платная, работоспособность ещё не проверил, но по ходу, это конвертер из кода в блок схемы с большим количеством поддерживаемых форматов.
Изображение
Изображение

Аватара пользователя
Dryundel
Полковник
Сообщения: 2401
Зарегистрирован: 22.05.2017{, 23:15}
Репутация: 783
Откуда: Ярославль
Имя: Андрей
Контактная информация:

Flprog на оборот..

#8

Сообщение Dryundel » 08.07.2017{, 10:47}

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

И вообще, поаккуратней с канабисом надо, а то еще не так накроет.
Последний раз редактировалось Dryundel 08.07.2017{, 10:50}, всего редактировалось 1 раз.

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

Flprog на оборот..

#9

Сообщение alverzilin » 09.07.2017{, 20:08}

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

 

замяли тему...
Изображение
Изображение

Аватара пользователя
vd0
Рядовой
Сообщения: 44
Зарегистрирован: 16.02.2018{, 08:56}
Репутация: 0
Имя: Дмитрий

Flprog на оборот..

#10

Сообщение vd0 » 17.02.2018{, 02:34}

приведу простой пример, уже отписался по этой проблеме в другом разделе, но продублирую
Приведу пример скетча который нормально собирается сам по себе.
СпойлерПоказать
#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;
}

}
исходный скетч собрался нормально. Создал блок, вот что сделал с кодом FLProg
СпойлерПоказать
#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;};
}
и ладно бы сделал, но в void loop() программа дописала {_PWDC = 0; после чего отказалась компилировать, что происходит??? :crazy:
а вы хотите запилить обратный процесс... тут жестокая конвертация кода с ассемблерными вставками или командами, поди разбери... + глюки при сборке с последующим крашем.

WZV
Сержант
Сообщения: 216
Зарегистрирован: 06.09.2015{, 14:31}
Репутация: 24

Flprog на оборот..

#11

Сообщение WZV » 17.02.2018{, 09:24}

alverzilin писал(а):
07.07.2017{, 19:39}
что бы готовый код преобразовывала назад в блоки, для дальнейшего редактирования
Частенько программирую Loxone, там есть такая функция "загрузить из контроллера". Короче загружается проект в блоковом виде, в таком, каком я его и делал. Может при составлении проекта формируется какой то файл, и вместе с проектом загружается в контроллер!? Но этот файл будет отнимать память контроллера,
и без того не большую в ардуине. И зачем эта функция Вам? У Вас же есть исходный проект. Чтоб сливать чужой, и править?

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

Flprog на оборот..

#12

Сообщение alverzilin » 15.05.2018{, 22:52}

Примерно так. Или возразите мол это неправильно\некрасиво? Так для этого есть fuse...)
Изображение
Изображение

pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25.02.2018{, 17:56}
Репутация: 24
Имя: sonata

Flprog на оборот..

#13

Сообщение pony sonata » 16.05.2018{, 09:21}

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

по сабжу. если нету времени и желания разбираться - значит не занимайтесь. а так сидя на печи придумывать идеи эт мощно : )
ардуино это самый минимальный уровень. флпрог это фактически на палочках считать математику. куда уж проще? :crazy:

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

Flprog на оборот..

#14

Сообщение Dev1 » 16.05.2018{, 10:00}

pony sonata писал(а):
16.05.2018{, 09:21}
флпрог это фактически на палочках считать математику. куда уж проще?
Никто не пилит видосики как на палочках считать. :fie: Думать самому стало сложно, а может и не хота... :senile: Проще спросить, может кто и сделает... :umnik:
Win10-64 FLProg v7.5.2 Portable :fie:

pony sonata
Лейтенант
Сообщения: 373
Зарегистрирован: 25.02.2018{, 17:56}
Репутация: 24
Имя: sonata

Flprog на оборот..

#15

Сообщение pony sonata » 16.05.2018{, 10:58}

видосов кстати валом по флпрог на ютуб, правда все как под копирку с видосов ув. гражданина с акцентом... ну и не стоит забывать, что графический язык флпрог FBD-подобный. т.е. практически соответствует стандартам МЭК, то можно и сами стандарты почитать как что делать или гайды на проги с похожей структурой языка. тот же бесплатный кодесис...
ну и не стоит забывать про саму справку для флпрог. я чесн сказать когда ток установил флпрог, первому, чему удивился, что подобный фришный/малобюджетный проект обладает такой справкой. я думаю это +100500 к развитию проекта, т.к. осваивать его не сложно

Аватара пользователя
Cvazi
Рядовой
Сообщения: 87
Зарегистрирован: 26.07.2016{, 14:36}
Репутация: 6
Откуда: Тверь
Имя: Денис

Flprog на оборот..

#16

Сообщение Cvazi » 16.05.2018{, 18:13}

Да согласен справка отличная. Почитал и в голове пазл сложился.

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Flprog на оборот..

#17

Сообщение Serg_Grn » 16.05.2018{, 20:47}

alverzilin, Разберите свой первый пост на буквы. А потом дайте кому нибудь, кто его не читал, собрать это всё как было. Вот это то же самое)

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

Flprog на оборот..

#18

Сообщение alverzilin » 30.05.2018{, 19:57}

Serg_Grn писал(а):
16.05.2018{, 20:47}
alverzilin, Разберите свой первый пост на буквы. А потом дайте кому нибудь, кто его не читал, собрать это всё как было. Вот это то же самое)
Да понял я, понял! Не стоит уж так пинать! И не чего мне не в падлу.. При определённом усердии можно и собрать! Вон, "энигма" тоже казалась супер-пупер машина, а ни чё, разгадали.. и тд и тп.. Тему уже давно можно было закрывать=)
Изображение
Изображение

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Flprog на оборот..

#19

Сообщение Serg_Grn » 30.05.2018{, 20:33}

alverzilin писал(а):
30.05.2018{, 19:57}
Да понял я, понял! Не стоит уж так пинать!
Да и не думал пинать, просто попробовал объяснить суть простым примером.

Аватара пользователя
Dev1
Майор
Сообщения: 1026
Зарегистрирован: 12.07.2016{, 18:04}
Репутация: 59
Откуда: Гондурас

Flprog на оборот..

#20

Сообщение Dev1 » 31.05.2018{, 08:07}

alverzilin писал(а):
30.05.2018{, 19:57}
Вон, "энигма" тоже казалась супер-пупер машина, а ни чё, разгадали.. и тд и тп..
Разгадали после того как заполучили энигму, а так бы сидели и репу чесали... :smile37:
Win10-64 FLProg v7.5.2 Portable :fie:

Ответить

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