круто!
я пропустил, а входы тоже конфигурируются?
а есть защита от дурака? (проверка на "занятость" пина?)
Re: Текущий прогресс по прошивке.
Posted: Sun Mar 23, 2014 6:03 pm
by AndreyB
не пропустил - через TS начали только что конфигурироваться, пока только через консоль было
с защитой от дурака - пока слабая достаточно
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
Четыре двигателя завелись - вот теперь-то работы потенциально очень много, потому что на самом деле в прошивке сейчас нет почти ничего. И точность не очень до сих пор.
Так что я в печали - потому что те, кто я знаю мог бы попрограммировать - как-то не очень программируют...
Планировщик стал микросекундным и эффективным - сделан на базе 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: Sat May 03, 2014 12:39 pm
by rus084
нет , там после секунды пропадает генерация шима .
Re: Текущий прогресс по прошивке.
Posted: Sat May 03, 2014 1:37 pm
by puff
тык там надо дебуг моде он, делать чекпоинты и трейсинить - небось быстрее, чем на фрилансере нанимать людей?
Вообще-то это ШИМ, но в данном случае он сконфигурирован как меандр - новое для меня слово.
Re: Текущий прогресс по прошивке.
Posted: Fri May 09, 2014 2:48 am
by AndreyB
Ууууууууууууффффф, вроде бы отладил
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
Re: Текущий прогресс по прошивке.
Posted: Sun May 11, 2014 3:36 pm
by puff
хм. то есть если неиспользуемые поотключать - в тюнерстудии не будут отвлекать дергающиеся/зашкаливающие стрелки?
а почему в английской ветке картинка другая?
Re: Текущий прогресс по прошивке.
Posted: Thu May 22, 2014 3:49 am
by AndreyB
Пока тишина на железном фронте (кто-то где-то интересно паяет платы? я знаю китайцы паяют 4 платы для чуваков с kickstarter) и у меня головняк с переездом, я порефакторю код - пора прибраться, и потом я хочу улучшить планирование зажигания, а то сейчас в момент прокрутки стартёром уж слишком всё гуляет.