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

Обсуждаем все что касается программ для персонального компьютера:
менеджер, логгер, автопостроитель кривых УОЗ и т.д.
Post Reply
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 »

Тоже на 32 нужно делить, чтобы получить УОЗ?
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 »

Да.
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 »

Что нужно делать со значением лямбды, чтобы получить корректные данные? Делить на 4?
И с ускорением ДПДЗ?
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 »

Что нужно делать со значением лямбды, чтобы получить корректные данные?
Делить на 512
И с ускорением ДПДЗ?
Если ты имеешь в виду скорость открытия/закрытия ДПДЗ, то значение уже в %/cек. А ускорение это уже вторая производная и мы его не вычисляем.
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 »

Спасибо.
А длительность впрыска? И сколько знаков после запятой? И значение в мсек.?
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 »

Длительность впрыска в тиках таймера, 1 тик = 3.2мкс
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 (вступаем!)
Yaroslav
Posts: 17
Joined: 23 Dec 2017, 21:16
Your CAR: Vaz 21093
SECU version: official SECU-3T
Location: Київ
Has thanked: 3 times
Been thanked: 3 times

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

Post by Yaroslav »

Есть несколько вопросов.
Прошивка 23072018. Получаю какой то слишком длинный пакет:
40 71 04 4C 06 6A 15 31 01 75 02 26 00 00 00 00 03 00 45 00 01 44 02 CE 00 00 00 00 00 00 00 00 00 00 00 00 B6 7F FF 02 0A 82 7F FF FF F1 00 00 FF F5 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 58 19 53 0D
40 71 - @ q, начало пакета, SENSOR_DAT
0A 82 - Это, как я понял резервные байты.
0D - /r, окончание пакета.

Главное что интересует, какие байты соответствуют описанию пакета SENSOR_DAT из http://secu-3.org/opisanie-protokola-ob ... n/?lang=RU ?
Надеюсь это первые 24 байта?)
Не плохо было бы где то почитать про остальные байты в пакете.
21093, карб / SECU-3T, 60-2, ДПКВ, ДТОЖ, МЗ-042.3705.
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 »

Из последней прошивки:

Code: Select all

  case SENSOR_DAT:
#ifdef SEND_INST_VAL
   build_i16h(d.sens.inst_frq);          // instant RPM
#else
   build_i16h(d.sens.frequen);           // averaged RPM
#endif
#ifdef SEND_INST_VAL
   build_i16h(d.sens.inst_map);          // instant MAP pressure
#else
   build_i16h(d.sens.map);               // averaged MAP pressure
#endif
#ifdef SEND_INST_VAL
   build_i16h(d.sens.inst_voltage);      // instant voltage value
#else
   build_i16h(d.sens.voltage);           // voltage (avaraged)
#endif
   build_i16h(d.sens.temperat);          // coolant temperature
   build_i16h(d.corr.curr_angle);        // advance angle
   build_i16h(d.sens.knock_k);           // knock value
   build_i16h(d.corr.knock_retard);      // knock retard
   build_i8h(d.airflow);                 // index of the map axis curve
   //boolean values
   build_i16h(_CBV16(d.ie_valve, 0) |    // IE flag
              _CBV16(d.sens.carb, 1) |   // carb. limit switch flag
              _CBV16(d.sens.gas, 2) |    // gas valve flag
              _CBV16(d.fe_valve, 3) |    // power valve flag
              _CBV16 (d.ce_state, 4) |   // CE flag
              _CBV16(d.cool_fan, 5) |    // cooling fan flag
              _CBV16(d.st_block, 6) |    // starter blocking flag
#if defined(FUEL_INJECT) || defined(GD_CONTROL)
              _CBV16(d.acceleration, 7) |// acceleration enrichment flag
#else
              _CBV16(0, 7) |
#endif

#if defined(FUEL_INJECT) || defined(GD_CONTROL)
              _CBV16(d.fc_revlim, 8) |   // fuel cut rev.lim. flag
#else
              _CBV16(0, 8) |
#endif
              _CBV16(d.floodclear, 9) |  // flood clear mode flag
              _CBV16(d.sys_locked, 10)); // system locked flag (immobilizer)

#ifdef SEND_INST_VAL
   build_i8h(d.sens.inst_tps);           // instant TPS (0...100%, x2)
#else
   build_i8h(d.sens.tps);                // TPS (0...100%, x2)
#endif

#ifdef SEND_INST_VAL
   build_i16h(d.sens.inst_add_i1);       // instant ADD_I1 voltage
#else
   build_i16h(d.sens.add_i1);            // averaged ADD_I1 voltage
#endif
   build_i16h(d.sens.add_i2);            // ADD_I2 voltage
   build_i16h(d.ecuerrors_for_transfer); // CE errors
   build_i8h(d.choke_pos);               // choke position
   build_i8h(d.gasdose_pos);             // gas dosator position
#ifdef SPEED_SENSOR
   build_i16h(d.sens.speed);             // vehicle speed (2 bytes)
   build_i24h(d.sens.distance);          // distance (3 bytes)
#else
   build_i16h(0);
   build_i24h(0);
#endif
#ifdef FUEL_INJECT
   build_i16h(d.inj_fff);                // instant fuel flow (frequency: 16000 pulses per 1L of burnt fuel)
#else
   build_i16h(0);
#endif
#ifdef AIRTEMP_SENS
   if (IOCFG_CHECK(IOP_AIR_TEMP))
    build_i16h(d.sens.air_temp);
   else
    build_i16h(0x7FFF);                   //<--indicates that it is not used, voltage will be shown on the dashboard
#else
   build_i16h(0);
#endif

   //corrections
   build_i16h(d.corr.strt_aalt);         // advance angle from start map
   build_i16h(d.corr.idle_aalt);         // advance angle from idle map
   build_i16h(d.corr.work_aalt);         // advance angle from work map
   build_i16h(d.corr.temp_aalt);         // advance angle from coolant temperature correction map
   build_i16h(d.corr.airt_aalt);         // advance angle from air temperature correction map
   build_i16h(d.corr.idlreg_aac);        // advance angle correction from idling RPM regulator
   build_i16h(d.corr.octan_aac
#ifdef PA4_INP_IGNTIM
   + d.corr.pa4_aac
#endif
                               );         // octane correction value

#if defined(FUEL_INJECT) || defined(CARB_AFR) || defined(GD_CONTROL)
   build_i16h(d.corr.lambda);            // lambda correction
#else
   build_i16h(0);
#endif

#ifdef FUEL_INJECT
   build_i16h(d.inj_pw);                 // injector pulse width
#else
   build_i16h(0);
#endif

#if defined(FUEL_INJECT) || defined(GD_CONTROL)
   build_i16h(d.sens.tpsdot);            // TPS opening/closing speed
#else
   build_i16h(0);
#endif

#ifndef SECU3T //SECU-3i
   build_i16h(d.sens.map2);
   build_i16h(d.sens.tmp2);
#else
   build_i16h(0);
   build_i16h(0);
#endif

#if defined(FUEL_INJECT) || defined(CARB_AFR) || defined(GD_CONTROL)
   build_i16h(d.sens.afr);
#else
   build_i16h(0);
#endif

   build_i16h(d.load);
   build_i16h(d.sens.baro_press);
   break;
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 (вступаем!)
Yaroslav
Posts: 17
Joined: 23 Dec 2017, 21:16
Your CAR: Vaz 21093
SECU version: official SECU-3T
Location: Київ
Has thanked: 3 times
Been thanked: 3 times

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

Post by Yaroslav »

STC, спасибо за протокол.
Хочу кое что уточнить. На build_i24h(d.sens.distance); попадает такая последовательность: FF 02 [0A 82], на сколько я понял, ее нужно читать как FF 02 40, так? Это защита от ложного срабатывания флага начала пакета?

В конце есть строки:

build_i16h(d.load);
build_i16h(d.sens.baro_press);

Они передаются в пакете или нет? Байты в пакете закончились, а эти строки остались.

P.S. Я в программировании чайник, только начал изучать arduino. Так что если буду задавать глупые вопросы, не сердитесь пожалуйста!)
21093, карб / SECU-3T, 60-2, ДПКВ, ДТОЖ, МЗ-042.3705.
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 »

Да, в пакете. Если у тебя последний предрелиз, то всё должно быть нормально.
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
Post Reply

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