Бортовой компьютер для Опель Зафира.

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

В вашем сниффе немного неправильно скомпанованы кадры, поэтому затруднительно понимать что к чему. Сначала пытаемся увидеть зависмости и выловить начала и концы кадров, у меня получилось так:

81 11 F1 3E C1 // запрос поддержания связи (присутствия)
	 	81 F1 11 7E 1
 81 11 F1 3E C1  // запрос поддержания связи (присутствия)
		81 F1 11 7E 1
 81 11 F1 3E C1 // запрос поддержания связи (присутствия)
		81 F1 11 7E 1
 81 11 F1 81 4 // запрос Keyword - ов
		83 F1 11 C1 EF 8F C4
82 11 F1 1A 81 1F    // запрос  IDENT_1
		A2 F1 11 5A 81 4 90 6F 62 3 98 6A 3 99 44 3 92 44 3 91 6B 3 94 64 3 95 2 3 96 66 3 97 66 3 9A 2 FF D3
 82 11 F1 1A 80 1E  // запрос IDENT_2
		80 F1 11 44 5A 80 57 30 4C 30 30 30 30 33 36 56 31 31 36 36 37 37 32 53 30 30 31 30 30 34 39 32 34 19 98 12 14 16 20 22 80 31 36 32 30 32 33 31 39 20 4E 4C 43 4D 58 4A 0 8 44 39 36 30 30 33 58 31 36 58 45 4C 1 2 A3
 82 11 F1 21 1 A6  // запрос параметров 
		B0 F1 11 61 1 1 1 70 22 0 0 0 FA 79 33 78 51 C0 8A 12 34 0 0 0 0 0 1E 0 0 0 8B 26 0 0 56 80 12 74 0 FF 7B 0 0 0 84 8 27 34 0 0 0 33
 81 11 F1 3E C1 // запрос поддержания связи (присутствия)
		81 F1 11 7E 1
 81 11 F1 3E C1 
		81 F1 11 7E 1

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

Первый байт (а правильнее нулевой) содержит информацию о длине посылки. Длина это количество байт за исключением самого байта длины, байтов адреса и контрольной суммы. У байта длины нужно убрать старший бит (самый левый) тогда получим правильную длину. Это можно сделать в виндовом калькуляторе.  после чего можно перевести в удобный для нас DEC в том же калькуляторе. 

например, разберём сообщение 82 11 F1 21 01 A6 . Берём виндовый калькулятор

82 - переводим в BIN  10000010  убираем левую единицу получаем в BIN  00000010 или просто 10 т.е. 2 в DEC (это длина кадра - два байта, забегая вперёд:  21 01 )

11 - адрес получателя кадра (в данном случае сообщение адресовано на PCM автомобиля, адрес 11) 

F1 - адрес отправителя кадра (F1 - надо полагать это адрес диагностики)

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

A6 - контрольная сумма (CRC) всех предыдущих байт кадра. Просто сложение, если сумма всех байт будет больше чем один байт (255 или тоже самое 0xFF)  то берётся самый младший (правый байт). На примере нашего кадра CRC получается в HEX 1A6 соответсвенно берётся A6

Есть один нюанс с нулевым байтом кадра, который показывает длину. Если старший (левый) полубайт (ниббл) равен 8,  а младший (правый) равен 0 , (т.е. байт такой: 0x80) соответствено если убрать старший бит получим в итоге длину 0. Такие сообщения есть - обычно это длинные сообщения. В таком случае длина кадра указывается дополнительным байтом, вставленным после байт адресов оправителя и получателя. Пример: 

80 F1 11 44 5A 80 57 30 4C 30 30 30 30 33 36 56 31 31 36 36 37 37 32 53 30 30 31 30 30 34 39 32 34 19 98 12 14 16 20 22 80 31 36 32 30 32 33 31 39 20 4E 4C 43 4D 58 4A 0 8 44 39 36 30 30 33 58 31 36 58 45 4C 1 2 A3

вот смотрите после 80 F1 11 стоит 44 в DEC это 68. Не поленитесь, посчитайте количество байт после 44 - будет 68 байт и ещё один байт контрольной суммы (как мы помним  - он не входит в длину).

А вот ответ вашего PCM на запрос параметров (82 11 F1 21 01 A6):

B0 F1 11 61 1 1 1 70 22 0 0 0 FA 79 33 78 51 C0 8A 12 34 0 0 0 0 0 1E 0 0 0 8B 26 0 0 56 80 12 74 0 FF 7B 0 0 0 84 8 27 34 0 0 0 33

смотрим, B0 без старшего бита это в DEC 48 считайте количество байт после B0 F1 11 - всё сходится. Можете сложить всё байты младший (правый) байт результата будет  равен 33 в HEX.  

Targitai
Offline
Зарегистрирован: 05.10.2018

Спасибо за науку... Вы то уже глаз наметали, а я б из этой мешанины вовек не выдрал правильных строк. Остается вопрос - почему сместились кадры? Может в коде снифера что-то доработать? И почему у меня не видно запроса инициализации от ОП-ком, как у ТС (81 11 F1 81 04 запрос инициализации).

Упс, сам спросил, сам увидел про задержку. Завтра буду играться. Может поэтому и пропускаю запрос инициализации...

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

вот вам эмулятор с данными вашей машины. Проверил PID ы также себя ведут, как я чуть выше приводил. такчто теперь вы знаете что и как в ответе на запрос параметров 21 01


int bytenumber = 6;


///////////////////////////////////////////////////////////////////////

#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8); //R,T
unsigned long prevTimedelay = 0; 


byte MessageRx[110] = {0};  // массив байтов принимаемого сообщения

byte messageCOMUN[] = {0x83, 0xF1, 0x11, 0xC1, 0xEF, 0x8F, 0xC4};
byte messagePRES[] = {0x81, 0xF1, 0x11, 0x7E, 0x01};


byte messageIDEN1[] = {0xA2, 0xF1, 0x11, 0x5A, 0x81, 0x04, 0x90, 0x6F, 0x62, 0x03, 0x98, 0x6A, 0x03, 0x99, 
0x44,0x03, 0x92, 0x44, 0x03, 0x91, 0x6B, 0x03, 0x94, 0x64, 0x03, 0x95, 0x02, 0x03, 0x96, 0x66, 0x03, 0x97,
0x66,0x03, 0x9A, 0x02, 0xFF, 0xD3};
                       


byte messageIDEN2[] = {0x80, 0xF1, 0x11, 0x44, 0x5A, 0x80, 0x57, 0x30, 0x4C, 0x30, 0x30, 0x30, 0x30, 0x33, 0x36 ,0x56 ,0x31 ,0x31 ,0x36 ,0x36 ,
   0x37 ,0x37 ,0x32 ,0x53 ,0x30 ,0x30 ,0x31 ,0x30 ,0x30 ,0x34 ,0x39 ,0x32 ,0x34 ,0x19 ,0x98 ,0x12 ,0x14 ,0x16 ,0x20 ,0x22 ,0x80 ,0x31 ,0x36 ,0x32 ,
   0x30 ,0x32 ,0x33 ,0x31 ,0x39 ,0x20 ,0x4E ,0x4C ,0x43 ,0x4D ,0x58 ,0x4A ,0x00 ,0x08 ,0x44 ,0x39 ,0x36 ,0x30 ,0x30 ,0x33 ,0x58 ,0x31 ,0x36 ,0x58,
   0x45 ,0x4C ,0x01 ,0x02 ,0xA3};

byte messagePIDS[] = {0x80, 0xF1, 0x11, 0x30, 0x61, 0x01, 0x01, 0x01, 0x70, 0x22, 0x00, 0x00, 0x00, 0xFA, 0x79, 0x33, 0x78, 0x51, 0xC0,
    0x8A, 0x12, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x8B ,0x26, 0x00, 0x00, 0x56, 0x80, 0x12, 0x74, 0x00, 
    0xFF, 0x7B, 0x00, 0x00, 0x00, 0x84, 0x08, 0x27, 0x34, 0x00, 0x00, 0x00, 0x33};

bool debug = 0;  // выставив этот бит в единицу будем видеть все сообщения в терминале
bool f =0;
void setup() {

byte CRC = 0;
for (byte i=0; i<sizeof(messageIDEN1); i++){if (i!=sizeof(messageIDEN1)-1) CRC+=messageIDEN1[i]; else messageIDEN1[i]=CRC;}
CRC = 0;
for (byte i=0; i<sizeof(messageIDEN2); i++){if (i!=sizeof(messageIDEN2)-1) CRC+=messageIDEN2[i]; else messageIDEN2[i]=CRC;}
CRC = 0;
messagePIDS[3]=sizeof(messagePIDS)-5;
for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}

  
 Serial.begin (115200);
mySerial.begin (10400);
pinMode (10, OUTPUT);
digitalWrite (10,0);
Serial.print ("Tekuchiy Nomer Byte dlya izmeneniya:   "); Serial.println (bytenumber); Serial.println ("");
}

void loop() {
if (Serial.available()) {
     
  byte inbyte=0;
     
          inbyte = Serial.read(); delay(2);
  if (inbyte == '-')  {bytenumber  --; Serial.print ("        bytenumber: "); Serial.println (bytenumber);} 
  if (inbyte == '+')  {bytenumber  ++; Serial.print ("        bytenumber: "); Serial.println (bytenumber);} 
  
  if (inbyte == '.') {messagePIDS[bytenumber]++;Serial.print ("byte value: "); Serial.println (messagePIDS[bytenumber]);
  byte CRC = 0; for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}}
  if (inbyte == 'm') {if (f)messagePIDS[bytenumber]=255;else messagePIDS[bytenumber]=0; f=!f; Serial.print ("byte value: "); Serial.println (messagePIDS[bytenumber]);
  
  byte CRC = 0; for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}}
  if (inbyte == ',') {messagePIDS[bytenumber]--;Serial.print ("byte value: "); Serial.println (messagePIDS[bytenumber]);
  byte CRC = 0; for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}}
  
  if (inbyte == 'p') debug=!debug;
Serial.flush();
  return;}

if (mySerial.available()) {
  //   delay(100);
     int k=0;
     byte inbyte=0;
     
  while( mySerial.available() && k < 100) {
     inbyte = mySerial.read(); delay (7);
    MessageRx[k] = inbyte;
    k++;   }

    if (debug)  Serial.print ("Recieve:   ");

    for (int i = 0; i < k; i++) {
    if (debug){Serial.print(MessageRx[i],HEX); Serial.print (" ");} }
   if (debug) Serial.println ("");

if ((MessageRx[1]==0x81 && MessageRx[2]==0x11 && MessageRx[3]==0xF1 && MessageRx[4]==0x81 && MessageRx[5]==0x04)|| (MessageRx[0]==0x81 && MessageRx[1]==0x11 && MessageRx[2]==0xF1 && MessageRx[3]==0x81 && MessageRx[4]==0x04)) {
if (debug){  Serial.println ("Prinyat zapros init!  "); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i <sizeof(messageCOMUN); i++) {
    mySerial.write(messageCOMUN[i]);
    if (debug){Serial.print(messageCOMUN[i],HEX); Serial.print ("  ");}
   } 
    if (debug) {Serial.println("");}
 
   }
if (MessageRx[0]==0x80 && MessageRx[1]==0x11 && MessageRx[2]==0xF1 && MessageRx[3]==0x01 && MessageRx[4]==0x3E && MessageRx[5]==0xC1) {
 if (debug){ Serial.println ("Prinyat zapros prisutstvia!  "); Serial.println (""); 
 //   Serial.print ("Tekuchiy Nomer Byte dlya izmeneniya:   "); Serial.println (bytenumber); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i < sizeof(messagePRES); i++) {
    mySerial.write(messagePRES[i]);delay(1);
    if (debug) {Serial.print(messagePRES[i],HEX); Serial.print ("  ");}}
    
    if (debug) Serial.println("");
 
   }
   if (MessageRx[0]==0x80 && MessageRx[1]==0x11 && MessageRx[2]==0xF1 && MessageRx[3]==0x02 && MessageRx[4]==0x1A && MessageRx[5]==0x81 && MessageRx[6]==0x1F) {
 if (debug){ Serial.println ("Prinyat zapros identificacion 1!  "); Serial.println ("");  
    Serial.print("Otvechayu:      ");}
  for (int i = 0; i < sizeof(messageIDEN1); i++) {
    mySerial.write(messageIDEN1[i]);delay(1);
    if (debug) {Serial.print(messageIDEN1[i],HEX); Serial.print ("  ");}
   } 
    if (debug){Serial.println("");
   Serial.print ("Otvechayu DEC:  ");}
    for (int i = 0; i < sizeof(messageIDEN1); i++) {
   
    if (debug) {Serial.print(messageIDEN1[i]); Serial.print ("  ");}
   } 
    if (debug) Serial.println("");
 
   }
   if (MessageRx[0]==0x80 && MessageRx[1]==0x11 && MessageRx[2]==0xF1 && MessageRx[3]==0x02 && MessageRx[4]==0x1A && MessageRx[5]==0x80 && MessageRx[6]==0x1E) {
 if (debug){ Serial.println ("Prinyat zapros identificacion 2!  "); Serial.println ("");  
    Serial.print("Otvechayu:      ");}
  for (int i = 0; i < sizeof(messageIDEN2); i++) {
    mySerial.write(messageIDEN2[i]); delay(1);
    if (debug) {Serial.print(messageIDEN2[i],HEX); Serial.print ("  ");}
   } 
    if (debug) {Serial.println("");
  Serial.print ("Otvechayu DEC:  ");}
 for (int i = 0; i < sizeof(messageIDEN2); i++) {
    
    if (debug) {Serial.print(messageIDEN2[i]); Serial.print ("  ");}
    
   } 
   if (debug) Serial.println("");
   }
   if (MessageRx[0]==0x80 && MessageRx[1]==0x11 && MessageRx[2]==0xF1 && MessageRx[3]==0x02 && MessageRx[4]==0x21 && MessageRx[5]==0x01 && MessageRx[6]==0xA6) {
if (debug){  Serial.println ("Prinyat zapros datos!  "); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i < sizeof(messagePIDS); i++) {
    mySerial.write(messagePIDS[i]);delay(1);
   
    if (debug) {Serial.print(messagePIDS[i],HEX); Serial.print ("  ");}
   } 
    if (debug) Serial.println("");
 
   }
}
}

 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

интересен один момент корявости моей программы OPCOM k-line. Чуть выше я говорил про байт длины, что может  по разному длину показывать, (либо просто байт либо при помощи дополнительного байта), дак вот ваша машина отвечает длиной без дополнительного байта : 

B0 F1 11 61 1 1 1 70 22 0 0 0 FA 79 33 78 51 C0 8A 12 34 0 0 0 0 0 1E 0 0 0 8B 26 0 0 56 80 12 74 0 FF 7B 0 0 0 84 8 27 34 0 0 0 33

подставил так в эмулятор - не видит программа параметры. Подставил с дополнительным байтом - заработало:

80 F1 11 30 61 1 1 1 70 22 0 0 0 FA 79 33 78 51 C0 8A 12 34 0 0 0 0 0 1E 0 0 0 8B 26 0 0 56 80 12 74 0 FF 7B 0 0 0 84 8 27 34 0 0 0 33

кстати CRC при этом не меняется. 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Вот более совершенный алгоритм получения-парсинга сообщений с проверкой CRC на примере всё того же эмулятора. (Этот алгоритм потом и в скетче итоговом можно использовать).

В эмуляторе ошибки DTC можно читать стирать. Если опять нажать стереть - они снова появляются, так для прикола сделал. 

#define MY_ADDRESS   0x11   // адрес ЭБУ в HEX
#define DIAG_ADDRESS 0xF1   // адрес диагностики  в HEX

int bytenumber = 6;


///////////////////////////////////////////////////////////////////////

#include <SoftwareSerial.h>
SoftwareSerial mySerial(7, 8); //R,T
unsigned long prevTimedelay = 0; 



byte head[4] = {0};
byte head_count = 0;

byte messageCOMUN[] = {0x83, 0xF1, 0x11, 0xC1, 0xEF, 0x8F, 0xC4};
byte messagePRES[] = {0x81, 0xF1, 0x11, 0x7E, 0x01};


byte messageIDEN1[] = {0xA2, 0xF1, 0x11, 0x5A, 0x81, 0x04, 0x90, 0x6F, 0x62, 0x03, 0x98, 0x6A, 0x03, 0x99, 
0x44,0x03, 0x92, 0x44, 0x03, 0x91, 0x6B, 0x03, 0x94, 0x64, 0x03, 0x95, 0x02, 0x03, 0x96, 0x66, 0x03, 0x97,
0x66,0x03, 0x9A, 0x02, 0xFF, 0xD3};
                       

byte messageIDEN2[] = {0x80, 0xF1, 0x11, 0x44, 0x5A, 0x80, 0x57, 0x30, 0x4C, 0x30, 0x30, 0x30, 0x30, 0x33, 0x36 ,0x56 ,0x31 ,0x31 ,0x36 ,0x36 ,
   0x37 ,0x37 ,0x32 ,0x53 ,0x30 ,0x30 ,0x31 ,0x30 ,0x30 ,0x34 ,0x39 ,0x32 ,0x34 ,0x19 ,0x98 ,0x12 ,0x14 ,0x16 ,0x20 ,0x22 ,0x80 ,0x31 ,0x36 ,0x32 ,
   0x30 ,0x32 ,0x33 ,0x31 ,0x39 ,0x20 ,0x4E ,0x4C ,0x43 ,0x4D ,0x58 ,0x4A ,0x00 ,0x08 ,0x44 ,0x39 ,0x36 ,0x30 ,0x30 ,0x33 ,0x58 ,0x31 ,0x36 ,0x58,
   0x45 ,0x4C ,0x01 ,0x02 ,0xA3};


byte messagePIDS[] = {0x80, 0xF1, 0x11, 0x30, 0x61, 0x01, 0x01, 0x01, 0x70, 0x22, 0x00, 0x00, 0x00, 0xFA, 0x79, 0x33, 0x78, 0x51, 0xC0,
    0x8A, 0x12, 0x34, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x00, 0x00, 0x00, 0x8B ,0x26, 0x00, 0x00, 0x56, 0x80, 0x12, 0x74, 0x00, 
    0xFF, 0x7B, 0x00, 0x00, 0x00, 0x84, 0x08, 0x27, 0x34, 0x00, 0x00, 0x00, 0x33};

byte answerNODTC[] = { 0x82, 0xF1, 0x11, 0x58, 0x00, 0xDC};  // раскоментировать и не будет DTC

byte answerDTC[] = {0x8B ,0xF1, 0x11, 0x58, 0x03, 0x01, 0x15, 0xE1, 0x11, 0x10, 0xE4, 0x04, 0x00, 0xE4, 0xCC};  // сообщение с наличиями DTC

byte ERASE_DTC[] = {0x83, 0xF1, 0x11, 0x54, 0xFF, 0x00, 0xD8}; 

bool NODTC = 0; 
bool debug = 0;  // выставив этот бит в единицу будем видеть все сообщения в терминале
bool f =0;

byte  StartByte = 0;
bool _StartByte = 0;

void setup() {

byte CRC = 0;
for (byte i=0; i<sizeof(messageIDEN1); i++){if (i!=sizeof(messageIDEN1)-1) CRC+=messageIDEN1[i]; else messageIDEN1[i]=CRC;}
CRC = 0;
for (byte i=0; i<sizeof(messageIDEN2); i++){if (i!=sizeof(messageIDEN2)-1) CRC+=messageIDEN2[i]; else messageIDEN2[i]=CRC;}
CRC = 0;
messagePIDS[3]=sizeof(messagePIDS)-5;
for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}

  
 Serial.begin (115200);
mySerial.begin (10400);
pinMode (10, OUTPUT);
digitalWrite (10,0);
Serial.print ("Tekuchiy Nomer Byte dlya izmeneniya:   "); Serial.println (bytenumber); Serial.println ("");
}

void loop() {

//ниже опрос данных из терминала (нажатий нами "+", "-",  ".",  ",",  "p" для изменения байтов сообщения с параметрами)

if (Serial.available()) {
     
  byte inbyte=0;
     
          inbyte = Serial.read(); delay(2);
  if (inbyte == '-')  {bytenumber  --; if (bytenumber< StartByte) bytenumber = StartByte; Serial.print ("        bytenumber: "); Serial.println (bytenumber);} 
  if (inbyte == '+')  {bytenumber  ++; if (bytenumber> sizeof(messagePIDS)-1) bytenumber = StartByte; Serial.print ("        bytenumber: "); Serial.println (bytenumber);} 
  
  if (inbyte == '.') {messagePIDS[bytenumber]++;Serial.print ("byte value: "); Serial.println (messagePIDS[bytenumber]);
  byte CRC = 0; for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}}
  if (inbyte == 'm') {if (f)messagePIDS[bytenumber]=255;else messagePIDS[bytenumber]=0; f=!f; Serial.print ("byte value: "); Serial.println (messagePIDS[bytenumber]);
  
  byte CRC = 0; for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}}
  if (inbyte == ',') {messagePIDS[bytenumber]--;Serial.print ("byte value: "); Serial.println (messagePIDS[bytenumber]);
  byte CRC = 0; for (byte i=0; i<sizeof(messagePIDS); i++){if (i!=sizeof(messagePIDS)-1) CRC+=messagePIDS[i]; else messagePIDS[i]=CRC;}}
  
  if (inbyte == 'p') debug=!debug;
Serial.flush();
  return;}


 
     
 ////////////////////// здесь начинается алгоритм приёма сообщений из K-LINE 
     
  if (mySerial.available()) {

     // ниже ищем шапку кадра 
     
     byte inbyte = mySerial.read();
     delay (7);
         if (bitRead (inbyte,7)     && head_count == 0) {head_count = 1; head[0] = inbyte; } 
    else if (inbyte == MY_ADDRESS   && head_count == 1) {head_count = 2; head[1] = inbyte; } 
    else if (inbyte == DIAG_ADDRESS && head_count == 2) {head_count = 3; head[2] = inbyte; } 
    else {head_count = 0; for (byte i=0; i<sizeof(head); i++) head[i] = 0;} 

    // нашли шапку: 
     
   if (head_count == 3){
    
    head_count = 0; // очищаем переменную поиска шапки 
    byte k = 0;
    byte Length = 0;
    byte plus = 0;
    
    if (head[0] != 0x80) {Length = (head[0]&~0x80); plus=4;}                   // если длина без доп байта 
    else {delay (7);     Length = mySerial.read(); plus=5; head[3] = Length;}  // если длина с доп байтом
    k = Length + plus;
    
    if (k>100) k=100;
    const byte sizeMes = k;
    byte MessageRx [sizeMes] = {0};
    byte crc = 0; 
    for (byte i=0; i<plus-1; i++){MessageRx[i]= head[i]; crc += MessageRx[i]; head[i] = 0;}  // очищаем переменные поиска шапки 
    
    bool CRC_OK = 0;

    // ниже пишем сообщение в буфер и считаем КС
    for (byte i = plus-1; i < sizeMes; i++) { MessageRx[i] = mySerial.read();  if (i!=sizeMes-1) crc += MessageRx[i]; else if (crc == MessageRx[i]) CRC_OK = 1; delay (7);}
    
     if (CRC_OK){

// ниже распечатаем в отладку принятое сообщение 
    
    if (debug)  {Serial.println (); Serial.print ("Recieve:   ");}

    for (int i = 0; i < k; i++) {
    if (debug){if (MessageRx[i]<=0x0F) Serial.print ("0"); Serial.print(MessageRx[i],HEX); Serial.print (" ");} }
   if (debug) Serial.println ("");



if (Length==1 && MessageRx[plus-1]==0x81) {
if (debug){  Serial.println ("Prinyat zapros init!  "); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i <sizeof(messageCOMUN); i++) {
    mySerial.write(messageCOMUN[i]);
    if (debug){if (messageCOMUN[i]<=0x0F) Serial.print ("0"); Serial.print(messageCOMUN[i],HEX); Serial.print ("  ");}
   } 
    if (debug) {Serial.println("");}
 
   }


if (Length == 1 && MessageRx[plus-1]==0x3E ) {
 if (debug){ Serial.println ("Prinyat zapros prisutstvia!  "); Serial.println (""); 
 //   Serial.print ("Tekuchiy Nomer Byte dlya izmeneniya:   "); Serial.println (bytenumber); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i < sizeof(messagePRES); i++) {
    mySerial.write(messagePRES[i]);delay(1);
    if (debug) {if (messagePRES[i]<=0x0F) Serial.print ("0"); Serial.print(messagePRES[i],HEX); Serial.print ("  ");}}
    
    if (debug) Serial.println("");
 
   }
   
   
   if (Length == 2 && MessageRx[plus-1]==0x1A && MessageRx[plus]==0x81) {
 if (debug){ Serial.println ("Prinyat zapros identificacion 1!  "); Serial.println ("");  
    Serial.print("Otvechayu:      ");}
  for (int i = 0; i < sizeof(messageIDEN1); i++) {
    mySerial.write(messageIDEN1[i]);delay(1);
    if (debug) {if (messageIDEN1[i]<=0x0F) Serial.print ("0"); Serial.print(messageIDEN1[i],HEX); Serial.print ("  ");}
   } 
    if (debug){Serial.println("");
   Serial.print ("Otvechayu DEC:  ");}
    for (int i = 0; i < sizeof(messageIDEN1); i++) {
   
    if (debug) {Serial.print(messageIDEN1[i]); Serial.print ("  ");}
   } 
    if (debug) Serial.println("");
 
   }
   
   
   if (Length == 2 && MessageRx[plus-1]==0x1A && MessageRx[plus]==0x80) {
 if (debug){ Serial.println ("Prinyat zapros identificacion 2!  "); Serial.println ("");  
    Serial.print("Otvechayu:      ");}
  for (int i = 0; i < sizeof(messageIDEN2); i++) {
    mySerial.write(messageIDEN2[i]); delay(1);
    if (debug) {if (messageIDEN2[i]<=0x0F) Serial.print ("0"); Serial.print(messageIDEN2[i],HEX); Serial.print ("  ");}
   } 
    if (debug) {Serial.println("");
  Serial.print ("Otvechayu DEC:  ");}
 for (int i = 0; i < sizeof(messageIDEN2); i++) {
    
    if (debug) {Serial.print(messageIDEN2[i]); Serial.print ("  ");}
    
   } 
   if (debug) Serial.println("");
   }
   
   
   if (Length == 2 && MessageRx[plus-1]==0x21 && MessageRx[plus]==0x01) {

    if (!_StartByte) {StartByte = plus; _StartByte=1; bytenumber = StartByte;};
if (debug){  Serial.println ("Prinyat zapros datos!  "); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i < sizeof(messagePIDS); i++) {
    mySerial.write(messagePIDS[i]);delay(1);
   
    if (debug) {if (messagePIDS[i]<=0x0F) Serial.print ("0"); Serial.print(messagePIDS[i],HEX); Serial.print ("  ");}
   } 
    if (debug) Serial.println("");
   }


   if (Length == 4 && MessageRx[plus-1]==0x18 && MessageRx[plus]==0x00 && MessageRx[plus+1]==0xFF && MessageRx[plus+2]==0x00) {
if (debug){  Serial.println ("Prinyat zapros DTC!  "); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
 if (!NODTC) {for (int i = 0; i < sizeof(answerDTC); i++) {
    mySerial.write(answerDTC[i]);delay(1);
   
    if (debug) {if (answerDTC[i]<=0x0F) Serial.print ("0"); Serial.print(answerDTC[i],HEX); Serial.print ("  ");}
   } }
else {for (int i = 0; i < sizeof(answerNODTC); i++) {
    mySerial.write(answerNODTC[i]);delay(1);
   
    if (debug) {if (answerNODTC[i]<=0x0F) Serial.print ("0"); Serial.print(answerNODTC[i],HEX); Serial.print ("  ");}
   }}

   
    if (debug) Serial.println("");
   }


if (Length == 3 && MessageRx[plus-1]==0x14 && MessageRx[plus]==0xFF && MessageRx[plus+1]==0x00) {
NODTC = !NODTC;
if (debug){  Serial.println ("Prinyat zapros ERASE_DTC!  "); Serial.println (""); 
    Serial.print ("Otvechayu:    ");}
  for (int i = 0; i < sizeof(ERASE_DTC); i++) {
    mySerial.write(ERASE_DTC[i]);delay(1);
   
    if (debug) {if (ERASE_DTC[i]<=0x0F) Serial.print ("0"); Serial.print(ERASE_DTC[i],HEX); Serial.print ("  ");}
   } 
    if (debug) Serial.println("");
   }
   
   
   } // конец ифа с правильной CRC  

   else if (debug) Serial.println("CRC FAIL!!!");
   }
}
}

 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Targitai пишет:

Остается вопрос - почему сместились кадры? Может в коде снифера что-то доработать? 

Упс, сам спросил, сам увидел про задержку. Завтра буду играться. 

да, скорее всего задержкой можно скомпоновать

Targitai пишет:

И почему у меня не видно запроса инициализации от ОП-ком, как у ТС (81 11 F1 81 04 запрос инициализации).

Может поэтому и пропускаю запрос инициализации...

смотрите внимательнее свой сниф. Там есть этот запрос в строке с 8 по 10 . 

Targitai
Offline
Зарегистрирован: 05.10.2018

Пытаюсь запустить эмулятор. Оп-ком К-лине упорно говорит что нет ответа от ECU. Драфйвера ваши, но скорость порта не могу поставить 10400

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Не нужно ставить скорость порта. Какой у вас адаптер юсб-клайн?

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Адаптер нужен на фтди иначе нужны танцы с бубном

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Targitai пишет:

Пытаюсь запустить эмулятор. Оп-ком К-лине упорно говорит что нет ответа от ECU. Драфйвера ваши, но скорость порта не могу поставить 10400

если ничего не получается со скоростью 10400 и нет фтди, ставьте в эмуляторе скорость 9600

Targitai
Offline
Зарегистрирован: 05.10.2018

Адаптер FTD1232, как вы давали ссылку. Сперва пробовал не меняя скорости, потом уже пытался ставить разную Результат одинаков..... Не могу понять что за ерунда. Завтра попробую на другом компе.

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

тут нужно внимательней. У ардуины точно K-line адаптер правильно подключен? на 7rx 8tx пин? 

в Opcom точно выбираете RS232 и нужный компорт юсб-com адаптера?  (делается через кнопку "установки"  в проге OPCOM)

12В на к-лайны точно подаёте?

Targitai
Offline
Зарегистрирован: 05.10.2018

Не компилируется.

error: variable-sized object 'MessageRx' may not be initialized

     byte MessageRx [sizeMes] = {0};

                                  ^

exit status 1
variable-sized object 'MessageRx' may not be initialized

Ну да ладно, Вроде бы все мало-мальски полезные данные есть. Теперь бы с приборкой разобраться. Но она у меня тоже на PIN7. Это ж постоянно отключаться от одного блока и подключаться к другому нужно, будет же задержка в получении данных?

PS... у ТС за каждый показатель два байта отвечают, у меня один получается?

 

 

 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

это в какой версии IDE компилируете? у меня всё норм

Targitai
Offline
Зарегистрирован: 05.10.2018

1.6.8 в более новых ошибки ползут при компилировании из-за TVout. Хотя странно те ошибки вылазят - то все нормально, то ошибка. Не может ли IDE оставлять мусор во временной папке? 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

1.8.5 грузите и пробуйте чисто мой скетч, должно компилироваться, иначе рестарт компа

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

и пишите что конкретно не получается. Выше писали, что прога OPCOM не видит эмулятор, сейчас уже оказывается не компилируется

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

какие данные диагностика в приборке видит? сниффить приборку надо на скорости 9600 или ещё может 4800

Targitai
Offline
Зарегистрирован: 05.10.2018

Прошу прощения... все получилось. Программа все увидела успешно. Скетч только предыдущий использовал. Без проверки CRC.

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Targitai пишет:

PS... у ТС за каждый показатель два байта отвечают, у меня один получается?

да, получается так. PID лист по другому выполнен. 

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

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

и нафиг вам эта тв оут. Поставьте отдельный экран и не мучайтесь. Подозреваю, что через тв оут такое разрешение будет стремное, что текста не видно будет. 

Targitai
Offline
Зарегистрирован: 05.10.2018

 Весь смысл сделать так, чтоб было похоже на заводской. Т.е. борткомп должен стоять в штатном месте, управляться штатными кнопками. Разрешение при этом 120х98. Что дает нам 9 строк и 12 столбцов текста. Я ж уже делал часики на нем. Читабельно. Показания все за раз задачи выводить не стоит, будет переключаться экран, как и в родном БК.

Но я тут нашел кое-что другое давеча, нужно почитать: http://forum.arduino.cc/index.php?topic=199170.0

Все равно пока Мегу жду, время есть

Пиды с формулами:

Байт	Значение	Формула	Единицы измерения	Мин.значение	Макс.Значение
13	МАП	X*4,97/255	V	0	5
13	МАП	X*1,04/255	bar	0	1,04
14	System Voltage	X/10	V	0	25,5
15	intake air temperature	X*4,97/255	V	0	5
16	intake air temperature	X*191/255-40	C	-40	151
17	engine coolant temperature	X*4,97/255	V	0	5
18	engine coolant temperature	X*191/255-40	C	-40	151
19	Spark Angle before TDC (Top Dead Centre)	X*180/255-90	град	-90	90
20	Engine Load	X*100/255	%	0	100
					
22	Knock Cell Number	X			
23	цил1 уменшение УОЗ для уменьшения детонации	X*90/255	град	0	90
24	цил2 уменшение УОЗ для уменьшения детонации	X*90/255	град	0	90
25	цил3 уменшение УОЗ для уменьшения детонации	X*90/255	град	0	90
26	цил4 уменшение УОЗ для уменьшения детонации	X*90/255	град	0	90
27	throttle position	X*4,97/255	V	0	5
28	throttle position	X*100/255	%	0	100
29	speed	X	km/h	0	255
30	Engine speed	X*6375/255	rpm	0	6375
31	Injection Pulse	X*21,8/255	ms	0	21,8
32	Idle Air Control	X	steps	0	255
35	O2 Sensor	X*1127/255	mV	0	1127
36	O2 Integrator	X	steps	0	255
41	Air/Fuel Ratio	x/10		0	25,5
44	Dec. Fuel Cutoff (Deceleration)	32-63; 96-127; 160-191; 224-255			Active

А вот таких PID у меня нет, но можно расчитать (немного другой двигатель):

Opel z16XE Fuel Flow,"Fuel Flow","","((VAL{Opel z16XE Multec-S Injection Pulse}/1000)*(169/60000)*(VAL{Opel z16XE Multec-S Engine Speed}/120))*14400","0","255","l/h",""
Opel z16XE Instant Fuel Consumption L/100km,"Ins L/100km","","100/VAL{Opel z16XE Multec-S Vehicle Speed}*VAL{Opel z16XE Fuel Flow}","0","255","L/100km","8011F1"

И вот самое интересное, что по O2 Integrator легко расчитать Short Term Fuel Trim: (O2 Integrator-128)*100/128. Еще как-то бы на долгосрочную коррекцию выйти путем расчетов (Long Term Fuel Trim). Для тех, у кого стоит ГБО - это очень хорошее подспорье при настройке. Показывает обеднение/обогащение смеси в процентах.

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

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

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

авообще вам бы найти кого нибудь со штатным TID или MID  и заснифить протокол. 

Targitai
Offline
Зарегистрирован: 05.10.2018

Показывает через нормальный OP-COM. Через ОП-ком к-лайн ничего не показывает. Соединяется, но потом выдает CRC Error  и все. Вот такой лог от него:


20140ms
 6 FE
3644ms
 0
200ms
 0
199ms
 0
201ms
 0
201ms
 0
199ms
 0
1237ms
 66 E6
54ms
 18 E6 0 FE FE 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 FE 78 0 0 0 0 1E 0 0 80 86 86 86 18 0 0 86 0 0 0 0 78 0 66 66 78 78 7E 0 0 F8 7E 78 78 7E 6 80 F8 F8 0 0 0 0 1E 0 F8 80 86 86 86 18 0 FE F8 0 0 0 0 78 0 F8 F8 78 78 7E 0 78 E0 78 66 E6 0 6 78 F8 78 0 78 66 E6 78 0 78 18 78 E6 78 0 E6 78 0 78 18 78 E6 F8 0 6 78 0 78 E0 78 66 E6 0 6 78 F8 78 0 78 66 E6 78 0 78 18 0
9251ms
 0
199ms
 0
201ms
 0
200ms
 0
199ms
 0
201ms
 0
1238ms
 66 E6
54ms
 18 E6 0 FE FE 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 F8 7E 78 78 7E 6 80 F8 78 0 0 0 0 1E 0 0 80 86 86 86 18 0 FE 86 0 0 0 0 78 0 F8 66 78 78 7E 0 0 F8 F8 78 78 7E 6 80 F8 F8 0 0 0 0 1E 18 F8 80 86 86 86 18 78 0 0 78 18 78 E6 F8 0 6 78 0 78 E0 78 66 E6 0 6 78 F8 78 0 78 66 E6 78 0 78 18 78 E6 78 0 E6 78 0 78 18 78 E6 78 0 E6 78 0 78 18 78 E6 78 66 E6 78 0 78 18
9143ms
 0
199ms
 0
200ms
 0
201ms
 0
200ms
 0
200ms
 0
1237ms
 66 E6
54ms
 18 E6 0 FE FE 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 F8 7E 78 78 7E 6 80 F8 78 0 0 0 0 1E 0 F8 80 86 86 86 18 0 FE F8 0 0 0 0 78 0 F8 F8 78 78 7E 0 0 F8 F8 F8 78 7E 6 80 F8 F8 F8 0 0 0 1E 18 F8 F8 F8 86 86 18 0 FE F8 F8 0 0
8040ms
 0
199ms
 0
201ms
 0
200ms
 0
200ms
 0
200ms
 0
1238ms
 66 E6
54ms
 18 E6 0 FE FE 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 0 86 0 0 0 0 78 0 66 66 78 78 7E 0 0 86 7E 78 78 7E 6 80 F8 78 0 0 0 0 1E 0 F8 80 86 86 86 18 0 FE F8 0 0 0 0 78 0 F8 66 78 78 7E 0 18 F8
7572ms
 0
200ms
 0
200ms
 0
200ms
 0
200ms
 0
201ms
 0
1237ms
 66 E6
53ms
 18 E6 0 FE FE 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 FE 86 0 0 0 0 78 0 66 66 78 78 7E 0 0 86 7E 78 78 7E 6 80 F8 78 0 0 0 0 1E 0 F8 80 86 86 86 18 0 FE F8 0 0 0 0 78 0 F8 66 78 78 7E 0 18 F8 F8 78 78 7E 6 80 78 18 78 0 78 66 E6 78 0

От нормального нужно так же на скорости 9600 и 4800 провертиь, сейчас пойду сниму сниф.

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

starting comunication (fastinit)
starting serial comunication
8111F1814
8111F13EC1
   waiting for data
FFFF83F111C1EF8FC4FFFF81F1117E1   TIMEOUT
8211F1211A6
8111F13EC1
   waiting for data
FFFFFFB0F111611117022000F975A9847F9C8AF3401791902A00658012730FF7A0004827340004D   TIMEOUT
8211F1211A6
8111F13EC1
   waiting for data
FFFFFFB0F111611117022000F975A9847F1E0011E0008F2A00658012730FF7A0004827340004C   TIMEOUT
8211F1211A6
8111F13EC1
   waiting for data
FFFFFFB0F111611117022000F975A9847E8A68101E0008F2A00658012730FF7A0004827340004B   TIMEOUT
8211F1211A6
8111F13EC1
   waiting for data
FFFFFFB0F111611117022000F975A9847E9C8AF001118F2A00658012730FF7A0004827340004B   TIMEOUT

 

Targitai
Offline
Зарегистрирован: 05.10.2018

Чего его искать? Вот он я :) Только нема там чего снифить. Он сам унутри себя расчитывает по приходящим сигналам, распиновку прилагаю:

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

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

а какие данные видятся если опком к нему подключить (по 8 пину ОБД получается)? если ваш адаптер Опком только к 7 пину подключается, попробуйте к-лайн опком  - вдруг подключится . Косяк с прогой  к-лайн опком скорее всего как раз в байте длины. 

Targitai
Offline
Зарегистрирован: 05.10.2018

 Да кроме кода прошивки и в некоторых машинах программирования индекса звука ничего там не видно. К моей ничего не подключается, подозреваю, т.к.  MID от машины поновее и перепрошит под мой мотор через дилерский TECH2.

Логи....

Приборка через OP-COM на скорости 4800:


11577ms
 0
2237ms
 55
55ms
 52 80 7F
96ms
 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78 20 A0 20 39 30 35 36 39 37 20 30 37 32 B0 6 AA 6 AA 6 AA 6 10 11 21 0 0 0 32 C6 21 A1 0 0 31 24 1 21 0 0 0 B5 5 41 21 0 0 0 F5 3F 21 4 0 1 31 D2 6 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 6 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 6 21 0 0 0 32 B3 21 A1 0 0 31 24 1 21 0 0 0 32 D2 44 21 0 0 0 17 C4 21 A1 0 1 31 24 1 21 0 0 0 B5 5 41 21 0 0 0 F5 3F 21 4 0 1 31 D2 6 21 0 0 0 32 B4 21 A1 0 0 0 F5 3F 21 4 0 0 32 D2 44 21 0 0 0 32 C5 21 A1 0 0 72 F5 1 21 0 0 0 32 5 43 21 0 0 0 17 C5 21 A1 0 1 32 24 1 21 0 0 0 B5 5 43 21 0 0 0 17 3F 21 4 0 1 31 24 1 21 0 0 0 32 B2 21 A1 0 0 72 F5 3F 21 4 0 1 31 D2 6 21 0 0 0 32 B2 21 A1 0 0 72 F5 3F 21 4 0 0 31 D2 43 21 0 0 0 32 C6 21 A1 0 0 72 F5 1 21 0 0 0 32 D2 6 21 0 0 0 32 B3 21 A1 0 0 71 F5 3F 21 0 0 0 B6 5 42 21 0 0 0 17 C5 21 A1 0 0 32 24 1 21 0 0 0 B7 5 21 A1 0 0 0 17 C5 21 4 0 1 31 D2 6 21 0 0 0 32 B2 21 A1 0 0 72 F5 3F 21 4 0 0 32 D2 44 21 0 0 0 32 C5 21 A1 0 0 72 F5 1 21 0 0 0 32 D2 44 21 0 0 0 17 C5 21 A1 0 0 31 24 1 21 0 0 0 B6 5 42 21 0 0 0 17 C5 21 A1 0 1 31 D2 6 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 42 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 6 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 42 21 0 0 0 32 B4 21 A1 0 0 71 F5 3F 21 0 0 0 B5 5 41 21 A1 0 0 71 F5 3F 21 4 0 0 31 D2 6 21 0 0 0 32 B4 21 A1 0 0 71 F5 3F 21 4 0 0 31 D2 6 21 0 0 0 17 C6 21 A1 0 0 31 24 1 21 0 0 0 B6 5 44 21 0 0 0 17 C7 21 A1 0 0 31 24 1 21 0 0 0 B7 5 45 21 0 0 0 17 C7 21 A1 0 1 32 24 1 21 0 0 0 B6 5 44 21 0 0 0 17 C7 21 4 0 1 32 24 1 21 0 0 0 B6 5 46 21 0 0 0 17 C7 21 4 0 1 31 24 1 21 0 0 0 32 B3 21 A1 0 0 72 F5 3F 21 4 0 1 32 D2 6 21 0 0 0 32 B3 21 A1 0 0 71 F5 3F 21 4 0 0 31 D2 44 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 6 21 0 0 0 32 C6 21 A1 0 0 31 24 1 21 0 0 0 B6 5 46 21 0 0 0 17 C6 21 A1 0 1 32 D2 6 21 0 0 0 32 B4 21 A1 0 0 71 F5 3F 21 0 0 0 31 D2 3F 21 0 0 0 32 B4 21 A1 0 0 71 F5 3F 21 0 0 0 32 D2 6 21 0 0 0 32 B4 21 A1 0 0 72 F5 3F 21 0 0 0 31 D2 6 B4 6 10

На скорости 9600


26097ms
 0
2240ms
 66 E6
53ms
 18 E6 0 FE FE
102ms
 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 FE 0 F8 F8 7E 0 0 78 86 6 78 0 86 86 0 78 86 7E 0 1E 0 78 0 0 18 78 18 78 0 F8 78 0 0 6 6 60 0 0 6 0 66 60 78 66 6 60 0 0 6 6 FE F8 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 66 78 6 6 0 0 0 0 6 66 1E 78 6 6 0 0 6 0 60 60 78 18 6 60 0 0 6 0 66 60 78 1E 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 60 78 6 6 0 0 0 0 6 66 18 78 6 FE 0 0 6 0 66 60 78 1E 6 60 0 0 6 0 66 60 78 60 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 18 66 60 78 6 FE 0 0 6 0 66 60 78 18 6 60 0 0 6 0 66 60 7E 60 6 60 0 0 0 6 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 18 66 1E 78 6 FE 0 0 6 0 66 60 66 1E 6 60 0 0 6 0 66 60 78 1E 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 18 1E 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 78 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 18 66 1E 78 6 FE 0 0 6 0 60 60 66 0 6 60 0 0 6 0 66 60 78 1E 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 1E 78 6 6 0 0 0 0 6 66 60 78 6 FE 0 0 6 0 60 60 66 6 6 60 0 0 6 0 60 60 78 6 6 60 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 6 66 18 78 6 FE 0 0 6 0 66 60 78 78 6 60 0 0 6 0 66 60 66 60 6 0 0 0 0 6 18 18 FE 6 F8 0 0 0 0 6 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 60 78 6 6 0 0 0 0 18 66 18 78 6 FE 0 0 6 0 60 60 60 FE 6 60 0 0 6 0 66 60 60 0 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 18 78 6 6 0 0 0 0 6 66 1E 78 6 6 0 0 6 0 60 60 66 1E 6 60 0 0 6 0 66 60 78 6 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 1E 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 66 60 60 6 6 60 0 0 6 0 1E 60 78 6 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 18 66 60 78 6 6 0 0 0 0 18 66 18 78 6 FE 0 0 6 0 60 60 78 6 6 60 0 0 6 0 66 60 78 18 6 60 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 18 78 6 6 0 0 0 0 18 66 1E 78 6 FE 0 0 6 0 66 60 66 60 6 60 0 0 6 0 1E 60 7E 6 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 18 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 66 60 66 60 6 60 0 0 6 0 1E 60 78 F8 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 1E 78 6 6 0 0 0 0 18 66 60 78 6 FE 0 0 6 0 66 60 78 6 6 60 0 0 6 0 60 60 60 FE 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 1E 78 6 6 0 0 0 0 6 66 60 78 6 FE 0 0 6 0 66 60 78 1E 6 60 0 0 6 0 66 60 60 0 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 18 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 66 60 60 0 6 60 0 0 6 0 1E 60 66 18 6 60 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 1E 78 6 6 0 0 0 0 18 66 60 78 6 FE 0 0 6 0 60 60 78 6 6 60 0 0 6 0 66 60 66 60 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 6 66 60 78 6 FE 0 0 6 0 1E 60 78 FE 6 60 0 0 6 0 66 60 78 1E 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 18 66 60 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 60 60 66 0 6 60 0 0 6 0 66 60 66 18 6 0 0 0 0 6 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 18 66 60 78 6 6 0 0 0 0 18 66 18 78 6 FE 0 0 6 0 66 60 78 60 6 60 0 0 6 0 66 60 66 18 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 66 1E 78 6 6 0 0 0 0 6 66 1E 78 6 6 0 0 6 0 60 60 66 6 6 60 0 0 6 0 66 60 60 1E 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 66 60 66 60 6 60 0 0 6 0 1E 60 78 18 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 18 66 18 78 6 FE 0 0 6 0 60 60 78 6 6 60 0 0 6 0 66 60 60 6 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 60 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 66 60 66 60 6 60 0 0 6 0 66 60 78 60 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 18 66 18 78 6 6 0 0 0 0 6 66 1E 78 6 FE 0 0 6 0 66 60 66 18 6 60 0 0 6 0 1E 60 78 FE 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 7E 66 6 6 F8 0 0 0 0 6 66 1E 78 6 6 0 0 0 0 18 66 60 78 6 6 0 0 6 0 66 60 78 6 6 60 0 0 6 0 60 60 60 FE 6 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 18 18 18 FE 6 F8 0 0 0 0 FE 7E 66 6 6 F8 0 0 0 0 18 7E 66 6 18 78 0 E0

Приборка на скорости 4800 и Опель-сканер:


10048ms
 0
2239ms
 55
55ms
 52 80
24ms
 7F
77ms
 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78
157ms
 20 A0 20 39 30 35 36 39 37 38
41ms
 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32
82ms
 20 33 6 78
17ms
 2
7ms
 B0
7ms
 0
7ms
 B2
10ms
 6 F0 AA 10 32 10 1
29ms
 F2
21ms
 6 F0 AA 10 32 10 1 F2
33ms
 2
7ms
 11
7ms
 0
7ms
 13
26ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
65ms
 0 0 0 72 33 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 49
104ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
60ms
 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 46
108ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
56ms
 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6
82ms
 49
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
53ms
 0 1 0 0 0 0 72 32 31 BB 32 17 F5 24 D2 5 B3 C7 3F 1
81ms
 6 4A
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0
49ms
 0 0 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F
80ms
 1 6 4A
38ms
 21 A1 4 0 0 0 0 0 0 0 0
44ms
 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5 B2 C6
82ms
 3F 1 6 46
40ms
 21 A1 4 0 0 0 0 0 0 0
41ms
 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B3
81ms
 C5 3F 1 6 48
45ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5
82ms
 B4 C5 3F 1 6 49
50ms
 21 A1 4 0 0 0 0 0
32ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2
81ms
 5 B2 C6 3F 1 6 48
53ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24
80ms
 D2 5 B3 C5 3F 1 6 48
57ms
 21 A1 4 0 0 0
25ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5
82ms
 24 D2 5 B4 C5 3F 1 6 49
59ms
 21 A1 4 0 0
20ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17
82ms
 F5 24 D2 5 B2 C5 3F 1 6 46
65ms
 21 A1 4 0
16ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32
82ms
 17 F5 24 D2 5 B3 C6 3F 1 6 49
70ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC
81ms
 32 17 F5 24 D2 5 B4 C4 3F 1 6 49
74ms
 21 A1
7ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31
80ms
 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
78ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32
86ms
 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 49
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
88ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
77ms
 71 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
89ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
73ms
 0 72 31 31 BB 32 17 F5 24 D2 5 B4 C6 3F 1 6 49
96ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
67ms
 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
100ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
64ms
 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
102ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
61ms
 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6
78ms
 47
28ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
58ms
 1 0 0 0 0 72 32 31 BB 32 17 F5 24 D2 5 B3 C4 3F 1
77ms
 6 47
32ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
53ms
 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F
77ms
 1 6 47
37ms
 21 A1 4 0 0 0 0 0 0 0 0 0
48ms
 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5 B4 C5
78ms
 3F 1 6 47
41ms
 21 A1 4 0 0 0 0 0 0 0 0
45ms
 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4
77ms
 C5 3F 1 6 49
46ms
 21 A1 4 0 0 0 0 0 0 0
40ms
 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5
78ms
 B2 C6 3F 1 6 48
49ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B3 C6 3F 1 6 48
130ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24
78ms
 D2 5 B4 C5 3F 1 6 49
56ms
 21 A1 4 0 0 0 0
28ms
 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5
77ms
 24 D2 5 B2 C6 3F 1 6 46
62ms
 21 A1 4 0 0 0
24ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17
77ms
 F5 24 D2 5 B2 C6 3F 1 6 48
66ms
 21 A1 4 0 0
20ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32
78ms
 17 F5 24 D2 5 B4 C5 3F 1 6 49
70ms
 21 A1 4 0
15ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BD 32 17 F5 24 D2 5 B2 C5 3F 1 6 47
151ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 32 31
78ms
 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
77ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
87ms
 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71
81ms
 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
86ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
78ms
 71 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
91ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
73ms
 0 72 32 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
94ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
69ms
 0 0 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 4A
96ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
66ms
 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
103ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
62ms
 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
107ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
57ms
 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6
81ms
 49
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
52ms
 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1
81ms
 6 48
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0
49ms
 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
119ms
 21 A1 4 0 0 0 0 0 0 0 0
44ms
 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B2 C6
82ms
 3F 1 6 48
40ms
 21 A1 4 0 0 0 0 0 0 0
41ms
 0 0 0 0 1 0 0 0 0 71 31 31 BA 32 17 F5 24 D2 5 B4
82ms
 C5 3F 1 6 46
45ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5
82ms
 B4 C5 3F 1 6 49
49ms
 21 A1 4 0 0 0 0 0
32ms
 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2
80ms
 5 B2 C6 3F 1 6 46
54ms
 21 A1 4 0 0 0 0
28ms
 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BA 32 17 F5 24
81ms
 D2 5 B4 C6 3F 1 6 47
58ms
 21 A1 4 0 0 0
24ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5
82ms
 24 D2 5 B4 C5 3F 1 6 49
61ms
 21 A1 4 0 0
19ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17
82ms
 F5 24 D2 5 B2 C5 3F 1 6 46
65ms
 21 A1 4 0
17ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32
82ms
 17 F5 24 D2 5 B4 C5 3F 1 6 48
68ms
 21 A1 4
13ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 32 31 BC
81ms
 32 17 F5 24 D2 5 B4 C4 3F 1 6 48
73ms
 21 A1
9ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31
80ms
 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
78ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
86ms
 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 48
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 32 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 49
88ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
77ms
 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 4A
88ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
74ms
 0 72 31 31 BA 32 17 F5 24 D2 5 B4 C6 3F 1 6 48
95ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
69ms
 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
99ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
64ms
 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
101ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
61ms
 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6
78ms
 48
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
57ms
 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B4 C4 3F 1
76ms
 6 47
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
52ms
 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F
78ms
 1 6 47
37ms
 21 A1 4 0 0 0 0 0 0 0 0 0
50ms
 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C6
78ms
 3F 1 6 48
41ms
 21 A1 4 0 0 0 0 0 0 0 0
45ms
 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4
77ms
 C5 3F 1 6 49
46ms
 21 A1 4 0 0 0 0 0 0 0
39ms
 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5
77ms
 B2 C6 3F 1 6 46
50ms
 21 A1 4 0 0 0 0 0 0
36ms
 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
129ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24
78ms
 D2 5 B4 C5 3F 1 6 49
56ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5
78ms
 24 D2 5 B2 C6 3F 1 6 48
61ms
 21 A1 4 0 0 0
25ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17
77ms
 F5 24 D2 5 B3 C6 3F 1 6 48
65ms
 21 A1 4 0 0
20ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32
77ms
 17 F5 24 D2 5 B4 C5 3F 1 6 49
70ms
 21 A1 4 0
16ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC
75ms
 32 17 F5 24 D2 5 B2 C5 3F 1 6 47
73ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31
78ms
 BB 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
78ms
 21 A1
9ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
78ms
 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
86ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
78ms
 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
91ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
71ms
 0 72 32 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
94ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
68ms
 0 0 71 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
98ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
65ms
 0 0 0 71 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
104ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
61ms
 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
107ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
56ms
 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6
82ms
 4A
28ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
53ms
 0 1 0 0 0 0 71 32 31 BA 32 17 F5 24 D2 5 B3 C6 3F 1
81ms
 6 47
32ms
 21 A1 4 0 0 0 0 0 0 0 0 0
50ms
 0 0 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F
82ms
 1 6 4A
38ms
 21 A1 4 0 0 0 0 0 0 0 0
44ms
 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6
82ms
 3F 1 6 47
40ms
 21 A1 4 0 0 0 0 0 0 0
41ms
 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3
81ms
 C6 3F 1 6 48
45ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5
82ms
 B4 C5 3F 1 6 4A
48ms
 21 A1 4 0 0 0 0 0
32ms
 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2
81ms
 5 B2 C6 3F 1 6 47
53ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
140ms
 21 A1 4 0 0 0
25ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5
82ms
 24 D2 5 B4 C5 3F 1 6 49
60ms
 21 A1 4 0 0
19ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32 17
80ms
 F5 24 D2 5 B2 C5 3F 1 6 48
66ms
 21 A1 4 0
16ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32
82ms
 17 F5 24 D2 5 B3 C6 3F 1 6 48
69ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC
81ms
 32 17 F5 24 D2 5 B4 C4 3F 1 6 48
74ms
 21 A1
8ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
161ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
86ms
 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
79ms
 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
88ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
76ms
 72 32 31 BB 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
88ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
74ms
 0 72 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 48
95ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
71ms
 0 0 71 32 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
99ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
65ms
 0 0 0 71 31 31 BD 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
101ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
60ms
 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6
77ms
 47
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
58ms
 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B4 C4 3F 1
76ms
 6 47
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
52ms
 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F
78ms
 1 6 47
37ms
 21 A1 4 0 0 0 0 0 0 0 0 0
50ms
 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5
78ms
 3F 1 6 47
41ms
 21 A1 4 0 0 0 0 0 0 0 0
45ms
 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4
77ms
 C5 3F 1 6 49
44ms
 21 A1 4 0 0 0 0 0 0 0
39ms
 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5
78ms
 B2 C6 3F 1 6 47
49ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C6 3F 1 6 48
130ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24
77ms
 D2 5 B4 C5 3F 1 6 49
58ms
 21 A1 4 0 0 0 0
28ms
 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5
78ms
 24 D2 5 B2 C6 3F 1 6 47
62ms
 21 A1 4 0 0 0
24ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17
77ms
 F5 24 D2 5 B3 C5 3F 1 6 47
65ms
 21 A1 4 0 0
19ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32
78ms
 17 F5 24 D2 5 B4 C5 3F 1 6 4A
69ms
 21 A1 4 0
17ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB
78ms
 32 17 F5 24 D2 5 B2 C5 3F 1 6 46
72ms
 21 A1 4
13ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 33 31
78ms
 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 49
78ms
 21 A1
10ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 33
77ms
 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 4A
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 31 31 BB 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
84ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
78ms
 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
91ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
74ms
 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
94ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
69ms
 0 0 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 4A
98ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
65ms
 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
103ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
61ms
 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
105ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
56ms
 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6
82ms
 48
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
54ms
 0 1 0 0 0 0 71 31 31 BA 32 17 F5 24 D2 5 B3 C7 3F 1
81ms
 6 47
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0
49ms
 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
121ms
 21 A1 4 0 0 0 0 0 0 0 0
43ms
 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B2 C6
82ms
 3F 1 6 47
40ms
 21 A1 4 0 0 0 0 0 0 0
41ms
 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3
78ms
 C5 3F 1 6 47
46ms
 21 A1 4 0 0 0 0 0 0
36ms
 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5
82ms
 B4 C5 3F 1 6 4A
49ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2
81ms
 5 B2 C6 3F 1 6 47
53ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24
83ms
 D2 5 B3 C5 3F 1 6 47
57ms
 21 A1 4 0 0 0
24ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5
82ms
 24 D2 5 B4 C5 3F 1 6 49
60ms
 21 A1 4 0 0
20ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17
79ms
 F5 24 D2 5 B2 C5 3F 1 6 46
65ms
 21 A1 4 0
17ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32
81ms
 17 F5 24 D2 5 B3 C6 3F 1 6 48
71ms
 21 A1 4
13ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC
81ms
 32 17 F5 24 D2 5 B4 C4 3F 1 6 47
74ms
 21 A1
8ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B3 C4 3F 1 6 46
160ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
86ms
 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
80ms
 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
87ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
77ms
 72 31 31 BB 32 17 F5 24 D2 5 B3 C7 3F 1 6 49
90ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
74ms
 0 72 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 48
95ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
70ms
 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
98ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
64ms
 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B3 C6 3F 1 6 49
102ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
60ms
 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6
78ms
 48
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
57ms
 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B4 C4 3F 1
79ms
 6 47
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
52ms
 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F
78ms
 1 6 47
36ms
 21 A1 4 0 0 0 0 0 0 0 0 0
51ms
 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5
75ms
 3F 1 6 47
41ms
 21 A1 4 0 0 0 0 0 0 0 0
45ms
 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4
77ms
 C5 3F 1 6 49
44ms
 21 A1 4 0 0 0 0 0 0 0
40ms
 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5
78ms
 B4 C4 3F 1 6 46
49ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 72 32 31 BB 32 17 F5 24 D2
79ms
 5 B3 C5 3F 1 6 48
52ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24
78ms
 D2 5 B4 C5 3F 1 6 49
57ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5
75ms
 24 D2 5 B3 C6 3F 1 6 48
61ms
 21 A1 4 0 0 0
25ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17
76ms
 F5 24 D2 5 B3 C6 3F 1 6 48
66ms
 21 A1 4 0 0
20ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32
78ms
 17 F5 24 D2 5 B4 C5 3F 1 6 4A
70ms
 21 A1 4 0
16ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C6 3F 1 6 48
153ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31
78ms
 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 48
79ms
 21 A1
9ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
75ms
 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 31 31 BB 32 17 F5 24 D2 5 B3 C6 3F 1 6 48
85ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
77ms
 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
92ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
74ms
 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
94ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
68ms
 0 0 71 32 31 BA 32 17 F5 24 D2 5 B4 C5 3F 1 6 47
98ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
64ms
 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
103ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
62ms
 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
106ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
57ms
 1 0 0 0 0 71 31 31 BD 32 17 F5 24 D2 5 B3 C6 3F 1 6
82ms
 49
28ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
55ms
 0 1 0 0 0 0 71 32 31 BB 32 17 F5 24 D2 5 B3 C7 3F 1
79ms
 6 49
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0
49ms
 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F
83ms
 1 6 48
36ms
 21 A1 4 0 0 0 0 0 0 0 0
43ms
 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B2 C6
82ms
 3F 1 6 47
41ms
 21 A1 4 0 0 0 0 0 0 0
41ms
 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3
82ms
 C5 3F 1 6 47
45ms
 21 A1 4 0 0 0 0 0 0
37ms
 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5
82ms
 B4 C5 3F 1 6 4A
49ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2
79ms
 5 B3 C6 3F 1 6 48
53ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24
82ms
 D2 5 B3 C5 3F 1 6 47
57ms
 21 A1 4 0 0 0
24ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5
82ms
 24 D2 5 B4 C5 3F 1 6 49
62ms
 21 A1 4 0 0
20ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17
82ms
 F5 24 D2 5 B4 C6 3F 1 6 48
66ms
 21 A1 4 0
16ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32
82ms
 17 F5 24 D2 5 B3 C6 3F 1 6 48
71ms
 21 A1 4
13ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC
79ms
 32 17 F5 24 D2 5 B4 C4 3F 1 6 48
74ms
 21 A1
8ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31
83ms
 BC 32 17 F5 24 D2 5 B4 C4 3F 1 6 47
75ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
86ms
 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
83ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
87ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
77ms
 71 32 31 BC 32 17 F5 24 D2 5 B3 C4 3F 1 6 47
90ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
72ms
 0 72 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 48
95ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
71ms
 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
97ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
65ms
 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B3 C4 3F 1 6 47
102ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
62ms
 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6
76ms
 47
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
57ms
 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B4 C4 3F 1
78ms
 6 47
32ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
51ms
 0 1 0 0 0 0 71 31 31 BD 32 17 F5 24 D2 5 B4 C5 3F
78ms
 1 6 49
37ms
 21 A1 4 0 0 0 0 0 0 0 0 0
50ms
 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5
77ms
 3F 1 6 47
41ms
 21 A1 4 0 0 0 0 0 0 0 0
45ms
 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4
78ms
 C5 3F 1 6 49
45ms
 21 A1 4 0 0 0 0 0 0 0
40ms
 0 0 0 0 1 0 0 0 0 72 31 31 BD 32 17 F5 24 D2 5
76ms
 B4 C5 3F 1 6 4A
50ms
 21 A1 4 0 0 0 0 0 0
36ms
 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32 17 F5 24 D2
78ms
 5 B3 C5 3F 1 6 47
53ms
 21 A1 4 0 0 0 0 0
31ms
 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24
78ms
 D2 5 B4 C5 3F 1 6 49
57ms
 21 A1 4 0 0 0 0
31ms
 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5
77ms
 24 D2 5 B4 C5 3F 1 6 48
61ms
 21 A1 4 0 0 0
25ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BB 32 17
78ms
 F5 24 D2 5 B3 C5 3F 1 6 48
66ms
 21 A1 4 0 0
21ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32
76ms
 17 F5 24 D2 5 B4 C5 3F 1 6 4A
69ms
 21 A1 4 0
17ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BB
77ms
 32 17 F5 24 D2 5 B2 C4 3F 1 6 44
71ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31
78ms
 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 48
79ms
 21 A1
10ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
77ms
 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48
82ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71
82ms
 31 31 BB 32 17 F5 24 D2 5 B4 C4 3F 1 6 46
86ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
76ms
 72 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
91ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0
74ms
 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
93ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0
69ms
 0 0 71 32 31 BC 32 17 F5 24 D2 5 B4 C4 3F 1 6 48
98ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0
65ms
 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
103ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1
61ms
 0 0 0 0 72 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
107ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0
55ms
 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6
82ms
 49
29ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0
53ms
 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5 B3 C7 3F 1
81ms
 6 48
33ms
 21 A1 4 0 0 0 0 0 0 0 0 0
49ms
 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49
120ms
 21 A1 4 0 0 0 0 0 0 0 0
44ms
 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B2 C6
79ms
 3F 1 6 47
41ms
 21 A1 4 0 0 0 0 0 0 0
41ms
 0 0 0 0 1 0 0 0 0 72 32 31 BB 32 17 F5 24 D2 5 B3
82ms
 C5 3F 1 6 48
45ms
 21 A1 4 0 0 0 0 0 0
36ms
 0 0 0 0 0 1 0 0 0 0 72 31 31 BD 32 17 F5 24 D2 5
82ms
 B4 C5 3F 1 6 4A
49ms
 21 A1 4 0 0 0 0 0
33ms
 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2
81ms
 5 B2 C6 3F 1 6 47
53ms
 21 A1 4 0 0 0 0
29ms
 0 0 0 0 0 0 0 1 0 0 0 0 71 32 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 47
141ms
 21 A1 4 0 0 0
25ms
 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BD 32 17 F5
80ms
 24 D2 5 B4 C5 3F 1 6 4A
61ms
 21 A1 4 0 0
21ms
 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17
81ms
 F5 24 D2 5 B2 C5 3F 1 6 46
65ms
 21 A1 4 0
17ms
 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BB 32
82ms
 17 F5 24 D2 5 B3 C6 3F 1 6 48
71ms
 21 A1 4
12ms
 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC
81ms
 32 17 F5 24 D2 5 B4 C5 3F 1 6 4A
74ms
 21 A1
8ms
 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 48
161ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31
83ms
 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 47
83ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72
82ms
 32 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 49
86ms
 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
76ms
 71 31 31 BB 32 17 F5 24 D2 5 B4 C5 3F 1 6 47
67ms
 2
7ms
 B2
7ms
 0
7ms
 B4
23ms
 6 F0 AA 10 32 10 1 F2

При скорости 9600:


1017ms
 0
2239ms
 66 E6
53ms
 18 E6 0
27ms
 FE FE
65ms
 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 0 F8 0 FE 0 F8 86 F8 0 F8 66 F8 78 F8 86 F8 7E F8 80 F8 66 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 78 F8 86 F8 78 F8 0 F8 0 F8 7E F8 86 F8 7E F8 0 F8 0 F8 6 F8 18 F8 0 F8 1E F8 78 80 FE 18 0 FE 0 18 FE 78 0 98 E6 0 E0 18 F8 0 E0 6 18 78 0 98 E6 0 E0 18 F8 0 E0 6 18 18 6 E0 0 1E E0 6 F8 6 FE 60 0 0 0 0 0 0 0 0 0 0 0 6
618ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 86 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
4ms
 0
5ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 6
5ms
 0
6ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 7E FE F8 6 78 9E 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
5ms
 0
4ms
 0
5ms
 0
6ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 7E FE
104ms
 6 F8 6 FE 60 0 0
26ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 78 FE F8 6 78 86 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
4ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 6
5ms
 0
6ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
4ms
 0
5ms
 0
6ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 7E FE
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
4ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 6
5ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 18 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 7E FE F8 6 78 E0 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
4ms
 0
4ms
 0
6ms
 6 FE 18 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 86 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
4ms
 6
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 6
5ms
 0
6ms
 0
5ms
 0
5ms
 0
4ms
 6 FE 18 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 7E FE F8 6 78 98 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
5ms
 0
4ms
 0
4ms
 0
6ms
 6 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 80 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 6
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 18 FE 78 FE F8 6 78 7E FE
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
4ms
 0
5ms
 6
5ms
 0
6ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 86 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 9E FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 7E FE
104ms
 6 F8 6 FE 60 0 0
25ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 7E FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 18 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 98 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
5ms
 0
4ms
 0
6ms
 0
5ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 78 FE F8 6 78 86 98
104ms
 6 F8 6 FE 60 0 0
26ms
 0
4ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 86 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 86 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
4ms
 0
6ms
 0
5ms
 6 FE 6 F8 6 F8 9E FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 78 FE
104ms
 6 F8 6 FE 60 0 0
26ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 86 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
4ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 18 FE 18 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 9E 98
105ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
4ms
 0
6ms
 0
5ms
 6 FE 18 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 80 98
104ms
 6 F8 6 FE 60 0 0
26ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
4ms
 0
6ms
 0
5ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 7E FE
104ms
 6 F8 6 FE 60 0 0
25ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
4ms
 0
4ms
 6
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 18 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 80 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
4ms
 0
4ms
 6
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 80 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 6 FE 6 F8 6 F8 9E FE 18 F8 7E E0 66 60 F8 18 FE 66 60 FE 66 FE F8 6 78 7E FE
104ms
 6 F8 6 FE 60 0 0
26ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 80 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 6
6ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 86 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 6 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 80 98
104ms
 6 F8 6 FE 60 0 0
26ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 18 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 98 98
105ms
 6 F8 6 FE 60 0 0
24ms
 0
6ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
6ms
 6
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 18 FE 18 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 66 FE F8 6 78 98 98
106ms
 6 F8 6 FE 60 0 0
24ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 6
5ms
 0
4ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E6 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 98 98
104ms
 6 F8 6 FE 60 0 0
25ms
 0
5ms
 0
4ms
 0
4ms
 0
5ms
 0
5ms
 0
6ms
 0
5ms
 0
5ms
 0
4ms
 6
4ms
 0
5ms
 0
5ms
 0
5ms
 0
5ms
 18 FE 6 F8 6 F8 E0 FE 18 F8 7E E0 66 60 F8 18 FE 66 1E FE 78 FE F8 6 78 86 98 18 18 FE 0
105ms
 60 FE
23ms
 78
6ms
 0
5ms
 98 E6 0 E0 18 F8 0 E0 6 18

А вот, кстати, лог от Опель-сканер ECU какой красивый получился:


175ms
 0
50ms
 81 11 F1 81 4
61ms
 83 F1 11 C1 EF 8F C4
137ms
 82 11 F1 1A 81 1F
71ms
 A2 F1 11 5A 81 4 90 6F 62 3 98 6A 3 99 44 3 92 44 3 91 6B 3 94 64 3 95 2 3 96 66 3 97 66 3 9A 2 FF D3 82 11 F1 1A 80 1E 80 F1 11 44 5A 80 57 30 4C 30 30 30 30 33 36 56 31 31 36 36 37 37 32 53 30 30 31 30 30 34 39 32 34 19 98 12 14 16 20 22 80 31 36 32 30 32 20 30 81 11 F1 3E C1 81 F1 11 7E 1 84 11 F1 18 0 FF 0 9D 85 F1 11 58 1 1 70 22 73 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1
1676ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
68ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
64ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
132ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
136ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
68ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
137ms
 81 11 F1 3E C1
64ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
64ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
132ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
136ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
138ms
 84 11 F1 18 0 FF 0 9D
86ms
 85 F1 11 58 1 1 70 22 73
137ms
 81 11 F1 3E C1
63ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
68ms
 81 F1 11 7E 1
136ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
138ms
 84 11 F1 18 0 FF 0 9D
87ms
 85 F1 11 58 1 1 70 22 73
137ms
 81 11 F1 3E C1
62ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
68ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
134ms
 82 11 F1 21 1 A6
74ms
 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 68 36 6E 8A F 34 0 0 0 0 0 1E 0 0 0 FF 49 0 0 65 80 12 73 0 FF 4A 0 0 80 84 8 27 34 0 0 0 B7 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 68 36 6E 8A F 34 0 0 0 0 0 1E 0 0 0 FF 49 80 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 68 0 65 34 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 73 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 36 0 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 F 0 8 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 65 34 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 12 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 12 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 36 0 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 68 34 0 27 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 12 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 36 0 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 F 0 8 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 65 34 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 12 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 68 0 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 F 0 8 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 65 34 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 0 12 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 68 0 0 82 11 F1 21 1 A6 B0 F1 11 61 1 1 1 70 22 0 0 0 F9 75 48 F 0 8 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1 81 F1 11 7E 1 81 11 F1 3E C1
6497ms
 81 F1 11 7E 1
132ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
68ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
65ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
68ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
64ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
135ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
133ms
 81 11 F1 3E C1
67ms
 81 F1 11 7E 1
134ms
 81 11 F1 3E C1
66ms
 81 F1 11 7E 1
133ms
 81 11 F1 82 5
67ms
 81 F1 11 C2 45

 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

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

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

а также читаем сообщение #819 этой темы

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

ага, вижу сниф со второго сканера  - он нормально прошел. Скомпоновал его, всё сходится с ТС:

55 52 80

7F

 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78

 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78

 2 B0 0 B2

 6 F0 AA 10 32 10 1 F2

 6 F0 AA 10 32 10 1 F2

 2 11 0 13

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 33 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 49

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5 B3 C5 3F 1 6 46

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 49

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BB 32 17 F5 24 D2 5 B3 C7 3F 1 6 4A

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 32 31 BC 32 17 F5 24 D2 5 B4 C5 3F 1 6 4A

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 71 31 31 BB 32 17 F5 24 D2 5 B2 C6 3F 1 6 46

 21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 72 31 31 BC 32 17 F5 24 D2 5 B3 C5 3F 1 6 48

и т.д.

 

Targitai
Offline
Зарегистрирован: 05.10.2018

Почитал... завис :) Долго переваривать буду, ну не программер я.... так, рядом пробегал.

Хорошо, получается, что у меня практически все сходится с ТС? Но тем не менее, как же заставить общаться с приборкой и ЭБУ по одному пину? Я так предполагаю, что читать данные пробега и бака можно при включении зажигания только, а дальше уже при выключении заносить в EEPROM. Но тогда пробег придется через скорость/время считать, из-за чего расхождения могут быть....

Попробую выпилить из скетча все упоминания про несипользуемые пока библиотеки, кнопки и экран. Может на UNO получится в сериале потестить?

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

да щас напишу обмен с приборкой. Можно будет чередовать обмен ЭБУ и щитка, ниче в этом такого плохого нет. Ну будет немного затупать в момент обмена со считком, но это редко (раз в минуту например) .

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

вот пробуйте завязаться со щитком .. ИСПРАВИЛ!


#define BAUD_200  0
#define BAUD_5    1


bool Protocol = BAUD_200;  // тут выбираем протокол 200 baud или 5 baud 

int  bit_time = 0;

#include <SoftwareSerial.h>

SoftwareSerial Gauge_K_line (7, 8); // RX, TX
#define TX_gauge 8

bool InitGauge = 0; // инит панели: 0 - не прошел, 1- прошел

void setup() {
  Serial.begin (9600); //открываем соединениt терминала для отладки

  if (Protocol) bit_time = 200;
  else bit_time = 5;
  
  pinMode  (TX_gauge, OUTPUT);
  digitalWrite  (TX_gauge, 1);
  delay (2000);

// далее посылаем на панель адрес на скорости 5 baud или 200 baud (пробуем адрес 0xE0)
  Serial.println("Delayu zapros na panel. Adress 0xE0");
  digitalWrite  (TX_gauge, 0);  
  delay (6*bit_time);     //1старт бит+5нулевых бит
  digitalWrite  (TX_gauge, 1); 
  delay (3*bit_time);     //3 положительных бита

Gauge_K_line.begin(4800); // открываем к-лайн на приборку на 4800
}

byte head_count = 0;
byte head[4] = {0};


void loop() {
 while(!InitGauge){
   if (Gauge_K_line.available()) {
   byte inByte = Gauge_K_line.read();
   Serial.print(" ");
   Serial.print(inByte,HEX);
  if (inByte==0x80) {Gauge_K_line.write (0x7F); delay (2);}
  if (inByte==0x78) {
    Gauge_K_line.write (0x02);  delay (2);
    Gauge_K_line.write (0x11);  delay (2);
    Gauge_K_line.write (byte(0x00));  delay (2);
    Gauge_K_line.write (0x13);  delay (2); InitGauge=1; Serial.println("Ura! Panel init proshla uspeshno!"); }}}
 
 
 if (InitGauge && Gauge_K_line.available()) {
  
  
  
  
  // ниже ищем шапку кадра 
     
     byte inbyte = Gauge_K_line.read();
     delay (7);
         if (inbyte == 0x21 && head_count == 0) {head_count = 1; head[0] = inbyte; } 
    else if (inbyte == 0xA1 && head_count == 1) {head_count = 2; head[1] = inbyte; } 
    else if (inbyte == 0x04 && head_count == 2) {head_count = 3; head[2] = inbyte; } 
    else {head_count = 0; for (byte i=0; i<sizeof(head); i++) head[i] = 0;} 

    // нашли шапку: 
  
  if (head_count == 3){
    
    head_count = 0; // очищаем переменную поиска шапки 
    
     byte Length = head[0];
     if (Length>100)Length=100;
    
    const byte sizeMes = Length+2;
    
    byte MessageRx [sizeMes] = {0};
    uint16_t crc = 0; 
    for (byte i=0; i<3; i++){MessageRx[i]= head[i]; crc += MessageRx[i]; head[i] = 0; Serial.print (MessageRx[i], HEX); Serial.print (" ");}  // очищаем переменные поиска шапки 
    
    bool CRC_OK = 0;

    // ниже пишем сообщение в буфер и считаем КС
    for (byte i = 3; i < sizeMes; i++) { MessageRx[i] = Gauge_K_line.read();  if (i!=sizeMes-2) crc += MessageRx[i]; delay (7); Serial.print (MessageRx[i], HEX); Serial.print (" "); }
   Serial.println();
int CRC =  ( ( unsigned int )MessageRx [sizeMes-2] << 8 ) | MessageRx [sizeMes-1];
if (CRC==crc) CRC_OK = 1;

     if (CRC_OK){

Serial.println ("Ya prinyal pravilnye parametry ot paneli pribirov!!!");
   
   } // конец ифа с правильной CRC  

   else  Serial.println("CRC FAIL!!!");
   
  
  
  
  
  
  
  }   

}

}

update: Еще исправил

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

если нет соединения, вот ещё скетч вверху выбираем и пробуем разные скорости инита (5 или 200 baud) и разные адреса панели (0xE0, 0xE1, 0xB8, 0XB9, 0xBA)


#define BAUD_200  0
#define BAUD_5    1

bool Protocol = BAUD_200;   // тут выбираем протокол 200 baud или 5 baud 
byte GAUGE_ADDRESS = 0xE0;  // тут выбираем адрес панели. Возможные варианты 0xE0, 0xE1, 0xB8, 0XB9, 0xBA

int  bit_time = 0;

#include <SoftwareSerial.h>

#define RX_gauge 7
#define TX_gauge 8
SoftwareSerial Gauge_K_line (RX_gauge, TX_gauge); 

bool InitGauge = 0;    // флаг инита панели

void setup() {
  Serial.begin (9600); //открываем соединение терминала для отладки

  pinMode  (TX_gauge, OUTPUT);
  digitalWrite  (TX_gauge, 1); // BUS idle
  delay (2000);

// далее посылаем на панель адрес на скорости 5 baud или 200 baud 
  
  Serial.print("Delayu zapros na panel. Adress: "); Serial.println(GAUGE_ADDRESS, HEX);

  if (Protocol) {bit_time = 200; Serial.println("5 baud Init"); }
  else {bit_time = 5;            Serial.println("200 baud Init"); }
  digitalWrite  (TX_gauge, 0); delay (bit_time); // старт бит
  for(byte i = 0; i<8; i++) {digitalWrite  (TX_gauge, bitRead(GAUGE_ADDRESS,i)); delay(bit_time);}
  digitalWrite  (TX_gauge, 1); delay (bit_time); // стоп бит
  
Gauge_K_line.begin(4800); // открываем к-лайн на приборку на 4800
}

byte head_count = 0;
byte head[4] = {0};


void loop() {
 while(!InitGauge){
   if (Gauge_K_line.available()) {
   byte inByte = Gauge_K_line.read();
   Serial.print(" ");
   Serial.print(inByte,HEX);
  if (inByte==0x80) {Gauge_K_line.write (0x7F); delay (2);}
  if (inByte==0x78) {
    Gauge_K_line.write (0x02);  delay (2);
    Gauge_K_line.write (0x11);  delay (2);
    Gauge_K_line.write (byte(0x00));  delay (2);
    Gauge_K_line.write (0x13);  delay (2); InitGauge=1; Serial.println("Ura! Panel init proshla uspeshno!"); }}}
 
 
 if (InitGauge && Gauge_K_line.available()) {
  
  
  
  
  // ниже ищем шапку кадра 
     
     byte inbyte = Gauge_K_line.read();
     delay (7);
         if (inbyte == 0x21 && head_count == 0) {head_count = 1; head[0] = inbyte; } 
    else if (inbyte == 0xA1 && head_count == 1) {head_count = 2; head[1] = inbyte; } 
    else if (inbyte == 0x04 && head_count == 2) {head_count = 3; head[2] = inbyte; } 
    else {head_count = 0; for (byte i=0; i<sizeof(head); i++) head[i] = 0;} 

    // нашли шапку: 
  
  if (head_count == 3){
    
    head_count = 0; // очищаем переменную поиска шапки 
    
     byte Length = head[0];
     if (Length>100)Length=100;
    
    const byte sizeMes = Length+2;
    
    byte MessageRx [sizeMes] = {0};
    uint16_t crc = 0; 
    for (byte i=0; i<3; i++){MessageRx[i]= head[i]; crc += MessageRx[i]; head[i] = 0; Serial.print (MessageRx[i], HEX); Serial.print (" ");}  // очищаем переменные поиска шапки 
    
    bool CRC_OK = 0;

    // ниже пишем сообщение в буфер и считаем КС
    for (byte i = 3; i < sizeMes; i++) { MessageRx[i] = Gauge_K_line.read();  if (i!=sizeMes-2) crc += MessageRx[i]; delay (7); Serial.print (MessageRx[i], HEX); Serial.print (" "); }
   Serial.println();
int CRC =  ( ( unsigned int )MessageRx [sizeMes-2] << 8 ) | MessageRx [sizeMes-1];
if (CRC==crc) CRC_OK = 1;

     if (CRC_OK){

Serial.println ("Ya prinyal pravilnye parametry ot paneli pribirov!!!");
   
   } // конец ифа с правильной CRC  

   else  Serial.println("CRC FAIL!!!");
   
  
  
  
  
  
  
  }   

}

}

 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Наиболее вероятен вариант с адресом 0xE0 init 5 baud

Targitai
Offline
Зарегистрирован: 05.10.2018

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

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

А у вас же есть юсб клайн адаптер? Подключите к-лайн_дуню к нему. Покидайте в нее байтами на 4800 через терминальную программу. Посмотрите в мониторе порта дуни прилетают ли? Сдается мне что то подключили неправильно

Targitai
Offline
Зарегистрирован: 05.10.2018

Для проверки залил скетч на 5baut+2101 - он работает. Так что, наверное, подключено все правильно.

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Там скорость сериал монитора 115200 стоит. В моем скетче 9600. Может вы на 115200 смотрели?

Targitai
Offline
Зарегистрирован: 05.10.2018

Упс :)

Delayu zapros na panel. Adress: E0
5 baud Init
 55 52 80 FF 55 52 80 FF

И все. С другими параметрами даже этих данных нет (55 52...)

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Строка 047 пробовать убрать delay или наоборот пробовать больше сделать 5, 10, 25 может

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

Также delay пробуем переставить так и играемся его значением:

if (inByte==0x80) { delay (2); Gauge_K_line.write (0x7F); }

Targitai
Offline
Зарегистрирован: 05.10.2018

Методом научного тыка выяснено, что инит приборки проходит при минимальной зедержки - 70 мс. Причем проходит строго каждый второй инит.

Delayu zapros na panel. Adress 0xE0
 55 52 80 FF 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78Ura! Panel init proshla uspeshno!
Delayu zapros na panel. Adress 0xE0
Delayu zapros na panel. Adress 0xE0
 55 52 80 FF 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78Ura! Panel init proshla uspeshno!
Delayu zapros na panel. Adress 0xE0
Delayu zapros na panel. Adress 0xE0
 55 52 80 FF 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78Ura! Panel init proshla uspeshno!

Если выставить задержку 150 или больше, то там еще какой-то мусор сыпется и кричит CRC Error

Delayu zapros na panel. Adress 0xE0
 55 52 80 FF 55 52 80 FF 20 A0 20 39 30 35 36 39 37 38 35 20 30 36 39 36 20 30 36 39 36 20 30 37 39 37 20 30 31 32 20 33 6 78Ura! Panel init proshla uspeshno!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 77 2E 2E 65 53 CA FA 24 C1 1 B7 CA 3F 1 6 BD 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 78 2E 2E 65 53 CA FA 24 C1 1 B7 CA 3F 1 6 BE 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 78 2E 2E 66 53 CA FA 24 C1 1 B7 C9 3F 1 6 BE 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 77 2E 2E 66 53 CA FA 24 C1 1 B7 CA 3F 1 6 BE 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 78 2E 2E 65 53 FA C1 B6 3F 6 21 A1 4 0 0 0 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 1 0 0 2E 66 53 FA C1 B7 3F 6 21 A1 4 0 0 0 0 0 0 0 0 0 0 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 0 2E 66 CA 24 1 C9 1 6 21 A1 4 0 0 0 0 0 0 0 0 0 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 0 0 0 78 2E 65 CA 24 1 CA 1 BE 21 A1 4 0 0 0 0 0 0 0 0 0 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 1 0 0 78 2E 53 FA C1 B6 CA 1 BE 21 A1 4 0 0 0 0 0 0 0 0 0 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 1 0 0 2E 65 CA 24 1 C9 1 BD 21 A1 4 0 0 0 0 0 0 0 0 1 0 
CRC FAIL!!!
21 A1 4 0 0 0 0 0 0 0 0 1 0 0 2E 2E 53 FA C1 B7 3F 1 BE 21 A1 4 0 0 0 0 0 0 0 0 1 
CRC FAIL!!!

 

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

не понял, почему после фразы Ura! Panel init proshla uspeshno! опять попытки инита, там должно сразу выйти из цикла while. иливы скетч поменяли? выкладывайте скетч

Targitai
Offline
Зарегистрирован: 05.10.2018

Кнопка ресет на Ардуинке :) Ну так, чисто убедится что оно не случайно инициализировалось

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

понятно. чето я намудрил с checksum похоже. Вроде все байты прилетают а пишет crc fail. Проверю

Targitai
Offline
Зарегистрирован: 05.10.2018

А как должно быть то? Как при 70 мс или как при 150?

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

нижний лог вообщето это не мусор, это уже полезные параметры со щитка пошли, такчто видимо 150 надо и еще задержку в строке 087 увеличить, а то не всегда все байты успевает захватить

MaksVV
Онлайн
Зарегистрирован: 06.08.2015

исправил  проблемы с Checksum

#define BAUD_200  0
#define BAUD_5    1

bool Protocol = BAUD_5;   // тут выбираем протокол 200 baud или 5 baud 
byte GAUGE_ADDRESS = 0xE0;  // тут выбираем адрес панели. Возможные варианты 0xE0, 0xE1, 0xB8, 0XB9, 0xBA

int  bit_time = 0;

#include <SoftwareSerial.h>

#define RX_gauge 7
#define TX_gauge 8
SoftwareSerial Gauge_K_line (RX_gauge, TX_gauge); 

bool InitGauge = 0;    // флаг инита панели

void setup() {
  Serial.begin (9600); //открываем соединение терминала для отладки

  pinMode  (TX_gauge, OUTPUT);
  digitalWrite  (TX_gauge, 1); // BUS idle
  delay (2000);

// далее посылаем на панель адрес на скорости 5 baud или 200 baud 
  
  Serial.print("Delayu zapros na panel. Adress: "); Serial.println(GAUGE_ADDRESS, HEX);

  if (Protocol) {bit_time = 200; Serial.println("5 baud Init"); }
  else {bit_time = 5;            Serial.println("200 baud Init"); }
  digitalWrite  (TX_gauge, 0); delay (bit_time); // старт бит
  for(byte i = 0; i<8; i++) {digitalWrite  (TX_gauge, bitRead(GAUGE_ADDRESS,i)); delay(bit_time);}
  digitalWrite  (TX_gauge, 1); delay (bit_time); // стоп бит
  
Gauge_K_line.begin(4800); // открываем к-лайн на приборку на 4800
}

byte head_count = 0;
byte head[4] = {0};


void loop() {
 while(!InitGauge){
   if (Gauge_K_line.available()) {
   byte inByte = Gauge_K_line.read();
   Serial.print(" ");
   Serial.print(inByte,HEX);
  if (inByte==0x80) {delay (150); Gauge_K_line.write (0x7F); }
  if (inByte==0x78) {
    Gauge_K_line.write (0x02);  delay (2);
    Gauge_K_line.write (0x11);  delay (2);
    Gauge_K_line.write (byte(0x00));  delay (2);
    Gauge_K_line.write (0x13);  delay (2); InitGauge=1; Serial.println("   Ura! Panel init proshla uspeshno!"); }}}
 
 
 if (InitGauge && Gauge_K_line.available()) {
  
  
  
  
  // ниже ищем шапку кадра 
     
     byte inbyte = Gauge_K_line.read();
     delay (7);
         if (inbyte == 0x21 && head_count == 0) {head_count = 1; head[0] = inbyte; } 
    else if (inbyte == 0xA1 && head_count == 1) {head_count = 2; head[1] = inbyte; } 
    else if (inbyte == 0x04 && head_count == 2) {head_count = 3; head[2] = inbyte; } 
    else {head_count = 0; for (byte i=0; i<sizeof(head); i++) head[i] = 0;} 

    // нашли шапку: 
  
  if (head_count == 3){
    
    head_count = 0; // очищаем переменную поиска шапки 
    
     byte Length = head[0];
     if (Length>100)Length=100;
    
    const byte sizeMes = Length+2;
    
    byte MessageRx [sizeMes] = {0};
    uint16_t crc = 0; 
    for (byte i=0; i<3; i++){MessageRx[i]= head[i]; crc += MessageRx[i]; head[i] = 0; Serial.print (MessageRx[i], HEX); Serial.print (" ");}  // очищаем переменные поиска шапки 
    
    bool CRC_OK = 0;

    // ниже пишем сообщение в буфер и считаем КС
    for (byte i = 3; i < sizeMes; i++) { MessageRx[i] = Gauge_K_line.read();  if (i<=sizeMes-3) crc += MessageRx[i]; delay (10); Serial.print (MessageRx[i], HEX); Serial.print (" "); }
//   Serial.println();
int CRC =  ( ( unsigned int )MessageRx [sizeMes-2] << 8 ) | MessageRx [sizeMes-1];
if (CRC==crc) CRC_OK = 1;

     if (CRC_OK){

Serial.println (" OK!!!");
   
   } // конец ифа с правильной CRC  

   else  Serial.println("  CRC FAIL!!!");
   
  
  
  
  
  
  
  }   

}

}