Page 8 of 13

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Thu Jun 22, 2017 8:34 am
by AndreyB
/firmware/controllers/map_averaging.cpp:223:34: error: 'FLT_MAX' was not declared in this scope
averagedMapRunningBuffer = FLT_MAX;

Это симулятор

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Thu Jun 22, 2017 5:30 pm
by andreika
russian wrote:/firmware/controllers/map_averaging.cpp:223:34: error: 'FLT_MAX' was not declared in this scope
Это симулятор
Сорри, не заметил сразу. :oops: Лови PR!
russian wrote:АндрейКА, тебе за терпение огромное спасибо!
Логи я еще не открыл, но сегодня постараюсь.
Тебе спасибо, жду!

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Fri Jun 23, 2017 6:54 pm
by andreika
Ну что вам рассказать?.. ;)

1) Во-первых, Более часа провозившись в гараже, я всё-таки поймал этот баг! Я знаю, почему двигатель глохнет при Burn! :D

Дело оказалось вот в чём:

Code: Select all

void incrementGlobalConfigurationVersion(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
	//globalConfigurationVersion++;  // <------------ комментим эту строчку, и всё работает! Движок не глохнет!
Конечно, дело не в самой переменной globalConfigurationVersion, а в функции updateTriggerShapeIfNeeded():

Code: Select all

static void updateTriggerShapeIfNeeded(PwmConfig *state) {
	if (emulatorConfigVersion.isOld()) {
		scheduleMsg(logger, "Stimulator: updating trigger shape: %d/%d %d", emulatorConfigVersion.getVersion(),
				getGlobalConfigurationVersion(), currentTimeMillis());

		applyNonPersistentConfiguration(logger PASS_ENGINE_PARAMETER_SUFFIX);

		TriggerShape *s = &engine->triggerCentral.triggerShape;
		pin_state_t *pinStates[PWM_PHASE_MAX_WAVE_PER_PWM] = { s->wave.waves[0].pinStates, s->wave.waves[1].pinStates,
				s->wave.waves[2].pinStates };
		copyPwmParameters(state, s->getSize(), s->wave.switchTimes, PWM_PHASE_MAX_WAVE_PER_PWM, pinStates);
		state->safe.periodNt = -1; // this would cause loop re-initialization
	}
}
Вот этот самый "isOld()" срабатывает при изменении globalConfigurationVersion, и начинаются свистопляски с trigger shape, из-за чего нарушается работа движка, и он глохнет!
Я ещё не копал вглубь, и не знаю, что именно там происходит (это ведь только для стимулятора должен быть код? isEmulating?), но догадываюсь, что при каждом изменении любой настройки врядли стоит трогать такие хитрые вещи!
Дальше, как говорится, дело техники, и я надеюсь, что Андрей придумает, как это лучше пофиксить! :oops:

2) Во-вторых, у меня большая просьба:

Code: Select all

#define FUEL_PUMP_LOGIC "time_since_boot 4 < rpm 0 > |"
Вот эту "4", если можно, вынести в какой-то отдельный параметр, чтобы я мог у себя его переназначить. У меня на выключенном ЭБН дольше заводится двигатель, и я хотел бы поставить себе значение побольше...

3) И, наконец, в-третьих, что-то не так с объявлением mapMinBufferLength:

Code: Select all

custom uart_device_e 4 bits,U32,   @OFFSET@, [0:1], "Off", "UART1", "UART2", "UART3" 
	uart_device_e consoleUartDevice;
	int mapMinBufferLength;
	int16_t idlePidDeactivationTpsThreshold;;"%",        1,     0,  0,    100.0,  0
Из-за того, что после точки с запятой нет всяких "value", эта переменная недоступна для редактирования из ТюнерСтудио (";skipping mapMinBufferLength offset 1200").
Можно ли дописать туда аргументы и проапдейтить rusefi.ini?.. :roll:

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Fri Jun 23, 2017 11:40 pm
by AndreyB
#3 кажется сделал

#2 сделал переменную startUpFuelPumpDuration - но пока не сделал логику чтения её через FSIO. Если хочешь сделать аналогично порогам вентилятора в FSIO?

#1 интересно, что у меня этой проблемы нет - может влияет, что у тебя 58 зубов, а у меня где-то 12? там нужно делать аналогично isSamePid / isSamePin - нужно перед пере-инициализацией проверить, что какие-то настройки триггера поменяли. activeConfiguration переменная содержит старую конфигурацию, а engineCongiguration - новую. Нужно аккуратно сравнить все поля. Не уверен, что сделаю завтра - я тут путешествую немного вероятно без ноутбука завтра.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Fri Jun 23, 2017 11:41 pm
by AndreyB

Code: Select all

/**
 * Current engine configuration. On firmware start we assign empty configuration, then
 * we copy actual configuration after reading settings.
 * This is useful to compare old and new configurations in order to apply new settings.
 *
 * todo: place this field next to 'engineConfiguration'?
 */
engine_configuration_s activeConfiguration;

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sat Jun 24, 2017 8:30 am
by andreika
russian wrote:#3 кажется сделал, #2 сделал переменную startUpFuelPumpDuration
Не уверен, что сделаю завтра - я тут путешествую немного вероятно без ноутбука завтра.
Спасибо! Правда, переменная startUpFuelPumpDuration попала только в ini-файл, но не в исходники...

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Jun 25, 2017 12:09 am
by andreika
Чтобы немного разгрузить Андрея на отдыхе и для ускорения процесса создал два PR... :roll:

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Jun 25, 2017 4:34 pm
by andreika
Итоги сегодняшнего дня.

1) Поправил первый PR, связанный с фиксом изменения настроек (updateTriggerShapeIfNeeded). Теперь должно работать! :oops:

2) Спасибо за оперативный мердж второго PR (fsio)! Правда, теперь почему-то перестала работать блокировка стартёра.. :( В Консоли пишет вот что:

Code: Select all

EngineState: WARNING: no FSIO for #1 PB10
Хотя строчка в настройках осталась та же, проверял:

Code: Select all

rpm cranking_rpm <
Если бы парсер ругался, то в логе были бы ещё ошибки, а так непонятно, что ему не нравится... Может, я что-то случайно задел во вчерашнем PR? Но в упор не вижу, что... Нужна "помощь зала"! :?

3) По-прежнему плохо заводится. Не могу пока подобрать оптимальные параметры.
Было бы неплохо для одновременного впрыска сделать режим "несколько впрысков за такт" (2, 4). Т.е. когда общее время впрыска в цилиндр то же, а количество впрысков - настраиваемое.
Также не помешал бы режим одиночного "предвпрыска" спустя несколько секунд после включения зажигания ("горло промочить"), т.е. так называемый "prime pulse" (настраивается задержка N секунд после включения и длительность этого впрыска в зав-ти о температуры - для начала можно сделать по двум точкам, как в секу)...

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Jun 25, 2017 6:06 pm
by darxfame
andreika wrote:Итоги сегодняшнего дня.

1) Поправил первый PR, связанный с фиксом изменения настроек (updateTriggerShapeIfNeeded). Теперь должно работать! :oops:

2) Спасибо за оперативный мердж второго PR (fsio)! Правда, теперь почему-то перестала работать блокировка стартёра.. :( В Консоли пишет вот что:

Code: Select all

EngineState: WARNING: no FSIO for #1 PB10
Хотя строчка в настройках осталась та же, проверял:

Code: Select all

rpm cranking_rpm <
Если бы парсер ругался, то в логе были бы ещё ошибки, а так непонятно, что ему не нравится... Может, я что-то случайно задел во вчерашнем PR? Но в упор не вижу, что... Нужна "помощь зала"! :?

3) По-прежнему плохо заводится. Не могу пока подобрать оптимальные параметры.
Было бы неплохо для одновременного впрыска сделать режим "несколько впрысков за такт" (2, 4). Т.е. когда общее время впрыска в цилиндр то же, а количество впрысков - настраиваемое.
Также не помешал бы режим одиночного "предвпрыска" спустя несколько секунд после включения зажигания ("горло промочить"), т.е. так называемый "prime pulse" (настраивается задержка N секунд после включения и длительность этого впрыска в зав-ти о температуры - для начала можно сделать по двум точкам, как в секу)...
Может тебе заняться?

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Jun 25, 2017 6:23 pm
by darxfame
А ускорительный насос у нас есть?

Re: ВАЗ-2103

Posted: Sun Jun 25, 2017 9:34 pm
by andreika
darxfame wrote:Может тебе заняться?
Это как Андрей скажет. Целиком, с нуля, мне будет тяжело.
darxfame wrote:А ускорительный насос у нас есть?
Есть, в довольно богатом виде (таблица TPS-TPS и т.п.).

Кстати, вот ещё одна неприятность:
formulas_NaN.png
formulas_NaN.png (64.83 KiB) Viewed 20066 times
Консоль у меня, правда, не самая новая (20170527), но всё-таки что-то странное... Показания датчиков в TS, при этом, нормальные.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Sun Jun 25, 2017 9:50 pm
by AndreyB
Я жив, но в отпуске очень хорошо - поэтому оффлайн.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 5:55 am
by AndreyB
andreika wrote: перестала работать блокировка стартёра.. :( В Консоли пишет вот что:

Code: Select all

EngineState: WARNING: no FSIO for #1 PB10
очевидных ошибок там нет - см. https://github.com/rusefi/rusefi/commit/abbb15978cf0c6c9c93efeaa2de00dbb553c9537

а можно вывод fsioinfo команды посмотреть?

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 5:59 am
by andreika
russian wrote:а можно вывод fsioinfo команды посмотреть?

Code: Select all

confirmation_fsioinfo:8
sys used 29/user used 3
a/c:
action 110: fValue=0.00 iValue=0
<end>
fuel:
action 103: fValue=0.00 iValue=0
action 121: fValue=0.00 iValue=0
action 2: fValue=0.00 iValue=0
action 100: fValue=0.00 iValue=0
action 1: fValue=0.00 iValue=0
action 3: fValue=0.00 iValue=0
action 7: fValue=0.00 iValue=0
<end>
fan:
action 102: fValue=0.00 iValue=0
action 101: fValue=0.00 iValue=0
action 105: fValue=0.00 iValue=0
action 3: fValue=0.00 iValue=0
action 6: fValue=0.00 iValue=0
action 101: fValue=0.00 iValue=0
action 104: fValue=0.00 iValue=0
action 3: fValue=0.00 iValue=0
action 7: fValue=0.00 iValue=0
<end>
alt:
action 109: fValue=0.00 iValue=0
action 1: fValue=14.50 iValue=0
action 2: fValue=0.00 iValue=0
<end>
FSIO #1 [rpm cranking_rpm >] at PB10@0Hz value=0.00
action 100: fValue=0.00 iValue=0
action 120: fValue=0.00 iValue=0
action 3: fValue=0.00 iValue=0
<end>
user property #1: 0.00
user property #2: 0.00
user property #3: 0.00
user property #4: 0.00
user property #5: 0.00
user property #6: 0.00
user property #7: 0.00
user property #8: 0.00
user property #9: 0.00
user property #10: 0.00
user property #11: 0.00
user property #12: 0.00
user property #13: 0.00
user property #14: 0.00
user property #15: 0.00
user property #16: 0.00

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 6:55 am
by AndreyB
Про NaN формулы:

есть кривость, что некоторые датчики берутся из текстого протокола, а некоторые - из бинарной структуры данных. И с принципе нужно например
MAP("MAP", SensorCategory.SENSOR_INPUTS),

перевести на вариант как
INT_TEMP(SensorCategory.OPERATIONS, FieldType.FLOAT, 244, BackgroundColor.MUD, 0, 5),


даже по порядку этого дела в файле понятно, что это всё по историческим причинам.

с другой стороны, если датчики работают в индикаторах - то почему они не работают в формулах? вроде там единая структура данных

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 7:04 am
by puff
ключик в компилляторе? все эти многочисленные unused variables?

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 7:05 am
by AndreyB
puff wrote:ключик в компилляторе? все эти многочисленные unused variables?
я вообще ничего не понял

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 8:17 am
by puff
Ну все те многочисленные предупреждения, на которые мы не обращаем внимания, на самом деле может что-то значат. Типа, ошибся в названии переменной?

Sent from my XT1058 using Tapatalk

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 8:20 am
by AndreyB
А почему это в этой теме? А почему ты веришь, что без конкретики мы тебя поймëм?

Предлагаю новую тему с конкретными примерами и там обсудим

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 8:52 am
by puff
Потому что здесь обсуждаем NaN в формуле и откуда они могли взяться. Просто догадка/предположение, я особо и не надеялся на понимание. Но зачем-то же в компиляторах есть эти предупреждения..

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 8:56 am
by AndreyB
Нифига себе как ты скакнул :) формулы и предупреждения точно не связанны.

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 9:04 am
by puff
:D
еще, в качестве догадки. насоколько я помню, когда отрубается консоль - датчики (во всяком случае, часть) продолжают что-то показывать - как разбитые часы, последнее валидное значение.
может и тут так же? типа значение переинициализировалось (по какой-то причине), стало NaN, а показометр показывает старое значение...

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 7:47 pm
by andreika
Вести из гаража:
1) Пока воевал с плохим запуском, обнаружил странную вещь:
cranking_idle_pos.png
cranking_idle_pos.png (92.17 KiB) Viewed 20011 times
Это сразу при включении зажигания. Положение РХХ почему-то устанавливается не в cranking, а, скорее, в manual (хотя ползунок я не трогал!).
Поведение довольно странное... :?

2) Фикс глохнущего двигателя при изменении параметров работает. Спасибо Андрею за мердж PR! Правда, там сломались тесты - по этому поводу я создал ещё маленький PR.

3) По поводу блокировки стартёра - взял блок домой, буду разбираться, дебажить.

4) Соорудил стенд для синхронизации дросселей - теперь движок стал работать чуть ровнее:
sync5.jpg
sync5.jpg (97.64 KiB) Viewed 20011 times

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 9:48 pm
by andreika
Что-то опять с авто-билдом... У меня локально всё компилится без ошибок, а на гитхабе - беда... :(

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 10:08 pm
by puff
расскажи, что это за стенд за такой? смахивает на четыре спиртовых барометра :D

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Mon Jun 26, 2017 10:27 pm
by andreika
puff wrote:расскажи, что это за стенд за такой? смахивает на четыре спиртовых барометра :D
Так и есть! :) Это стенд для выравнивания разрежения в 4-х цилиндрах:
а) для начальной настройки положения плунжеров регулятора холостого хода - там есть регулировочные гайки:
idle_piston_adjust_nuts.jpg
idle_piston_adjust_nuts.jpg (126.49 KiB) Viewed 19997 times
б) следующий этап - для настройки синхронности открытия дроссельных заслонок (при слегка нажатой педали газа):
throttle_sync_adjust.jpg
throttle_sync_adjust.jpg (108.78 KiB) Viewed 19997 times
Принцип прост: смотреть на столбики на стенде при запущенном двигателе, и крутить регулировки, чтобы уровни совпали по высоте:
bad_sync.jpg
bad_sync.jpg (57.66 KiB) Viewed 19995 times

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Tue Jun 27, 2017 10:17 pm
by andreika
andreika wrote:Это сразу при включении зажигания. Положение РХХ почему-то устанавливается не в cranking, а, скорее, в manual (хотя ползунок я не трогал!).
Поведение довольно странное... :?
Судя по исходникам, так оно и есть:

Code: Select all

if (isCrankingE(engine)) {
	// during cranking it's always manual mode, PID would make no sence during cranking
	iacPosition = cltCorrection * engineConfiguration->crankingIACposition;
}
Т.е. положение crankingIACposition используется не до старта, а только во время, потому что isCrankingE() возвращает true для уже крутящегося двигателя, и мы теряем драгоценные секунды на перестройку РХХ прямо во время запуска (а обороты определяются тоже далеко не сразу)...
По этому поводу предлагаю соответствующий PR...

P.S. Баг с блокировкой стартёра (fsio) в домашних условиях на текущем билде прошивки не воспроизводится... :?

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jun 28, 2017 7:43 am
by AndreyB
andreika wrote:Что-то опять с авто-билдом... У меня локально всё компилится без ошибок, а на гитхабе - беда... :(
Мы оба понимаем, что оно не только КОМПИЛИРУЕТСЯ, но еще и ЗАПУСКАЕТСЯ там и тестируется таким образом? :)

cd unit_tests
make clean
cd build
rusefi_test.exe
ОЙ

Добавил информации в http://rusefi.com/wiki/index.php?title=Internal:Software:Build_Server#Continues_Integration и http://rusefi.com/wiki/index.php?title=Internal:Software:Build_Server#Q.26A

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jun 28, 2017 11:12 am
by Abricos
У меня так скромный вопрос ... После стольких изменений вы хоть пробуйте прописать новый бандЕл на дискавери ???

Re: ВАЗ-2103 "Рыжик" (1977) :: Lada 1500 "Ryzhik" (1977) #37

Posted: Wed Jun 28, 2017 3:04 pm
by andreika
russian wrote:Мы оба понимаем, что оно не только КОМПИЛИРУЕТСЯ, но еще и ЗАПУСКАЕТСЯ там и тестируется таким образом? :)
Ну забыл я, ну с кем не бывает... :oops: Прошу прощения и выкладываю запоздалый PR...
Abricos wrote:У меня так скромный вопрос ... После стольких изменений вы хоть пробуйте прописать новый бандЕл на дискавери ???
Если вопрос ко мне, то я к дискавери никакого отношения не имею... Разве что иногда смотрю канал Discovery Science, грешен... :P