Page 1 of 13

Текущий прогресс по прошивке.

Posted: Fri Nov 15, 2013 10:22 pm
by frig
В этой теме хочется держать всех в курсе относительно происходящего в прошиве. Фактически это будет почти что отражением коммитов в репозиторий.
Вот тут можно получить исходники и либо наблюдать, либо даже помогать и слать патчи.
http://sourceforge.net/p/rusefi/code/HEAD/tree/trunk/

В данный момент занимаемся рефакторингом конфигов платы и мотора, Андрей начал зажигание.

Re: Текущий прогресс по прошивке.

Posted: Sat Nov 16, 2013 3:16 pm
by AndreyB

Re: Текущий прогресс по прошивке.

Posted: Sun Nov 17, 2013 12:18 am
by AndreyB
Сегодня я пытался доделать зажигание, а в итоге долго искал баги в коррекции топлива по температурам. В итоге начал появляться код обработки ошибок сенсоров - NaN теперь наш большой друг. А сейчас я переименую все переменные "log" в "logger", чтоб подключить глобально math.h ради метода isnan()

Код зажигания в первой ужасной версии я дописал - завтра буду пытаться двигатель завести с зажиганием от rusEfi.

Re: Текущий прогресс по прошивке.

Posted: Tue Nov 19, 2013 12:58 am
by AndreyB
Герой дня по прошивле сегодня @, который воткнулся в три бага и терпеливо соединял консоль с дискавери в режиме эмуляции. Из этого родился тикет #18 Usability: dynamic switch between USB and USART serial ports

Герой дня по железу - @, который предложил дизайн модуля индукционного датчика и датчика детонации.

Re: Текущий прогресс по прошивке.

Posted: Wed Nov 20, 2013 2:50 am
by AndreyB
Пофикил назойливый баг - прошивка часто висла сразу после ребута на работающем двигателе.
Улучшил код вокруг зажигания.

Re: Текущий прогресс по прошивке.

Posted: Thu Nov 21, 2013 3:16 am
by AndreyB
Этот нехороший человек @ не просто ребутал прошивку на работающем двигателе - он ребутал прошивку с висящими проводами на входах. Хорошо, сегодня пофиксил и обработку сигналов из космоса.

@ написал очень подробную инструкцию по компиляции и отладке в ChibiStudio - но там есть нюансы. Дебаг-то работает, а вот сохранение конфигурации у меня не работает.

Re: Текущий прогресс по прошивке.

Posted: Thu Nov 21, 2013 6:27 pm
by frig
Вынес настройку TPS в tuner studio. Настраивается стандартной приблудой.

Re: Текущий прогресс по прошивке.

Posted: Fri Nov 22, 2013 9:43 am
by AndreyB
@ сделал тикет #5

Re: Текущий прогресс по прошивке.

Posted: Fri Nov 22, 2013 12:47 pm
by AndreyB
@ тоже сделал тот же пятый тикет, но на три часа позже. Упс. Теперь тикеты, по которым кто-то что-то делает, явно в трекере присвоены людям.

Re: Текущий прогресс по прошивке.

Posted: Sat Nov 23, 2013 4:31 am
by AndreyB
Кстати мы используем Doxygen генератор документации - так что нужно писать, писать и писать комментарии к коду.

На выходе получается вот в таком стиле: http://rusefi.com/docs/html/files.html

Re: Текущий прогресс по прошивке.

Posted: Sat Nov 23, 2013 8:31 am
by frig
Вынес cranking rpm в tuner studio

Re: Текущий прогресс по прошивке.

Posted: Sun Nov 24, 2013 2:25 am
by AndreyB
Писал еще документацию и немного улучшил инженерную консоль на основании комментариев @а

Re: Текущий прогресс по прошивке.

Posted: Sun Nov 24, 2013 1:57 pm
by AndreyB
@ научил, как сделать картинки в документацию - примерно вот так http://rusefi.com/docs/html/main__loop_8c.html

Re: Текущий прогресс по прошивке.

Posted: Tue Nov 26, 2013 3:02 pm
by AndreyB
Для @ добавился пока пустой конфиг audi_aan
Для @ добавилась вторая катушка зажигания и в принципе зажигание готово - нужно только будет вечером протестировать.

Re: Текущий прогресс по прошивке.

Posted: Thu Nov 28, 2013 3:31 am
by AndreyB
@а будем пробовать заводить с одним сигналом за оборот коленвала - этого должно хватить для тестирования. Ради этого улучшил главный обработчик события валов ну и добавил пятый инжектор.

@ улучшил конфиг документогенератора - теперь там очень интересные картинки генерируются, см. http://rusefi.com/docs/html/main__loop_8c.html

Протестировал через симулятор зажигание для @ - вроде всё работает.

Re: Текущий прогресс по прошивке.

Posted: Fri Nov 29, 2013 6:03 am
by AndreyB
Основная идея логики событий впрыска и зажигания сейчас - всё базируется на структуре данных, которая жёстко описывает список событий внутри оборота распредвала. Параметры событий могут варьироваться - зажигание может быть позже или раньше, время впрыска переменное - но количество событий фиксированно для данного двигателя.

Сделал сегодня для режима запуска двигателя отдельную карту этих событий. У меня тут холода вовсю, так что буду отдаживать холодный пуск в полный рост :)

Re: Текущий прогресс по прошивке.

Posted: Sat Nov 30, 2013 11:53 pm
by AndreyB
Сегодня наконец-то запустил двигатель опять с rusEfi зажиганием. Осталось проверить код бензонасоса - и можно собирать весь "блок" уже без участия стандартного блока.

Re: Текущий прогресс по прошивке.

Posted: Mon Dec 02, 2013 12:53 am
by AndreyB
@ продвинул вперёд https://sourceforge.net/p/rusefi/tickets/4/
@ продвинул вперёд https://sourceforge.net/p/rusefi/tickets/24/

Я продвинул вперёд https://svn.code.sf.net/p/rusefi/code/trunk/firmware/compile.bat - добавил вызов своей утилитки, которая рассказывает, на что мы тратим память. Сейчас там признаться ужас-ужас, есть над чем работать.

Re: Текущий прогресс по прошивке.

Posted: Tue Dec 03, 2013 3:36 am
by AndreyB
Порефакторил логгинг на основании вчерашнего достижения https://sourceforge.net/p/rusefi/tickets/4/

Re: Текущий прогресс по прошивке.

Posted: Sat Dec 07, 2013 3:58 pm
by AndreyB
@ улучшил работу с термисторами и добавил их в интеграцию c TS
@ продвинул вперёд https://sourceforge.net/p/rusefi/tickets/24/

Re: Текущий прогресс по прошивке.

Posted: Sun Dec 08, 2013 1:04 am
by AndreyB
Начал программировать электронный дроссель - просто модуль пришёл, очень хотелось поиграться :)

Re: Текущий прогресс по прошивке.

Posted: Thu Dec 12, 2013 2:57 am
by AndreyB
Добавил настройки и старт CAN шины.

Re: Текущий прогресс по прошивке.

Posted: Tue Dec 17, 2013 7:05 pm
by AndreyB
Тут кстати выяснилось, что нет прозрачности тактического плана. Так вот - напоминаю, тактический план можно всегда увидеть в трекере - все открытые тикеты, на которых стоит исполнитель - это как раз тикеты которые как раз сейчас в работе.

Прямо сейчас в работе:
1) пробуем завести хоть как-то Dodge Neon
2) задача корректно обработать сигнал MAP и перейти на работу по MAP сенсору, а это speed density. На таком наборе уже даже ездить можно. Зажигание есть - вынесем таблицы в TS и настройки dwell, этого достаточно для широкого спектра задач. Когда будет нормальное управление топливом - можно расширять и улучшать.
3) работа с HIP9011 для заведения в прошивку сигнала с датчика детонации

Re: Текущий прогресс по прошивке.

Posted: Fri Dec 20, 2013 4:41 pm
by AndreyB
@ самую малость забегая вперёд добавил CAN сигналы для приборных панелей пары европейцев - тепепь бы ему там код привести в порядок.

А я программирую аккуратно и хорошо MAP - для этого нужен удобный планировщик в зависимости от угла вала, а по-хорошему его нужно делать из текущего планировщика выходных сигналов, а по-хорошему для этого нужно научиться делать замеры времени. Так что сегодня я допортировал на С полезную структуру данных histogram.c

Re: Текущий прогресс по прошивке.

Posted: Sun Dec 22, 2013 6:46 am
by AndreyB
@ всё-таки немного прибрал CAN, теперь бы понять к чему его привлечь еще полезному :)

Мне кажется что я написал усреднение ДАД в заданном окне - можно читать map_averaging.c, завтра проверю его на машине. Рома, теперь твоя очередь что-нить добавить в сторону Speed Density?

Re: Текущий прогресс по прошивке.

Posted: Mon Dec 23, 2013 2:51 am
by AndreyB
Продвинул вперёд обработчик датчиков положения - перевожу всю логику с попугаев на углы коленвала.

Code: Select all

	triggerAddEvent(s, 53.747, T_SECONDARY, 1);
	triggerAddEvent(s, 121.90, T_SECONDARY, 0);
	triggerAddEvent(s, 232.76, T_SECONDARY, 1);
	triggerAddEvent(s, 300.54, T_SECONDARY, 0);
	triggerAddEvent(s, 360, T_PRIMARY, 1);

	triggerAddEvent(s, 409.8412, T_SECONDARY, 1);
	triggerAddEvent(s, 478.6505, T_SECONDARY, 0);
	triggerAddEvent(s, 588.045, T_SECONDARY, 1);
	triggerAddEvent(s, 657.03, T_SECONDARY, 0);
	triggerAddEvent(s, 720, T_PRIMARY, 0);
Структура сигнала теперь задаётся намного удобнее.

Re: Текущий прогресс по прошивке.

Posted: Mon Dec 23, 2013 2:20 pm
by AndreyB
В /docs/ появился первый абзац описания нашей системы.

Re: Текущий прогресс по прошивке.

Posted: Wed Dec 25, 2013 6:29 am
by AndreyB
Я переделал работу с конфигами двигателей - теперь одна и та же версия может содерждать несколько дефолтовых конфигов разных двигателей, для переключения появилась команда set_engine_type
Больше не придётся шаманить engines.h и компилировать каждому свою версию.

@ уже сделал большую половину вымигивания лампочкой Check Engine кодов ошибок - мы будем прямо стандартные OBD-II коды вымигивать. Ну и потом они же пойдут в CAN. Еще нужно придумать, как показывать коды ошибок - и вообще статусы и сообщения в TunerStudio.

Re: Текущий прогресс по прошивке.

Posted: Wed Dec 25, 2013 7:26 am
by frig
Image
Внизу в три ряда индикаторы. Очень удобно показывать режим, будь то кранкинг, прогрев, холостой ход, ускорение и так далее, и ошибки. Подсвечивается зеленым или красным.

Re: Текущий прогресс по прошивке.

Posted: Wed Dec 25, 2013 9:41 pm
by AndreyB
Таки прикрутил гистограму на обработчкик прерывания триггера, получил вот такую статистику:

Code: Select all

histogram [128 1215 6675 9450 25122]
Т.е. минимальное время порядка 100 тактов, типичное время - 6600 и максимальное время выполнения - 25000 тактов. Нужно понимать, что в этом обработчике у нас сейчас ВСЁ, включая формирование отчёта для двух отладочных графиков.

Вообще-то достаточно много. Придётся наворачивать более тонкое профилирование и разбираться, куда мы потралили 25000 тактов.

Это всё примерно shaft_position_input.c