Протокол обмена данными

Обсуждаем все что касается программ для персонального компьютера:
менеджер, логгер, автопостроитель кривых УОЗ и т.д.
User avatar
darxfame
Posts: 901
Joined: 10 Jul 2015, 19:12
Your CAR: ИЖ 2126 УМПО 1,7
SECU version: official SECU-3T
Location: Москва
Has thanked: 122 times
Been thanked: 137 times
Contact:

Re: Протокол обмена данными

Post by darxfame »

alvikagal wrote:Полученные данные ГД и ВЗ:

Code: Select all

uint8_t choke_pos;
uint8_t gasdose_pos;

Что с ними нужно сделать? Умножить на шаг 0,5, чтобы получить проценты?
А можно мне примеры перекинуть? мне с этим тоже разбираться. Ну и отмечусь)
ИЖ 2126 Ода, УМПО 3317,Январь 5.1 (Был Secu-3T M644), Фазированный впрыск(ДАД+ДТВ) (был Моновпрыск C16NZ)
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Протокол обмена данными

Post by STC »

Что с ними нужно сделать? Умножить на шаг 0,5, чтобы получить проценты?
Да.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
alvikagal
Posts: 4657
Joined: 18 Sep 2013, 01:58
Your CAR: ВАЗ-21099 1,5л.
SECU version: official SECU-3i TBZ
Location: Украина, Павлоград
Has thanked: 624 times
Been thanked: 1020 times
Contact:

Re: Протокол обмена данными

Post by alvikagal »

Скажи, ты программно в менеджере ограничиваешь температуру до -37 или это данные так передаёт. Не могу с температурой разобраться, как вывести на экран отрицательное число.
Делаю так:

Code: Select all

	lcd_com(0xC7);
	if (temperat<0)
		{
		lcd_dat('-');
		data_=temperat*(-1);
		}
60-2/SECU-3iTBZ-v4.9/бенз-газ/ДПДЗ/ДТВ/УДК/ГБО-4/ВЗ.
Отчёт ГБО-4 на карбюратор с SECU-3i - http://secu-3.org/forum/viewtopic.php?f=19&t=1549
Продаю бортовой компьютер - viewtopic.php?p=47182#p47182
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Протокол обмена данными

Post by STC »

Нет, не ограничиваю.
Переменная temperat у тебя в программе какого типа? int или unsigned int
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
alvikagal
Posts: 4657
Joined: 18 Sep 2013, 01:58
Your CAR: ВАЗ-21099 1,5л.
SECU version: official SECU-3i TBZ
Location: Украина, Павлоград
Has thanked: 624 times
Been thanked: 1020 times
Contact:

Re: Протокол обмена данными

Post by alvikagal »

int16_t temperat
60-2/SECU-3iTBZ-v4.9/бенз-газ/ДПДЗ/ДТВ/УДК/ГБО-4/ВЗ.
Отчёт ГБО-4 на карбюратор с SECU-3i - http://secu-3.org/forum/viewtopic.php?f=19&t=1549
Продаю бортовой компьютер - viewtopic.php?p=47182#p47182
alvikagal
Posts: 4657
Joined: 18 Sep 2013, 01:58
Your CAR: ВАЗ-21099 1,5л.
SECU version: official SECU-3i TBZ
Location: Украина, Павлоград
Has thanked: 624 times
Been thanked: 1020 times
Contact:

Re: Протокол обмена данными

Post by alvikagal »

Разобрался.

Code: Select all

	uint16_t temperat_;
	int16_t temperat;

	temperat_ = SENSOR_DAT[6];		// coolant temperature	
	temperat_ = (temperat_<<8) + SENSOR_DAT[7];
	temperat=(int16_t)temperat_;
	temperat=temperat*2.5;
60-2/SECU-3iTBZ-v4.9/бенз-газ/ДПДЗ/ДТВ/УДК/ГБО-4/ВЗ.
Отчёт ГБО-4 на карбюратор с SECU-3i - http://secu-3.org/forum/viewtopic.php?f=19&t=1549
Продаю бортовой компьютер - viewtopic.php?p=47182#p47182
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Протокол обмена данными

Post by STC »

А зачем на 2.5 умножается? Там нужно делить на 4.0, а не умножать на 2.5
Значение в пакете данных, приходящее от SECU-3 это значение умноженное на 4 (дискретность 0.25 градуса).
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
alvikagal
Posts: 4657
Joined: 18 Sep 2013, 01:58
Your CAR: ВАЗ-21099 1,5л.
SECU version: official SECU-3i TBZ
Location: Украина, Павлоград
Has thanked: 624 times
Been thanked: 1020 times
Contact:

Re: Протокол обмена данными

Post by alvikagal »

Ага, спасибо, теперь понял свою ошибку. Буду умножать на 0.25, в целях экономия места программе. Деление больше места и времени занимает.
Уже вывел данные пакета на LCD20*04, пока влазит в atmega8, но наверно придётся переходить на atmega328, чтобы мой гомнокод влез с желаемыми функциями.
Спасибо, Алексей за помощь.
60-2/SECU-3iTBZ-v4.9/бенз-газ/ДПДЗ/ДТВ/УДК/ГБО-4/ВЗ.
Отчёт ГБО-4 на карбюратор с SECU-3i - http://secu-3.org/forum/viewtopic.php?f=19&t=1549
Продаю бортовой компьютер - viewtopic.php?p=47182#p47182
User avatar
STC
Posts: 13843
Joined: 30 Apr 2013, 23:41
Your CAR: AZLK 2140
SECU version: DIY SECU-3
Location: North Korea
Has thanked: 2160 times
Been thanked: 4335 times
Contact:

Re: Протокол обмена данными

Post by STC »

Да, лучше перейти на 328, так как числа с плавающей запятой сжирают много ресурсов, но когда мало опыта в программировании, то лучше так, чем извращаться как я с целыми числами. Тем более, что цена 328 не сильно отличается от 8.
Главное, не используй операции с палавающей запятой в прерываниях.
Author of the SECU-3™ project http://SECU-3.org. An open source engine control unit / Ignition control system, (C) 2007.
Клуб проекта в Facebook https://www.facebook.com/groups/secu3club
Клуб проекта ВКонтакте https://vk.com/secu3club (вступаем!)
Samtorr
Posts: 342
Joined: 16 Jun 2015, 21:45
Your CAR: Golf II 1.3i
SECU version: DIY SECU-3T
Has thanked: 11 times
Been thanked: 114 times

Re: Протокол обмена данными

Post by Samtorr »

alvikagal wrote: Буду умножать на 0.25, в целях экономия места программе.
В целях экономии места лучше сделать так:

Code: Select all

x>>2
Хотя, умный компилятор и сам так сделает
Post Reply

Return to “Программное обеспечение для ПК и релизы ПО”