RusEfi

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
Вот именно глядя на будущее - писать нужно платформо-независимо
мля)) это ваще бред. кросплатформенность нужна для писи-мобил-гаджетов. а не для автомобиля.

Вот именно глядя на будущее начинать нужно 100% юридически чисто - как я.
ОООО!!!! вот э
то ваще апафиоз всего и вся! дальше вообще можно не продолжать. это скажет любой инженер. ну в смысл настоящий.
это бич нашего времени - когда за изготовление берутся менеджеры отодвигая и уничтожая инженеров - вот тут и началась жопа с одноразовыми вещами.

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

я даже на си для процов пишу как на ассемблере.
например чтоб разобрать поток команд в 485 шине мне подлсказали вставить парсер строк. ну я вставил - он сожрал 3 килобайта памяти. я его выкинул и написал по своему - вся прога заняла 1кБ.

пример вот он, чтобю ты не звиздел тут что я не разбираюсь с прошивках

void USART1_IRQHandler ()
{
A = USART1->RDR;
USART1->RQR = USART_RQR_RXFRQ;

/*GPIOA->ODR = 255;
delay(50);
GPIOA->ODR = 0;
delay(50);
*/

if (c2==0&&A==0x41) { c2=1; return;} //a
if (c2==1&&A==0x44) { c2=2; return;} //d
if (c2==2&&A==0x52) { c2=3; return;} //r
if (c2==3&&A==0x45) { c2=4; return;} //e
if (c2==4&&A==0x53) { c2=5; return;} //s
if (c2==5&&A==0x31) { c2=6; return;} //1
if (c2==6&&A==0x35) { c2=7; return;} //5
if (c2==7&&A==0X5F) { c2=8; return;} //_
if (c2==8)

{
switch (A)
{
case 0x41: GPIOA->BSRR = (1<<21); break;
case 0x42: GPIOA->BSRR = (1<<22); break;
case 0x43: GPIOA->BSRR = (1<<23); break;
case 0x44: GPIOB->BSRR = (1<<17); break;

case 0x45: GPIOA->BSRR = (1<<25); break;
case 0x46: GPIOA->BSRR = (1<<26) ; break;
case 0x47: GPIOB->BSRR = (1<<29); break;
case 0x48: GPIOB->BSRR = (1<<30); break;



case 0x30: GPIOA->BSRR = (1<<5); break;
case 0x31: GPIOA->BSRR = (1<<6) ; break;
case 0x32: GPIOA->BSRR = (1<<7); break;
case 0x33: GPIOB->BSRR = (1<<1) ; break;

case 0x34: GPIOA->BSRR = (1<<9); break;
case 0x35: GPIOA->BSRR = (1<<10); break;
case 0x36: GPIOB->BSRR = (1<<13); break;
case 0x37: GPIOB->BSRR = (1<<14) ; break;

}

c2=0;
/*
USART1->CR1 &= ~(USART_CR1_RE);
puthex(A, 3);
USART1->CR1 |= USART_CR1_RE;
*/
}
c2=0;
это кусок который управляет светом в гостиничном комплексе - вся система работает почти год уже

заметь - тут нет дурацких записей типа - set porta.bit5 итипа того. кросплатформенности нету зато все четко и лаконично. и код не пухнет пока препроцессор линкера разгр**** всякие там вложения имакросы
 
Последнее редактирование:

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
наумиляться не могу какое чистое, ничем не замутненное сознание...
да. тутты прав - сознание уменя чистое поэтому я во всех областях техники разбираюсь и все приборы моторы машины и много чего еще работает. с первого раза.
тут про меня знают что у меня таз ездил без поломок 5 лет. про другие области моей работы не знают почти, но поверь и там у меня все сразу работает. хочешь телефоны директоров всех моих дам.
 

andrey2

Местный
Регистрация
11.01.2015
Сообщения
116
Лайки
1
:) да, только ассемблер, только хардкок! онлайн настройка не нужна, визуализация не нужна, чёрную магию в массы :)

Лудди́ты (англ. luddites) — участники стихийных протестов первой четверти XIX века против внедрения машин в ходе промышленной революции в Англии, которые считали, что их рабочим местам угрожает опасность. Часто протест выражался в погромах и разрушении машин и оборудования.
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
:) да, только ассемблер, только хардкок! онлайн настройка не нужна, визуализация не нужна, чёрную магию в массы :)

Лудди́ты (англ. luddites) — участники стихийных протестов первой четверти XIX века против внедрения машин в ходе промышленной революции в Англии, которые считали, что их рабочим местам угрожает опасность. Часто протест выражался в погромах и разрушении машин и оборудования.
ты какую то дичь несешь ваще!! если я прошивку мозга пишу на ассемблере то почему невозможна онлайн настройка? мне чтото не позволяет все так же обрабатывать потоки с усарта чтоли?))))
ты про комп - я понимаю. дык ты сначала напиши стабильную прошивку а потом уж украшай то что на компе крутится, делай для винды, для линуха, для айфона, для андроида итп...
у меня друг один, программист както сказал - когда люди не умеют по нормальному написать рабочую вещь они начинают украшения вводить - разноцветные лампочки, окошечки, переносить это все гавно на разные процы итп....... а основное тело как не работало так и не работает.
вот ты вообще начал именно с украшений. потому что не разбираешься ни в процах, ни в том как они внутри работают, ни в моторах...сам же написал.

у макси вон любой мотор настраивается за час. а прошивка написана на ассембере. а то что на компе - вообще тупо КОНСОЛЬНАЯ ТЕРМИНАЛКА!!! никаких украшений. зато все работает уже как 15 лет!!!
задумайся
 

santos

Старожил
Регистрация
21.11.2009
Сообщения
16,010
Лайки
8,030
Адрес
Московская область
ты ошибаешься тут несколько раз, но это не важно.

Откуда изначальная калибровка я не помню. Нормальному даташиту я бы был рад, но вот его естесвенно никто не опубликует - или я ошибаюсь? dodge neon 2003, если что. Новая калибровка - из книжки https://books.google.com/books?id=3q85p56_PxIC лучше источника я не нашел.
Даже даташит особо не нужен, если его нет под рукой ... Тупо на столе, берёшь вакуумную трубочку, врезаешь тройник к которому подключаешь манометр/вакуумметр, далее с одной стороны трубочки подключаешь шприц (которым будешь создавать давление/ разряжение), с другого конца трубочки подсоединяешь дад. Дад запитываешь, берёшь вольтметр, записываешь показание на сигнальном проводе и давление по манометру (получаешь точку при нормальном атмосферном давлении), потом создаешь с помощью шприца максимальное разряжение и опять записываешь напряжение-давление ... И вот у тебя две точки по которым ты уже можешь выстроить калибровку.
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
если я лудит то ты да - ты современный менеджер. всё шоколадно. одна только проблемка есть, небольшая такая
я не разбираюсь в двигателях вообще и электронике совсем.
и я не лудит. я человек который очень хорошо разбирается в электронике, в процах - на уровне как он работает внутри, что и как делает алу память и все остальное, какие флаги когда выставляются в сфр, когда можно разрешить прерывание а когда нельзя ибо оно на другое наедет итп.
кога я изучаю новый проц я читаю пдф о его железе. рассматриваю как каждый бит работает в той или иной периферии.
а такие как ты -

#include<stdio.h>
#include"STM32_Init.h"
usart_init(9600);
printf "**** memory economy"

и чо оно там сделало - хз. сожрало 2кБ - да и хрен с ним.
а еще printf отожрало 5кб - да и похер - у меня 512кБ на брту
ты же менеджер. сам написал - пока не надо ничо оптимизировать не надо и не буду

в моторах я тоже нормально разбираюсь - сам собирал разные, знаю когда и почему они детонят, как детонят - от калилки или от плохого бенза итп.
я программирую процы по старой школе. а ты их даже не программируешь - ты пишешь облако команд, не разбирая что именно какая команда на сишнике делает в машинных кодах. поэтому у макси (а он тоже работает по старой методике) проц 82 года выпуска на 8 мегагерцах не грузится на 100% а у тебя 32битный проц 2010 года на частоте 150 мгц загрузился.

по моему надо удавить свое чсв и прислушаться, посоветоваться. не со мной. с теми кто по настоящему автомобильные мозги пишет. и у кого они работают, в отличии от твоих
 
Последнее редактирование:

santos

Старожил
Регистрация
21.11.2009
Сообщения
16,010
Лайки
8,030
Адрес
Московская область
induke,

Лёх, очень большие дяди делают вот уже с 1997 года так - http://www.etas.com/en/products/ascet_software_products.php

Но здесь речь не про тот уровень. Поэтому да, только хардкор, только ассемблер, опросы только в фазовых окнах ... это как детонация - зачем нам АЦП ДД опрашивать постоянно, собирая всё подряд на 10 КГц, когда надо получить с него данный в определенном фазовом окне с привязкой к конкретному цилиндру ... детонация в конкретном цилиндре не может быть на протяжении всех двух оборотов коленвала.
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
здесь речь не про тот уровень
да блин.
он считает что я перед ним просто пантуюсь и прикладываю его. тролль и пишу ему огрызки гдето прочитанных кусочков фраз.
зря это он так думает. троллиться это не мой стиль. хочется человеку указать путь, но человеку не дает его чсв прислушаться
 

andrey2

Местный
Регистрация
11.01.2015
Сообщения
116
Лайки
1
зачем нам АЦП ДД опрашивать постоянно, собирая всё подряд на 10 КГц
Я использую в stm32 два АЦП, каждый опрашивает несколько каналов сразу. 10 КНц нужны не ДД, а ДАД - а ДД просто живёт в той же быстрой группе, что и ДАД. В той же быстрой группе TPS и MAF. А второй АЦП - для всех медленных датчиков.

См. https://svn.code.sf.net/p/rusefi/code/trunk/firmware/hw_layer/adc_inputs.cpp
 

andrey2

Местный
Регистрация
11.01.2015
Сообщения
116
Лайки
1
хочется человеку указать путь, но человеку не дает его чсв прислушаться
напиши мне в личку свой телефон может быть, или давай я тебе свой напишу? я думаю проще голосом поболтать немного и понять друг друга - а то мы пока совсем друг друга не понимаем.
 

santos

Старожил
Регистрация
21.11.2009
Сообщения
16,010
Лайки
8,030
Адрес
Московская область
Я использую в stm32 два АЦП, каждый опрашивает несколько каналов сразу. 10 КНц нужны не ДД, а ДАД - а ДД просто живёт в той же быстрой группе, что и ДАД. В той же быстрой группе TPS и MAF. А второй АЦП - для всех медленных датчиков.

См. https://svn.code.sf.net/p/rusefi/code/trunk/firmware/hw_layer/adc_inputs.cpp

Январь в целом делает так:

"Осреднение сигнала ДАД производится по специальному алгоритму, нечувствительному к пульсациям давления во впускной трубе при изменении фазового положения коленвала.

Частота опроса ДАД зависит от оборотов двигателя и позволяет всегда иметь достоверную информацию об абсолютном давлении предыдущего рабочего цикла при любых оборотах двигателя.


Фильтрованный сигнал абсолютного давления пересчитывается сначала в цикловое наполнение, затем в массовый расход воздуха."
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
ща домой вернусь.....
 

induke

Модератор
Команда форума
Регистрация
13.12.2009
Сообщения
29,306
Лайки
3,330
мрв нужен только для вывода на диагностический экран при всем при это
 

andrey2

Местный
Регистрация
11.01.2015
Сообщения
116
Лайки
1
сняли катализатор, прогрели, сделали 60% дизель 40% 87 бензин.

нет детонации на холостых - ни на богатой смеси, ни на бедной. Коптит чертовски, соседи переживали. Завтра попробую попробовать больше дизеля залить где-нить подальше от людей.
 

mivaol

Абориген
Регистрация
04.11.2013
Сообщения
2,353
Лайки
9
Не детонит на холостых нужна нагрузка как буд то в горку трогаться
 
Регистрация
04.12.2010
Сообщения
1,888
Лайки
2
Andrey2 изучай теорию двс, какие процессы протекают в моторе, на хх какой расход воздуха? Какая температура в кс ? Как заставить смесь не гореть а детонировать?
Не пытался так е*ать моторы, но пробуй смесь на грани горения богатую, и угол в-опережение, тебе-нужно калильное зажигание, свечи максимально горячие поставь, но чтоьы они в поршня не уперались, а то видел мотор у которого поршня прогорели прям в том месте где электрод свечи был в 1мм от поршня.
 

midnightracer

Старожил
Регистрация
08.03.2011
Сообщения
17,113
Лайки
1,466
поставь на него январь и забей на всю эту свою фигню !