Page 34 of 39

Re: Всякие глупые вопросы, терзающие меня

Posted: Fri May 19, 2017 8:29 pm
by puff
лучше на вопрос ответь! (ну правда)
при переполнении - соседние переменные не задеваются?
счет переполняемой переменной начинается с начала?

и про одометр скажи своё экспертное мнение, плз - я его сделал и проверил на своей приборке с разными коэффициентами датчика скорости и с проверкой правдоподобности счета (в меру своих умений - выставлял скорость, с секундомером считал время пройденного пути, сверял скорость на спидометре и расчетную - все совпадало), а russian измывается и отказывается пулреквест принимать. скажи ему, что если не менять всего смысла его каунтера одометра не получится..

Re: Всякие глупые вопросы, терзающие меня

Posted: Fri May 19, 2017 9:51 pm
by Maxi
А Я не знаю. Потому что это просто не нужно знать! Просто откомпилируй и посмотри код (всегда так делаю когда что то не знаю).
Но это опять же совет для нормальных людей - у которых один и тот же компилятор гарантировано дает один и тот же код и которые сами себе проблемы на ровном месте не изобретают.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sat May 20, 2017 7:16 am
by puff
Вот! компиляторы менять - зло!
А про одометр?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sat May 20, 2017 1:40 pm
by Maxi
puff wrote:Вот! компиляторы менять - зло!
А про одометр?
А что одометр? по моему все разжевано про одометр. Если кто то не понимает как работает подобная парадигма - ну это точно не мои проблемы.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sat May 20, 2017 3:35 pm
by puff
так у меня как раз все ок, за исключением того что пул-реквест не взяли.
и хз как угодить владельцу, чтобы закоммитил.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sat May 20, 2017 4:08 pm
by andreika
puff wrote:так у меня как раз все ок, за исключением того что пул-реквест не взяли.
Может быть, попробовать убрать все магические числа из кода? Засунуть их в говорящую константу или дефайн с комментариями, чтобы не было вот этих "0.277*2.58)*256":

Code: Select all

engine->engineState.mazdaOdoCounter += (uint16_t)(engineConfiguration->vehicleSpeedCoef * speedConversionCoef);

Re: Всякие глупые вопросы, терзающие меня

Posted: Sat May 20, 2017 4:35 pm
by puff
может быть. но как туда vsseventcounter впендюрить и зачем?
и еще хз как работают эти оптимизации. преобразование типов тоже же небесплатное?
у меня оно случалось один раз при инициализации, а потом - быстрое целочисленное сложение. скорее всего компилятор его, конечно, оптимизирует, но to be on the safe side, я это прямо прописал...

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 2:45 pm
by AndreyB
puff wrote: и еще хз как работают эти оптимизации. преобразование типов тоже же небесплатное?
http://wiki.c2.com/?PrematureOptimization
Плюс в твоём случае еще и оптимизация ценой дефекта - с твой оптимизацией замена коэффициента в онлайне не отрабатывает.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 2:52 pm
by puff
тоесть давайте хором просирать ресурсы, а потом думать, за счет чего бы их высвободить? ну ты сам-то головой думай?
к тому же
The key is balance. There are no answers, only questions.
тебе же и думать не пришлось...

про дефект - я не считаю это дефектом.
вот когда надо перезагружать плату, чтобы заработала выставленная в тюнер-студии частота RPM - вот это я считаю дефектом.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 2:57 pm
by AndreyB
@, наши мнения про использования ресурсов расходятся. Демократии в https://github.com/rusefi/rusefi совсем нет - поэтому твой PR в основную ветку не может пойти.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 2:59 pm
by puff
в предложеном @andreika виде войдет?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 3:03 pm
by AndreyB
puff wrote:в предложеном @andreika виде войдет?
Нет, потому что mazdaOdoCounter - это кажется всего-лишь engine->engineState.vssDebugEventCounter, на что-то умноженный.

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 5:39 pm
by puff
осознал.
теперь хз как отменить всю ту байду что я понапечатал. как вернуться к первоначальной версии и отменить изменения?
вот уже час пытаюсь найти хоть какое-то разумное описалово.
делете форк, креате форк, клон, и опять прокачивать гигабайты по сети?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun May 21, 2017 8:02 pm
by AndreyB

Re: Всякие глупые вопросы, терзающие меня

Posted: Tue May 23, 2017 10:34 pm
by AndreyB
Ты пожалуйста свои PR проверяй по возможности.
FATAL error: VSS: Not input pin PC2

Re: Всякие глупые вопросы, терзающие меня

Posted: Tue May 23, 2017 10:39 pm
by puff
фак. каюсь, не залил.
руководствовался второй картинкой отсюда
http://rusefi.com/forum/viewtopic.php?t=359
а почему ошибка?

Re: Всякие глупые вопросы, терзающие меня

Posted: Tue May 23, 2017 10:43 pm
by AndreyB
Так VSS это не аналоговых вход, это вход цифровых событий - как триггер, PA5 PC6 и так далее по списку, TIMxCH1 & TIMxCH2. ищи в коде по тексу ошибки, увидешь код проверки - увидишь список.

Re: Всякие глупые вопросы, терзающие меня

Posted: Tue May 23, 2017 11:05 pm
by puff
понял. вот зачем там эти зеленые провода. тогда придется оставить на pa5 - хотя туда были планы датчик холла повесить (оставшийся с трамблера)
хз какие пины там еще доступны на франкенштейне, так что пока так.
кстати, пока искал код
#if STM32_ICU_USE_TIM8
if (hwPin == GPIOC_6 ||
hwPin == GPIOC_7) {
return &ICUD9;
}
#endif
#if STM32_ICU_USE_TIM9
if (hwPin == GPIOA_2 ||
hwPin == GPIOA_3 ||
hwPin == GPIOE_5 ||
hwPin == GPIOE_6) {
return &ICUD9;
во всех остальных таймерах return &ICUD и номер таймера, а в TIM08почему-то выдается ICUD9 (хз что это все означает)

Re: Всякие глупые вопросы, терзающие меня

Posted: Wed May 24, 2017 12:05 am
by AndreyB
puff wrote:во всех остальных таймерах return &ICUD и номер таймера, а в TIM08почему-то выдается ICUD9 (хз что это все означает)
https://github.com/rusefi/rusefi/commit/3e9ff64c8d7f4198bbd7f699f3a19820604cf316

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 04, 2017 9:53 am
by puff
а сейчас на билд-сервере какая реализация усб/уарта?

я все со своей траблой (в надежде что исправитс когда-нибудь) с рабочего бука обновил только что плату и девконсоль.
и если раньше в девконсоли разница между ожидаемым и полученным была 192-256-320 байт, то теперь проверил на последнем десятке пакетов - каждый раз не хватает только 64 байт!!! то есть очеивдно, улучшения есть. а теперь вопрос - почему так?
может там какую-то минимальную задержку вставить перед тем, как формировать пакет усб?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 04, 2017 10:12 am
by puff
а еще судя по всему даже несмотря на эту проблему с усб мне удалось переключиться на свой конфиг мотора - иначе я не могу этого объяснить:
на буке делаю st-flash erase, свежая прошивка, свежая консоль, set engine_type 10 в условиях постоянного дисконнекта.

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

это значит все же с бука прописалось? не могла же консоль по старым настройкам сама выставить мотор?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 04, 2017 11:10 am
by andreika
puff wrote:очеивдно, улучшения есть. а теперь вопрос - почему так?
Может, из-за недавних мелких оптимизаций типа CH_DBG_STATISTICS=FALSE?

P.S. puff, а где твоя ветка в "Машинах, газонокосилках"? http://rusefi.com/forum/viewtopic.php?f=3&t=586 - она?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 04, 2017 11:24 am
by puff
а там писать пока не о чем
http://rusefi.com/forum/viewtopic.php?f=3&t=586

надо до машины добраться и хоть что-то собрать.

вкратце: карбовый мотор, есть желание переделать на инжектор.

куплен инжекторный впуск (правда, работоспособность форсунок под вопросом. как я понял, можно туда от жигулей-волги воткнуть)
поставлен репер 36/1 и датчик со схемой на lm1815. зимой перегонял авто в друго гараж - мой самопальный тахометр работал от этой без проблем. но осциллографом не смотрел и дискавери не подключал еще.

куплен модуль зажигания от жигулей с логическим управлением, но завести от русефи почему-то не удалось (есть подозрение что сам дурак, надо было сигнал инвертировать). по-быстрому собрал на ардуине - работала ок. нужно проверить и если все ок - купить второй.
куплен спартановский датчик кислорода - надо вварить гайку для установки.
куплен корпус под эбу.

нужно все привести в порядок, в корпус запихнуть и проводку провести. но вот уже очерденое лето, но пока никакой движухи..

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 04, 2017 3:20 pm
by AndreyB
puff wrote:а сейчас на билд-сервере какая реализация усб/уарта?
сейчас там не-DMA, потому что там предпочтение отданно HIP-у.

Пойми меня - я 99% времени живу на USB, я не понимаю, почему оно не работает у тебя :( Что-то где не так. На винде работает? На mac не работает? Тогда нужно искать chibios demo и воспроизводить проблему на ней - пытаться локализовать, что именно сломанно? Может сломанно в chibios?

А еще есть https://github.com/rusefi/rusefi/issues/429 - он готов. Там можно сделать blockingFactor 200 или 150 и попробовать? Я это сделал ради телеметрии по радио, я там вообще на 9600 работаю.

Ой, правда 9600 кажется нужно руками прописывать. Давай-ка я тикет заведу https://github.com/rusefi/rusefi/issues/437

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 04, 2017 3:31 pm
by puff
да блин, я сам не понимаю. оно перестало работать послет того, как эпыл переделала в новой ос свой усб-стек (может там в ohci и uhci поменялось что-то, или еще какие-то вещи).
но суть в том, что на старой макоси все окей работает - и тюнерстудия, и консоль.
а в новой макоси работает только тюнерстудия, а консоль - нет.

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

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

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 11, 2017 9:24 pm
by puff
я опять с глупым вопросом.

научился рулить бензострелкой

теперь на приборке остались гореть значки!
(ABS)
((!))
руль со знаком восклицания
и ремни безопасности

полез гуглить контакты, набрел на эту страницу
http://rusefi.com/wiki/index.php?title=Vehicle:Mazda_Rx8_2004
The CAN-bus id's in the case of the RX-8 (and likely Mazda6 / MX-5)
ID 300 is turn off Steering Warning Light, minimum 0.5 sec timing. ID 212 is abs, dsc off, traction control warning and brake warning, minimum 0.5 sec timing. ID 420 is temp, oil pressure gauge, coolent level, battery (alternator), oil warning and check engine light, minimum 5 second timing.
а на гитхабе

Code: Select all

#define CAN_MAZDA_RX_RPM_SPEED 0x201
#define CAN_MAZDA_RX_STATUS_1 0x212
#define CAN_MAZDA_RX_STATUS_2 0x420
то есть 300 пакета вовсе нету

Code: Select all

	commonTxInit(CAN_MAZDA_RX_STATUS_2);
	txmsg.data8[0] = 0xFE; //Unknown
	txmsg.data8[1] = 0xFE; //Unknown
	txmsg.data8[2] = 0xFE; //Unknown
	txmsg.data8[3] = 0x34; //DSC OFF in combo with byte 5 Live data only seen 0x34
	txmsg.data8[4] = 0x00; // B01000000; // Brake warning B00001000;  //ABS warning
	txmsg.data8[5] = 0x40; // TCS in combo with byte 3
	txmsg.data8[6] = 0x00; // Unknown
	txmsg.data8[7] = 0x00; // Unused

	commonTxInit(CAN_MAZDA_RX_STATUS_2);
	txmsg.data8[0] = (uint8_t)(engine->sensors.clt + 69); //temp gauge //~170 is red, ~165 last bar, 152 centre, 90 first bar, 92 second bar
	txmsg.data8[1] = ((int16_t)(engine->engineState.vssEventCounter*(engineConfiguration->vehicleSpeedCoef*0.277*2.58))) & 0xff;
	txmsg.data8[2] = 0x00; // unknown
	txmsg.data8[3] = 0x00; //unknown
	txmsg.data8[4] = 0x01; //Oil Pressure (not really a gauge)
	txmsg.data8[5] = 0x00; //check engine light
	txmsg.data8[6] = 0x00; //Coolant, oil and battery
	if ((getRpmE(engine)>0) && (engine->sensors.vBatt<13)) {
		setTxBit(6, 6); // battery light
	}
	if (engine->sensors.clt > 105) {
		setTxBit(6, 1); // coolant light, 101 - red zone, light means its get too hot
	}
	//oil pressure warning lamp bit is 7
	txmsg.data8[7] = 0x00; //unused
	sendMessage();
а тут два раза commonTxInit и только один раз sendMessage()

про 300 пакет пока нашел только такой кусок кода (типа пустой пакет отправляют?)

Code: Select all

/* Turn off steering Warning */

if(steering == 0 ) {
   CAN.setMessageID (message_id_300);
   CAN.sendByte (0); 
}
глупый вопрос такой: чем оправдывается необходимость даже для малейшего изменения заводить пул-реквест? если речь о скорости - так ли уж это быстрее с точки зрения разработчика?

Re: Всякие глупые вопросы, терзающие меня

Posted: Sun Jun 11, 2017 9:44 pm
by AndreyB
О! ты прав - там пакет 300 не посылался совсем, и пакет CAN_MAZDA_RX_STATUS_1 кажется формировался и не посылался? и два раза было CAN_MAZDA_RX_STATUS_2 по ошибке? как-то починил, уж не знаю - стало ли лучше. https://github.com/rusefi/rusefi/commit/115a2c1c010b9b1bf3f025e436ccacc5b0d876a8 и https://github.com/rusefi/rusefi/commit/abbfdff5c4dc0e7806f90e9eaf5f390ce9e57a6c
puff wrote:глупый вопрос такой: чем оправдывается необходимость даже для малейшего изменения заводить пул-реквест? если речь о скорости - так ли уж это быстрее с точки зрения разработчика?
А какие альтернативы?

Re: Всякие глупые вопросы, терзающие меня

Posted: Thu Aug 03, 2017 8:06 pm
by puff
возвращаясь к своему барану, а сейчас есть возможность увидеть кол-во событий vss или тот debugcount устранен и все, теперь нет такой возможности? (чтобы можно было проехать сто метров, посмотреть счетчик и посчитать коэффициент)

Re: Всякие глупые вопросы, терзающие меня

Posted: Fri Aug 04, 2017 1:01 am
by AndreyB
Добавил информацию в http://rusefi.com/wiki/index.php?title=Manual:Debug_fields

debugMode=VSS
if (engineConfiguration->debugMode == DBG_VEHICLE_SPEED_SENSOR) {
tsOutputChannels->debugIntField1 = engine->engineState.vssEventCounter;
}

Re: Всякие глупые вопросы, терзающие меня

Posted: Fri Aug 04, 2017 11:19 am
by puff
попался под руку usb-serial шнурок на пролифике
ну я его и подключил.
сначала он не хотел соединяться с консолью - на скорости 115К
я по мануалу подключил на 38К к терминалу, он ответил ок.
Снимок экрана 2017-08-04 в 14.06.24.png
Снимок экрана 2017-08-04 в 14.06.24.png (263.89 KiB) Viewed 18612 times
тогда я выставил эту скорость и на консоли - вроде подключилось.
но! в заголовке firmware=n/a- так и остается.
плюс раньше там вроде был удобный счетчик, мол, прошивка живая - теперь его нету...
Снимок экрана 2017-08-04 в 14.12.35.png
Снимок экрана 2017-08-04 в 14.12.35.png (271.75 KiB) Viewed 18612 times
то есть вроде как за решение сойдет - отдельный адаптер к плате.
но на что это указывает? очевидно, что-то не так в драйвере усб в чибиосе?

про debug fields - осталось понять, как применять эту табличку. в консоли ничего похожего не нашел. в описании в вики - понятно, для чего, но решительно не понятно, как пользоваться.