Page 1 of 1
FSIO: Программируемые выводы
Posted: Wed Jul 09, 2014 11:14 am
by AndreyB
На английском форуме озвучили гениальное мне кажется предложение - гибко настраиваемые выводы. См.
http://rusefi.com/forum/viewtopic.php?f=5&t=612
Re: Программируемые выводы
Posted: Wed Jul 09, 2014 4:09 pm
by AndreyB
Для начала я хочу на этот подход перевести реле бензонасоса и вентилятор, потом еще явно уже нужно управление генератором.
Самая простая логика будет работать как несколько логических И: (#1) sensor1 > value1 AND sensor2 < value2, параметризацию таких условий можно настраивать через TunerStudio в стиле
Открытый вопрос - как сделать в интерфейсе TunerStudio настройку более сложны выражений, например (#2) (sensor1 < value2 and sensor2 > value2) OR (s3 > v3 AND s4 < v4 OR s5 < s5).
В самом крутом варианте можно вообще вводить строки с вырежениями, вот только Tuner Studio кажется строки не поддерживает. Или поддерживает?
Re: Программируемые выводы
Posted: Thu Jul 10, 2014 1:37 pm
by acab
Друзья, давайте забьём на ТюнерСтудию и сделаем rusEFIСтудию
Re: Программируемые выводы
Posted: Thu Jul 10, 2014 1:42 pm
by AndreyB
acab wrote:Друзья, давайте забьём на ТюнерСтудию и сделаем rusEFIСтудию
Как ты можешь помочь исполнению этой прекрасной идеи? Хочешь ли ты сделать
https://sourceforge.net/p/rusefi/tickets/60/ - это про зум и передвижене влево-вправо в консоли?
Re: Программируемые выводы
Posted: Fri Jul 11, 2014 6:35 pm
by acab
С этим сложнее. Всё что было у меня желание и умение - это написать прогу для управления на C# в ВизуалСтудии. Благо там не особо трудно и долго...
Кстати, самый крутой вариант, интерпретатор простенький сделать, чтобы простым понятным кодом можно было делать.
Вот как это сделано в одной приблуде:
Re: Программируемые выводы
Posted: Thu Aug 28, 2014 8:02 pm
by stealth
Было бы здорово встроить Lua для подобных задач, простенький, легенький, очень гибко собирается и легко встраивается. Очень любят его для описания ИИ в игрушках юзать.
Пример как встроить
http://csl.name/lua/
Отличный пример использования Lua для конфигурации приложения
http://wiki.nginx.org/HttpLuaModule
Re: Программируемые выводы
Posted: Thu Aug 28, 2014 9:27 pm
by AndreyB
stealth wrote:Было бы здорово встроить Lua
во-первых, принимаю патчи.
во-вторых, технический вопрос - не захочет ли эта штука heap, malloc/free и так далее? потому что у нас по этому поводу ой.
Re: Программируемые выводы
Posted: Fri Aug 29, 2014 7:47 am
by stealth
russian wrote:
во-вторых, технический вопрос - не захочет ли эта штука heap, malloc/free и так далее? потому что у нас по этому поводу ой.
Это хороший вопрос, требующий отдельного изучения. В менеджере памяти оно есть, но вот для каких компонентов используется хз, может как-то и без него обойтись можно.
Re: Программируемые выводы
Posted: Fri Oct 03, 2014 3:31 pm
by AndreyB
Начал это дело программировать - подробности в
https://sourceforge.net/p/rusefi/tickets/102/
Re: Программируемые выводы
Posted: Wed Nov 19, 2014 2:11 am
by AndreyB
Бензонасос кстати уже какое-то время работает по формуле "time_since_boot 4 < rpm 0 > OR"
А теперь в прошивке можно сказать
eval "2 3 +"
или
eval "200 rpm <"
http://rusefi.com/wiki/index.php?title=Manual:Flexible_Logic
Re: FSIO: Программируемые выводы
Posted: Fri Dec 05, 2014 2:14 am
by AndreyB
Готово - можно управлять скважностью ШИМа заданными выражениями. В моём понимании, на этой основе можно сделать VVT и всё такое, подробнее на вики -
http://rusefi.com/wiki/index.php?title=Manual:Flexible_Logic
Re: FSIO: Программируемые выводы
Posted: Fri Dec 05, 2014 5:31 pm
by AndreyB
буду рад tunerstudio патчу:
Сейчас уже есть gpioPin0-3, нужно добавить оставшиеся 12 каналов и нужно добавить 16 полей для частоты ШИМ - fsioFrequency - они кстати 16ти битные, я тут чутка начал память экономить.
Re: FSIO: Программируемые выводы
Posted: Wed Dec 10, 2014 1:01 pm
by AndreyB
Новая фича этого дела: пользовательские настройки, доступные из FSIO
В конфигурации у нас хранятся 16 чисел, которые мы можем настраивать через TS или нашу консоль - и обращаться к ним в FSIO выражениях:
FSIO:
0 fsio_setting
console command:
set_fsio_setting INDEX VAlUE
Please note that these indexes are starting with zero
Re: FSIO: Программируемые выводы
Posted: Wed Dec 10, 2014 1:22 pm
by puff
вот бы еще в консоли во вкладке LE controls (это ведь про это дело, да? что значит LE?) - списочек этот опубликовать. а то плохо понятно, что это за числа… или это просто массив из 16 чисел?
во всей этой логике нам доступно только rpm? или еще какие-то параметры?
Re: FSIO: Программируемые выводы
Posted: Wed Dec 10, 2014 1:37 pm
by AndreyB
puff wrote:вот бы еще в консоли во вкладке LE controls - списочек этот опубликовать. а то плохо понятно, что это за числа… или это просто массив из 16 чисел?
fsioinfo команда печатает этот массив. доступно мало, но чуть больше чем просто rpm - по ссылке есть ссылка на доступное
Re: FSIO: Программируемые выводы
Posted: Wed Dec 10, 2014 1:55 pm
by puff
все запутаннее становится)
- Снимок экрана 2014-12-10 в 16.50.30.png (138.75 KiB) Viewed 15454 times
rpm не увидел. поменять значение в массиве получилось. как обращатся в FSIO выражениях - хз (у меня получилось исключение в девконсоли). чую, придётся потом целый учебник писать по использованию русефи
Re: FSIO: Программируемые выводы
Posted: Wed Dec 10, 2014 1:59 pm
by AndreyB
Re: FSIO: Программируемые выводы
Posted: Wed Jan 14, 2015 7:12 am
by maddmr
А можно к этой ерунде прикрутить карту, хотя бы 8х8, что бы их можно было использовать в этих выражениях?
При этом каждая карта выглядит как функция от двух переменных: map1(var1,var2), map2(var3,var4)... При этом входные переменные, они же оси карты, не привязаны к конкретным параметрам и могут быть любые. Что бы можно было делать карты в любых осях. Хотя, если это сложно, то можно и привязать.
Тогда использование такой карты выглядит например так:
Code: Select all
set_fsio 1 "map1(rpm, load) > 0.5"
Re: FSIO: Программируемые выводы
Posted: Wed Jan 14, 2015 12:04 pm
by AndreyB
maddmr wrote:А можно к этой ерунде прикрутить карту, хотя бы 8х8, что бы их можно было использовать в этих выражениях?
Да, логиченое пожелание -
https://sourceforge.net/p/rusefi/tickets/127/