Редактирование кривых УОЗ в реальном врем. (Realtime tables)

Обсуждение программного обеспечения для ПК и БК. Discussion of related computer software.

Moderator: STC

User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Редактирование кривых УОЗ в реальном времени

Post by STC »

Таблицы можно как и раньше переключать на ходу. Единственная разница в том что раньше они напрямую брались из FLASH, а сейчас они в ОЗУ и при выборе нужной таблицы (и при запуске) загружаются либо из FLASH либо из EEPROM (если выбраны tuning_1 или tuning_2). Какая связь с ДПКВ не знаю, возможно есть баг в программе (может выходим за пределы массива и т.д.). Я еще раз все проверю после завершения работы на данной функцией.

Реализация данной функции оказалась сложнее чем я думал (на уровне менеджера - пользовательский интерфейс). Но большую часть работы я уже проделал.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Редактирование кривых УОЗ в реальном времени

Post by STC »

Почти закончил реализацию данной функции.
Таблицы уже считываются и отображаются. Осталось доделать редактирование и сохранение.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Редактирование кривых УОЗ в реальном времени

Post by STC »

Сделал редактирование кривых УОЗ в реальном времени (последние версии прошивки и менеджера из репозиториев уже позволяют это делать). Некоторое время еще уйдет на доводку и устранение мелких недоработок, но в целом данная функция готова. Сохранение еще не сделал.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Serj_K
LQFP144 - On Top Of The Game
Posts: 330
Joined: Thu Dec 09, 2010 12:55 pm
Location: Kyiv, Ukraine

Re: Редактирование кривых УОЗ в реальном времени

Post by Serj_K »

STC
Возникла мысль по наглядности представления информации при редактировании таблиц в менеджере.
Если отображать графики так как сейчас (график УОЗ от оборотов + число расхода воздуха внизу), то теряется информация о положении текущей рабочей точки по оси давления (разрежения) воздуха. Рабочая точка может находится (по давлению) между двумя графиками УОЗ, а отображаться будет только один график УОЗ с дискретностью 1/16.
Предлагаю отображать таблицы при редактировании в виде сетки точек с координатными осями по оборотам и давлению, а УОЗ отображать в виде числа. Тогда можно будет подобрать режим двигателя так, чтобы рабочая точка максимально совпала с одной из точек в таблице. При этом будет максимально точное редактирование таблицы.
Жду окончательной версии прошивки с данной функцией для переноса в свой вариант.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Редактирование кривых УОЗ в реальном времени

Post by STC »

Эту идею (или похожую) потом воплотим в жизнь (на это нужно много сил и времени). Сейчас я сделал именно так потому что так проще, но дальше можно провести ряд усовершенствований.
Ты можешь нарисовать что ты хочешь для наглядности?
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Serj_K
LQFP144 - On Top Of The Game
Posts: 330
Joined: Thu Dec 09, 2010 12:55 pm
Location: Kyiv, Ukraine

Re: Редактирование кривых УОЗ в реальном времени

Post by Serj_K »

Намалевал картинку с тем, что имел в виду.
Здесь:
- чёрные горизонтальные линии с точками - кривые УОЗ для одного значения давления, "вид сверху".
- синяя линия - примерное изменение рабочей точки двигателя в приведенных координатах.
- зелёными кружками обведены точки таблицы, с которыми совпадает или почти совпадает рабочая точка двигателя. Здесь можно точно подстроить ОУЗ.
- красными кружками помечены рабочие точки двигателя, которые находятся "по давлению" между двумя кривыми. Здесь изменять УОЗ нельзя - не совпадает с точками таблицы, которые мы и изменяем.

Во время изменения кривых нужно подбтрать режим двигателя так, чтобы рабочая точка находилась как можно ближе к точке таблицы. И отображать на экране в таком виде. УОЗ в виде числа сбоку.
Attachments
Редактор_таблиц.JPG
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Редактирование кривых УОЗ в реальном времени

Post by STC »

А значения в численном виде показывать только напротив тех точек, которые обведены кружками?
Не понимаю почему нельзя просто показывать на графике текущую используемую точку?

Честно говоря мне не совсем понятно как строить прямую. Если я правильнь понимаю то нужно непрерывно собирать статистику по каждой точке - частоту ее использования и строить прямую на основе множества точек с максимальной частотой использования. Может проще каждую точку раскрашивать определенным цветом в зависимости от частоты ее использования?
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Serj_K
LQFP144 - On Top Of The Game
Posts: 330
Joined: Thu Dec 09, 2010 12:55 pm
Location: Kyiv, Ukraine

Re: Редактирование кривых УОЗ в реальном времени

Post by Serj_K »

Значение текущего УОЗ просто отображается где-то рядом с графиком, может крупным шрифтом.
На графике отображается рабочая точка на выше приведенной сетке. По её положению на графике пользователь сам определяет - редактировать ближайшую точку таблицы или нет и какую именно.
Прямую (синюю) я нарисовал условно. Это траектория изменения положения рабочей точки двигателя. Она может быть и кривой, причём не линией, а полосой в зависимости от режима работы двигателя.
Пользователь устанавливает режим работы двигателя, подводя его рабочую точку к табличной и начинает её изменять. Потом переходит к следующей и т.д.
Статистику собирать наверное не нужно, просто на время процесса редактирования (до сохранения) изменённые точки закрасить в другой цвет, тогда пользователь будет видеть, какие точки он ещё не изменял.

Основная моя идея заключалась в изменении системы координат отображения таблицы - с "УОЗ от оборотов" на "давление от оборотов" для исключения редактирования, когда рабочая точка не находится возле точки таблицы. Так нагляднее и точнее.
User avatar
STC
LQFP144 - On Top Of The Game
Posts: 2420
Joined: Fri Oct 22, 2010 10:47 pm
Location: Ukraine, Kiev
Contact:

Re: Редактирование кривых УОЗ в реальном времени

Post by STC »

Хорошо, теперь понял. Будем иметь ввиду. Нужно поискать библиотеку для рисования/редактирования 3D графиков с подходящей лицензией. Скорее всего прийдется рисовать самим.

Сделал сегодня несколько улучшений в менеджере касательно редактирования таблиц. Осталось сделать сохранение и потом можешь уже переносить изменения к себе.
Author of the SECU-3 project. SECU-3 Engine control unit / Ignition control system
SECU-3.org (Русский)
SECU-3.org (English)
SECU-3 Club ВКонтакте
SECU-3 EMS Project Facebook
Serj_K
LQFP144 - On Top Of The Game
Posts: 330
Joined: Thu Dec 09, 2010 12:55 pm
Location: Kyiv, Ukraine

Re: Редактирование кривых УОЗ в реальном времени

Post by Serj_K »

Для отображения моего варианта графиков 3Д не нужно - он плоский. Кроме того, 3Д будет в принципе избыточным для редактирования таблиц.
Post Reply