Page 3 of 13

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

Posted: Sun Mar 23, 2014 3:04 pm
by AndreyB
Image

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

Posted: Sun Mar 23, 2014 4:54 pm
by puff
круто!
я пропустил, а входы тоже конфигурируются?
а есть защита от дурака? (проверка на "занятость" пина?)

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

Posted: Sun Mar 23, 2014 6:03 pm
by AndreyB
не пропустил - через TS начали только что конфигурироваться, пока только через консоль было
Image
с защитой от дурака - пока слабая достаточно

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

Posted: Sat Apr 05, 2014 12:15 am
by AndreyB
void prepareTimingMap(void) {
for (int k = 0; k < FUEL_LOAD_COUNT; k++)
timing_ptrs[k] = engineConfiguration->fuelTable[k];
initialized = TRUE;
}
Это, того... Нужно работать с кодом - кому-то нужно разобраться, что же я там напрограммил, и почтать. Будут вопросы - ну давайте добавлять больше документации. Потому что такие баги это п"№%"№ц :(

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

Posted: Tue Apr 08, 2014 11:41 am
by AndreyB
Второй двигатель быстрее раскручивается и пришлось под него улучшить управления зажиганием в переходных состояниях. Завёлся :)

[video][/video]

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

Posted: Tue Apr 08, 2014 12:21 pm
by puff
расскажи подробнее про обновленное управление зажиганием? скорость мотора по-прежнему определяется раз на оборот кв или уже по времени между зубьями?

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

Posted: Tue Apr 08, 2014 1:22 pm
by AndreyB
С учётом отсутствия точной информации о зубьях я опасаюсь рассчитывать что-то на основании длинны зуба. Расчёт остался по обороту, просто накопление начинается с отсчётом от ближайшего зуба, это улучшило ситуацию. Потом нужно будет и собсвенно искру сделать тоже отсчётом от ближайшего зуба - пока искра идёт отсчётом от начала накопления.

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

Posted: Mon Apr 14, 2014 11:07 pm
by AndreyB
Четыре двигателя завелись - вот теперь-то работы потенциально очень много, потому что на самом деле в прошивке сейчас нет почти ничего. И точность не очень до сих пор.

Так что я в печали - потому что те, кто я знаю мог бы попрограммировать - как-то не очень программируют... :twisted:

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

Posted: Thu Apr 17, 2014 9:22 pm
by AndreyB
@ крут - он починил экранчик!

А я ковыряю более правильный таймер.

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

Posted: Wed Apr 23, 2014 3:38 am
by AndreyB
Планировщик стал микросекундным и эффективным - сделан на базе 32битного 1МГц таймера, см SingleTimerExecutor.cpp

Для счастья еще нужно перейти на более эффективные и тоже микросекундные часы - и будет совсем хорошо. Это уже просто - код уже есть. 64-битные микросекундные часы работают на базе счётчика тиков процессора.

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

Posted: Fri Apr 25, 2014 4:24 am
by AndreyB
Сделал.

Время мы теперь считаем прямо в тиках процессора. Тики процессора переполняют int каждые 23 секунды, так что тики процессора считаем в 64 битовом таймере - для этого написал небольшой класс, который ловит переполнения аппаратного таймера. Аккуратно делим тики на 168 - и получаем микросекундный таймер. Соответственно сейчас я перевёл все обращения к таймеру на обращение к нашему личному-быстрому таймеру, и это позволило мне снизить частоту тиканья системного таймера операционной системы. Операционная система до этого тикала на 100KHz и это тяжёлая операция, это жрало почти весь проц - тики начинали тормозить, и тормозили они аж на 10%. Всё, снизил частоту тиканья системы до стандартных 1000Hz, и нам стало сильно лучше: генерация ШИМа перестала тормозить.

Завтра сделаю команду генерации тестового сигнала - можно будет тестировать генерации разных ШИМов параметров.

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

Posted: Fri Apr 25, 2014 7:07 am
by puff
класс! то есть благодаря канадскому другу и его настойчивости выловили и смогли устранить такой неплохой глюк? и внешний кварц оказался ненужен?

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

Posted: Fri Apr 25, 2014 7:36 am
by rus084
может поставить отдельные шим контроллеры?

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

Posted: Fri Apr 25, 2014 11:08 am
by AndreyB
ну это не глюк, точность повышать всегда планировалось рано или поздно

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

Posted: Tue Apr 29, 2014 10:16 am
by puff
тут вот товарищ тем же вопросом интересовался?
http://forum.easyelectronics.ru/viewtopic.php?f=49&t=18744

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

Posted: Tue Apr 29, 2014 11:31 am
by AndreyB
puff wrote:тут вот товарищ тем же вопросом интересовался?
http://forum.easyelectronics.ru/viewtopic.php?f=49&t=18744
Там товарищ мало что успел сказать, там за него додумывают, чего же он хотел. Но таки да, похоже.

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

Posted: Wed Apr 30, 2014 1:11 pm
by AndreyB
Как-бы добавил pwmtest FREQ команду, см. https://svn.code.sf.net/p/rusefi/code/trunk/firmware/controllers/PwmTester.cpp

Два нюанса: на билд сервере похоже старый компилятор, так что билд сервер не осилил, и похоже у меня всё-таки где-то бага в https://svn.code.sf.net/p/rusefi/code/trunk/firmware/controllers/system/SingleTimerExecutor.cpp - иногда видимо следующее срабатываение таймера оказывается не запланированным, и это генерацию сигналов останавливает. Вот бы кто нашёл баг, эххх....

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

Posted: Sat May 03, 2014 1:26 am
by AndreyB
Что-то я не могу осилить это баг, так что я пошёл на freelancer.com :(

https://www.freelancer.com/projects/C-Programming-Embedded-Software/stm-find-fix-bug-software.html

Image

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

Posted: Sat May 03, 2014 8:15 am
by puff
ты про жирные линии слева на втором р четвертом каналах?
может это конфликт с кодом в другом месте? (типа помимо шима их еще где-то кто-то дергает?)
кстати, сам шим в чем заключается? баги сохраняются при изменении наполнения?

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

Posted: Sat May 03, 2014 12:39 pm
by rus084
нет , там после секунды пропадает генерация шима .

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

Posted: Sat May 03, 2014 1:37 pm
by puff
тык там надо дебуг моде он, делать чекпоинты и трейсинить - небось быстрее, чем на фрилансере нанимать людей?

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

Posted: Sat May 03, 2014 1:45 pm
by AndreyB
@, вот как тебе ответить, чтоб не обидеть, а? :)

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

Posted: Sat May 03, 2014 2:29 pm
by puff
лучше не надо)
так это pwm или просто меандр?

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

Posted: Sat May 03, 2014 2:31 pm
by AndreyB
Вообще-то это ШИМ, но в данном случае он сконфигурирован как меандр - новое для меня слово.

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

Posted: Fri May 09, 2014 2:48 am
by AndreyB
Ууууууууууууффффф, вроде бы отладил

Image

5 микросекунд максимум дрожжания, который я вижу - програмно получается генерить 2КГц, каждый может попробовать частоты выше - см. PwmTester.cpp

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

Posted: Fri May 09, 2014 8:07 am
by puff
с победой! обошлось без фрилансера? в чем в итоге оказалась проблема?

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

Posted: Fri May 09, 2014 11:12 am
by AndreyB
puff wrote:в чем в итоге оказалась проблема?
проблема была где-то в коде работы с аппаратным таймером - перешёл на готовый драйвер и всё заработало.

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

Posted: Sun May 11, 2014 3:13 pm
by AndreyB
Image

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

Posted: Sun May 11, 2014 3:36 pm
by puff
хм. то есть если неиспользуемые поотключать - в тюнерстудии не будут отвлекать дергающиеся/зашкаливающие стрелки? :-)
а почему в английской ветке картинка другая?

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

Posted: Thu May 22, 2014 3:49 am
by AndreyB
Пока тишина на железном фронте (кто-то где-то интересно паяет платы? я знаю китайцы паяют 4 платы для чуваков с kickstarter) и у меня головняк с переездом, я порефакторю код - пора прибраться, и потом я хочу улучшить планирование зажигания, а то сейчас в момент прокрутки стартёром уж слишком всё гуляет.