FSIO: Программируемые выводы

Про байтики и логику ЭБУ
Post Reply
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

FSIO: Программируемые выводы

Post by AndreyB »

На английском форуме озвучили гениальное мне кажется предложение - гибко настраиваемые выводы. См. http://rusefi.com/forum/viewtopic.php?f=5&t=612
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Программируемые выводы

Post by AndreyB »

Для начала я хочу на этот подход перевести реле бензонасоса и вентилятор, потом еще явно уже нужно управление генератором.

Самая простая логика будет работать как несколько логических И: (#1) sensor1 > value1 AND sensor2 < value2, параметризацию таких условий можно настраивать через TunerStudio в стиле
Image

Открытый вопрос - как сделать в интерфейсе TunerStudio настройку более сложны выражений, например (#2) (sensor1 < value2 and sensor2 > value2) OR (s3 > v3 AND s4 < v4 OR s5 < s5).

В самом крутом варианте можно вообще вводить строки с вырежениями, вот только Tuner Studio кажется строки не поддерживает. Или поддерживает?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Программируемые выводы

Post by acab »

Друзья, давайте забьём на ТюнерСтудию и сделаем rusEFIСтудию
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Программируемые выводы

Post by AndreyB »

acab wrote:Друзья, давайте забьём на ТюнерСтудию и сделаем rusEFIСтудию
Как ты можешь помочь исполнению этой прекрасной идеи? Хочешь ли ты сделать https://sourceforge.net/p/rusefi/tickets/60/ - это про зум и передвижене влево-вправо в консоли?
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
acab
provoker
provoker
Posts: 263
Joined: Wed Dec 18, 2013 7:27 pm
Location: Minsk, BY

Re: Программируемые выводы

Post by acab »

russian wrote: Как ты можешь помочь исполнению этой прекрасной идеи? Хочешь ли ты сделать https://sourceforge.net/p/rusefi/tickets/60/ - это про зум и передвижене влево-вправо в консоли?
С этим сложнее. Всё что было у меня желание и умение - это написать прогу для управления на C# в ВизуалСтудии. Благо там не особо трудно и долго...

Кстати, самый крутой вариант, интерпретатор простенький сделать, чтобы простым понятным кодом можно было делать.
Вот как это сделано в одной приблуде:

Image
User avatar
stealth
Posts: 32
Joined: Thu Aug 14, 2014 12:56 pm
Location: St.Petersburg

Re: Программируемые выводы

Post by stealth »

Было бы здорово встроить Lua для подобных задач, простенький, легенький, очень гибко собирается и легко встраивается. Очень любят его для описания ИИ в игрушках юзать.

Пример как встроить http://csl.name/lua/

Отличный пример использования Lua для конфигурации приложения http://wiki.nginx.org/HttpLuaModule
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Программируемые выводы

Post by AndreyB »

stealth wrote:Было бы здорово встроить Lua
во-первых, принимаю патчи.
во-вторых, технический вопрос - не захочет ли эта штука heap, malloc/free и так далее? потому что у нас по этому поводу ой.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
stealth
Posts: 32
Joined: Thu Aug 14, 2014 12:56 pm
Location: St.Petersburg

Re: Программируемые выводы

Post by stealth »

russian wrote: во-вторых, технический вопрос - не захочет ли эта штука heap, malloc/free и так далее? потому что у нас по этому поводу ой.
Это хороший вопрос, требующий отдельного изучения. В менеджере памяти оно есть, но вот для каких компонентов используется хз, может как-то и без него обойтись можно.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Программируемые выводы

Post by AndreyB »

Начал это дело программировать - подробности в https://sourceforge.net/p/rusefi/tickets/102/
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: Программируемые выводы

Post 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
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: FSIO: Программируемые выводы

Post by AndreyB »

Готово - можно управлять скважностью ШИМа заданными выражениями. В моём понимании, на этой основе можно сделать VVT и всё такое, подробнее на вики - http://rusefi.com/wiki/index.php?title=Manual:Flexible_Logic
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: FSIO: Программируемые выводы

Post by AndreyB »

буду рад tunerstudio патчу:

Сейчас уже есть gpioPin0-3, нужно добавить оставшиеся 12 каналов и нужно добавить 16 полей для частоты ШИМ - fsioFrequency - они кстати 16ти битные, я тут чутка начал память экономить.
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: FSIO: Программируемые выводы

Post 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
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: FSIO: Программируемые выводы

Post by puff »

вот бы еще в консоли во вкладке LE controls (это ведь про это дело, да? что значит LE?) - списочек этот опубликовать. а то плохо понятно, что это за числа… или это просто массив из 16 чисел?
во всей этой логике нам доступно только rpm? или еще какие-то параметры?
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: FSIO: Программируемые выводы

Post by AndreyB »

puff wrote:вот бы еще в консоли во вкладке LE controls - списочек этот опубликовать. а то плохо понятно, что это за числа… или это просто массив из 16 чисел?
fsioinfo команда печатает этот массив. доступно мало, но чуть больше чем просто rpm - по ссылке есть ссылка на доступное
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
puff
contributor
contributor
Posts: 2961
Joined: Mon Nov 11, 2013 11:28 am
Location: Moskau

Re: FSIO: Программируемые выводы

Post by puff »

все запутаннее становится)
Снимок экрана 2014-12-10 в 16.50.30.png
Снимок экрана 2014-12-10 в 16.50.30.png (138.75 KiB) Viewed 14893 times
rpm не увидел. поменять значение в массиве получилось. как обращатся в FSIO выражениях - хз (у меня получилось исключение в девконсоли). чую, придётся потом целый учебник писать по использованию русефи :-)
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: FSIO: Программируемые выводы

Post by AndreyB »

Учебник по этому вопросу - это http://rusefi.com/wiki/index.php?title=Manual:Flexible_Logic
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
maddmr
Posts: 13
Joined: Fri Dec 26, 2014 2:50 am
Location: Красноярск

Re: FSIO: Программируемые выводы

Post by maddmr »

А можно к этой ерунде прикрутить карту, хотя бы 8х8, что бы их можно было использовать в этих выражениях?
При этом каждая карта выглядит как функция от двух переменных: map1(var1,var2), map2(var3,var4)... При этом входные переменные, они же оси карты, не привязаны к конкретным параметрам и могут быть любые. Что бы можно было делать карты в любых осях. Хотя, если это сложно, то можно и привязать.
Тогда использование такой карты выглядит например так:

Code: Select all

set_fsio 1 "map1(rpm, load) > 0.5"
Красноярск. Старое ведерко с 3s-ge на ватомате.
User avatar
AndreyB
Site Admin
Posts: 14292
Joined: Wed Aug 28, 2013 1:28 am
Location: Jersey City
Github Username: rusefillc
Slack: Andrey B

Re: FSIO: Программируемые выводы

Post by AndreyB »

maddmr wrote:А можно к этой ерунде прикрутить карту, хотя бы 8х8, что бы их можно было использовать в этих выражениях?
Да, логиченое пожелание - https://sourceforge.net/p/rusefi/tickets/127/
Very limited telepathic abilities - please post logs & tunes where appropriate - http://rusefi.com/s/questions

Always looking for C/C++/Java/PHP developers! Please help us see https://rusefi.com/s/howtocontribute
Post Reply