mc 33290 и k-line адаптер

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну вот видите, теперь всё совпадает)) ищите также на панель приборов и выбирайте параметры которые вам надо, добавить в скетч я помогу

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

ок)) ша найдем )))
только вот тут на моё больше похоже:

Илья_69, у тя, вроде как дизель ??? Какой, опять-же ??? В подписи - и Шарабан... и Мерин... а самого главного, кода мотора и г\в - нету...

У бензов, гр.023 (вернее с гр.020 по 029 - Антидетонационное регулирование)

Прилагаю файлик с группами измерений для бензовых моторов (это с Росс-Теха...), ессно, для дизелей - "некатит"...

Для PD с 2001 г.в. :

https://sharanovod.ru/viewtopic.php?t=153&start=40

MaksVV
Offline
Зарегистрирован: 06.08.2015

попробуйте мой скетч #83, исправил

да там подходит точнее, это ваше

MaksVV
Offline
Зарегистрирован: 06.08.2015

вот какие параметры в скетче Александра присутствуют, можно ещё свои добавить.

int8_t coolantTemp = 0;
int8_t oilTemp = 0;
int8_t intakeAirTemp = 0;
int8_t oilPressure = 0;
float engineLoad = 0;
int   engineSpeed = 0;
float throttleValve = 0;
float supplyVoltage = 0;
uint8_t vehicleSpeed = 0;
uint8_t fuelConsumption = 0;
uint8_t fuelLevel = 0;
unsigned long odometer = 0;

 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

MaksVV пишет:

попробуйте мой скетч #83, исправил

да там подходит точнее, это ваше

---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
 Rx: 55 Rx: 1 Rx: 8A Tx: 75 Rx: 1B Tx: E4 Rx: 1 Tx: FE Rx: F6 Tx: 9 Rx: 30 Tx: CF Rx: 32 Tx: CD Rx: 38 Tx: C7 Rx: 39 Tx: C6 Rx: 30 Tx: CF Rx: 36 Tx: C9 Rx: 30 Tx: CF Rx: 32 Tx: CD Rx: 31 Tx: CE Rx: 47 Tx: B8 Rx: 54 Tx: AB Rx: 20 Tx: DF Rx: 31 Tx: CE Rx: 2C Tx: D3 Rx: 39 Tx: C6 Rx: 6C Tx: 93 Rx: 20 Tx: DF Rx: 52 Tx: AD Rx: 34 Tx: CB Rx: 20 Tx: DF Rx: 45 Tx: BA Rx: 44 Tx: BB Rx: 43 Tx: BC Rx: 20 Tx: DF Tx: 3    END of ID_1

 Rx: 3 Rx: FC Tx: 2 Rx: FD Tx: 9 Rx: F6 Tx: 3    END of Present_1

 Rx: 7 Tx: F8 Rx: 3 Tx: FC Rx: F6 Tx: 9 Rx: 20 Tx: DF Rx: 47 Tx: B8 Rx: 34 Tx: CB Rx: 31 Tx: CE Rx: 3 Tx: 3     END of ID_2

 Rx: FC Tx: 4 Rx: FB Tx: 9 Rx: F6 Tx: 3     END of Present_2

 Rx: B Tx: F4 Rx: 5 Tx: FA Rx: F6 Tx: 9 Rx: 53 Tx: AC Rx: 47 Tx: B8 Rx: 20 Tx: DF Rx: 20 Tx: DF Rx: 31 Tx: CE Rx: 39 Tx: C6 Rx: 30 Tx: CF Rx: 36 Tx: C9 Rx: 3 Tx: 3    END of ID_3

 Tx: FC Rx: FC Tx: 6 Rx: F9 Tx: 9 Rx: F6 Tx: 3        END of Present_3

 Rx: 8 Rx: 8 Rx: 8

 

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну наконец-то прошли идентификацию)

MaksVV
Offline
Зарегистрирован: 06.08.2015

идём далее , мой скетч

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); //R,T
#define TX 11


byte ECUaddress = 0x01;   // адрес блока двигателя, можно попробовать с другими адресами


bool Init = 0;

byte Parameter;           //номер передаваемого параметра от ECU
byte a;
byte b;
uint8_t number = 0;
byte counter = 0x02; 
byte countPID = 0; 
byte countID = 0; 

int RPM = 0;             // переменная оборотов





void setup() 
{
Serial.begin (115200);
Serial.println(F("---KWP 5 baud init"));
delay (500);
pinMode (TX, OUTPUT);
digitalWrite (TX, HIGH); // BUS IDLE
delay (500);



send5baud(ECUaddress); // функция отправки адреса блоку
mySerial.begin (9600);

}


void loop() {


  

if( mySerial.available()>0) { 
  delay(5);
  
    byte inByte = mySerial.read();
    Serial.print(" Rx: ");
    Serial.print(inByte,HEX);
    
    if (!Init){
      
    
      if (number ==0 && inByte == 0x8A){ countID++;  mySerial.write (0x75) ; Serial.print(" Tx: "); Serial.print(0x75,HEX); number++;} 
 else if (number ==1) { mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX); 
          if (countID>=27) {delay (10); number=4;  countID = 0;  mySerial.write (0x03);  Serial.print(" Tx: "); Serial.print(0x03,HEX); Serial.println ("    END of ID_1");  Serial.println ();}
           countID++;}                                //первый блок идентификаторов
      
      
    
 else if (number==4 && inByte == 0xFC){mySerial.write (counter); Serial.print(" Tx: "); Serial.print(counter,HEX);  number++;}
 else if (number==5 && inByte == (counter^0xFF)){ counter++; mySerial.write (0x09); Serial.print(" Tx: "); Serial.print(0x09,HEX); number++;}
 else if (number==6 && inByte == 0xF6){ mySerial.write (0x03); Serial.print(" Tx: "); Serial.print(0x03,HEX); number++; Serial.println ("    END of Present_1"); Serial.println ();}  //конец первого 3 FC 2 FD 9 F6 3
 
 else if (number ==7) {  

                       
                       if (inByte == 0x03 && countID>5) { number++;  counter++ ; countID = 0;mySerial.write (0x03);  Serial.print(" Tx: "); Serial.print(0x03,HEX); Serial.println ("     END of ID_2"); Serial.println ();}
                       else { mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX); countID++;  }}    //второй блок идентификаторов


 else if (number==8 && inByte == 0xFC){ mySerial.write (counter); Serial.print(" Tx: "); Serial.print(counter,HEX);  number++;}
 else if (number==9 && inByte == (counter^0xFF)){ counter++; mySerial.write (0x09); Serial.print(" Tx: "); Serial.print(0x09,HEX); number++;}
 else if (number==10 && inByte == 0xF6){ mySerial.write (0x03); Serial.print(" Tx: "); Serial.print(0x03,HEX); number++; Serial.println ("     END of Present_2"); Serial.println ();}        //конец второго 3 FC 4 FD 9 F6 3

 else if (number ==11) {  if (inByte == 0x03) { counter++; number++;  countID = 0;  mySerial.write (0x03);  Serial.print(" Tx: "); Serial.print(0x03,HEX);  Serial.println ("    END of ID_3"); Serial.println (); }
                       else mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX);}    //третий блок идентификаторов


 else if (number==12 && inByte == 0xFC){ mySerial.write (counter); Serial.print(" Tx: "); Serial.print(counter,HEX);  number++;}
 else if (number==13 && inByte == (counter^0xFF)){ counter++; mySerial.write (0x09); Serial.print(" Tx: "); Serial.print(0x09,HEX); number++;}
 else if (number==14 && inByte == 0xF6){ mySerial.write (0x03); Serial.print(" Tx: "); Serial.print(0x03,HEX); number++;  Serial.println ("        END of Present_3"); Serial.println ();}  //конец третьего 3 FC 6 FD 9 F6 3
 

 else if (number ==15) {  

                       
                       if (inByte == 0x03 && countID>5) { number=0;  counter++ ; countID = 0; Serial.println ("     END of DTC"); Serial.println ();}
                       else { mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX); countID++;  Init=1;}}    // END DTC 
          

              
                            
            }
    
    else{
    if (number ==0){ mySerial.write (0x04); number++;}
    else if (number ==1 && inByte == 0xFB){ mySerial.write (counter);  number++; }
    else if (number ==2 && inByte == (counter ^ 0xFF)) {counter++; mySerial.write (0x29);number++;  }
    else if (number ==3 && inByte == 0xD6) {mySerial.write (0x01);number++;  }
    else if (number ==4 && inByte == 0xFE) {mySerial.write (0x03);number++;  }
    else if (number ==5 && inByte == 0x0F) {mySerial.write (0xF0);number++;  }
    else if (number ==6 && inByte == counter) {mySerial.write (inByte^0xFF);number++; counter++; }
    else if (number ==7 && inByte == 0xE7) {mySerial.write (inByte^0xFF);number++;  }
    else if (number ==8) {Parameter=inByte; mySerial.write (inByte^0xFF);number++;  }
    else if (number ==9) {a=inByte; mySerial.write (inByte^0xFF); number++;}
    else if (number ==10) {b=inByte; mySerial.write (inByte^0xFF);  
          
        if (Parameter == 0x01)  RPM = 0.2*a*b;
    
    countPID++;
    if (countPID>=4) {mySerial.write (0x03); countPID=0; number = 0; Serial.print(" RPM = "); Serial.println(RPM); delay (20);}
    else number = 8;
    }
   
    
      }


    
   
             }
   
   
     
    }





//ниже отправка блоку байта адреса на 5бод  1 стартбит, 7бит данных, 1 бит проверки четности odd, 1 стоп бит

void send5baud(uint8_t data){              
  // // 1 start bit, 7 data bits, 1 parity, 1 stop bit
  #define bitcount 10
  byte bits[bitcount];
  byte even=1;
  byte bit;
  for (int i=0; i < bitcount; i++){
    bit=0;
    if (i == 0)  bit = 0;
      else if (i == 8) bit = even; // computes parity bit
      else if (i == 9) bit = 1;
      else {
        bit = (byte) ((data & (1 << (i-1))) != 0);
        even = even ^ bit;
      }
    Serial.print(F("bit"));      
    Serial.print(i);          
    Serial.print(F("="));              
    Serial.print(bit);
    if (i == 0) Serial.print(F(" startbit"));
      else if (i == 8) Serial.print(F(" parity"));    
      else if (i == 9) Serial.print(F(" stopbit"));              
    Serial.println();      
    bits[i]=bit;
  }
  // now send bit stream    
  for (int i=0; i < bitcount+1; i++){
    if (i != 0){
      // wait 200 ms (=5 baud), adjusted by latency correction
      delay(200);
      if (i == bitcount) break;
    }
    if (bits[i] == 1){ 
      // high
      digitalWrite(TX, HIGH);
    } else {
      // low
      digitalWrite(TX, LOW);
    }
  }
  mySerial.flush();
}


 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Гляну завта уже. Батарея в ноль села. Ну или  40мин надо подождать  

MaksVV
Offline
Зарегистрирован: 06.08.2015

ок, до завтра! 

MaksVV
Offline
Зарегистрирован: 06.08.2015

эмм, в #107 ошибки, этот к пробам

#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); //R,T
#define TX 11


byte ECUaddress = 0x01;   // адрес блока двигателя, можно попробовать с другими адресами


bool Init = 0;

byte Parameter;           //номер передаваемого параметра от ECU
byte a;
byte b;
uint8_t number = 0;
byte counter = 0x02; 
byte countPID = 0; 
byte countID = 0; 

int RPM = 0;             // переменная оборотов





void setup() 
{
Serial.begin (115200);
Serial.println(F("---KWP 5 baud init"));
delay (500);
pinMode (TX, OUTPUT);
digitalWrite (TX, HIGH); // BUS IDLE
delay (500);



send5baud(ECUaddress); // функция отправки адреса блоку
mySerial.begin (9600);

}


void loop() {


  

if( mySerial.available()>0) { 
  delay(5);
  
    byte inByte = mySerial.read();
    Serial.print(" Rx: ");
    Serial.print(inByte,HEX);
    
    if (!Init){
      
    
      if (number ==0 && inByte == 0x8A){ countID++;  mySerial.write (0x75) ; Serial.print(" Tx: "); Serial.print(0x75,HEX); number++;} 
 else if (number ==1) { mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX); 
          if (countID>=27) {delay (10); number=4;  countID = 0;  mySerial.write (0x03);  Serial.print(" Tx: "); Serial.print(0x03,HEX); Serial.println ("    END of ID_1");  Serial.println ();}
           countID++;}                                //первый блок идентификаторов
      
      
    
 else if (number==4 && inByte == 0xFC){mySerial.write (counter); Serial.print(" Tx: "); Serial.print(counter,HEX);  number++;}
 else if (number==5 && inByte == (counter^0xFF)){ counter++; mySerial.write (0x09); Serial.print(" Tx: "); Serial.print(0x09,HEX); number++;}
 else if (number==6 && inByte == 0xF6){ mySerial.write (0x03); Serial.print(" Tx: "); Serial.print(0x03,HEX); number++; Serial.println ("    END of Present_1"); Serial.println ();}  //конец первого 3 FC 2 FD 9 F6 3
 
 else if (number ==7) {  

                       
                       if (inByte == 0x03 && countID>5) { number++;  counter++ ; countID = 0;mySerial.write (0x03);  Serial.print(" Tx: "); Serial.print(0x03,HEX); Serial.println ("     END of ID_2"); Serial.println ();}
                       else { mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX); countID++;  }}    //второй блок идентификаторов


 else if (number==8 && inByte == 0xFC){ mySerial.write (counter); Serial.print(" Tx: "); Serial.print(counter,HEX);  number++;}
 else if (number==9 && inByte == (counter^0xFF)){ counter++; mySerial.write (0x09); Serial.print(" Tx: "); Serial.print(0x09,HEX); number++;}
 else if (number==10 && inByte == 0xF6){ mySerial.write (0x03); Serial.print(" Tx: "); Serial.print(0x03,HEX); number++; Serial.println ("     END of Present_2"); Serial.println ();}        //конец второго 3 FC 4 FD 9 F6 3

 else if (number ==11) {  if (inByte == 0x03) { counter++; number++;  countID = 0;  mySerial.write (0x03);  Serial.print(" Tx: "); Serial.print(0x03,HEX);  Serial.println ("    END of ID_3"); Serial.println (); }
                       else {mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX);}}    //третий блок идентификаторов


 else if (number==12 && inByte == 0xFC){ mySerial.write (counter); Serial.print(" Tx: "); Serial.print(counter,HEX);  number++;}
 else if (number==13 && inByte == (counter^0xFF)){ counter++; mySerial.write (0x09); Serial.print(" Tx: "); Serial.print(0x09,HEX); number++;}
 else if (number==14 && inByte == 0xF6){ mySerial.write (0x03); Serial.print(" Tx: "); Serial.print(0x03,HEX); number++;  Serial.println ("        END of Present_3"); Serial.println ();}  //конец третьего 3 FC 6 FD 9 F6 3
 

 else if (number ==15) {  

                       
                       if (inByte == 0x03 && countID>5) { number=0;  counter++ ; countID = 0; Serial.println ("     END of DTC"); Serial.println (); Init=1;}
                       else { mySerial.write (inByte^ 0xFF);  Serial.print(" Tx: "); Serial.print(inByte^0xFF,HEX); countID++;  }}    // END DTC 
          

              
                            
            }
    
    else{
    if (number ==0){ mySerial.write (0x04); number++;}
    else if (number ==1 && inByte == 0xFB){ mySerial.write (counter);  number++; }
    else if (number ==2 && inByte == (counter ^ 0xFF)) {counter++; mySerial.write (0x29);number++;  }
    else if (number ==3 && inByte == 0xD6) {mySerial.write (0x01);number++;  }
    else if (number ==4 && inByte == 0xFE) {mySerial.write (0x03);number++;  }
    else if (number ==5 && inByte == 0x0F) {mySerial.write (0xF0);number++;  }
    else if (number ==6 && inByte == counter) {mySerial.write (inByte^0xFF);number++; counter++; }
    else if (number ==7 && inByte == 0xE7) {mySerial.write (inByte^0xFF);number++;  }
    else if (number ==8) {Parameter=inByte; mySerial.write (inByte^0xFF);number++;  }
    else if (number ==9) {a=inByte; mySerial.write (inByte^0xFF); number++;}
    else if (number ==10) {b=inByte; mySerial.write (inByte^0xFF);  
          
        if (Parameter == 0x01)  RPM = 0.2*a*b;
    
    countPID++;
    if (countPID>=4) {mySerial.write (0x03); countPID=0; number = 0; Serial.print(" RPM = "); Serial.println(RPM); delay (20);}
    else number = 8;
    }
   
    
      }


    
   
             }
   
   
     
    }





//ниже отправка блоку байта адреса на 5бод  1 стартбит, 7бит данных, 1 бит проверки четности odd, 1 стоп бит

void send5baud(uint8_t data){              
  // // 1 start bit, 7 data bits, 1 parity, 1 stop bit
  #define bitcount 10
  byte bits[bitcount];
  byte even=1;
  byte bit;
  for (int i=0; i < bitcount; i++){
    bit=0;
    if (i == 0)  bit = 0;
      else if (i == 8) bit = even; // computes parity bit
      else if (i == 9) bit = 1;
      else {
        bit = (byte) ((data & (1 << (i-1))) != 0);
        even = even ^ bit;
      }
    Serial.print(F("bit"));      
    Serial.print(i);          
    Serial.print(F("="));              
    Serial.print(bit);
    if (i == 0) Serial.print(F(" startbit"));
      else if (i == 8) Serial.print(F(" parity"));    
      else if (i == 9) Serial.print(F(" stopbit"));              
    Serial.println();      
    bits[i]=bit;
  }
  // now send bit stream    
  for (int i=0; i < bitcount+1; i++){
    if (i != 0){
      // wait 200 ms (=5 baud), adjusted by latency correction
      delay(200);
      if (i == bitcount) break;
    }
    if (bits[i] == 1){ 
      // high
      digitalWrite(TX, HIGH);
    } else {
      // low
      digitalWrite(TX, LOW);
    }
  }
  mySerial.flush();
}


 

MaksVV
Offline
Зарегистрирован: 06.08.2015

вот ещё Александра немного переделал

/*
Arduino Nano OBD reader (OBD protocol KW1281,  Audi A4 B5 etc.)

wiring:
D2 --- OBD level shifter input (RX) (e.g. LM339)
D3 --- OBD level shifter output (TX) (e.g. LM339)
A5 --- Arduino 20x4 LCD display SCL
A4 --- Arduino 20x4 LCD display SDA

NOTE: For the level shifting, I used a 'AutoDia K409 Profi USB adapter', disassembled it,
      and connected the Arduino to the level shifter chip (LM339) - the original FTDI chip TX line
      was removed (so it does not influence the communication)                                                                                              
*/

#include <Wire.h>
#include "LiquidCrystal_I2C.h"
#include "NewSoftwareSerial.h"

#define pinKLineRX 10
#define pinKLineTX 11
#define pinLED 13
#define pinBuzzer 9
#define pinButton 5


// https://www.blafusel.de/obd/obd2_kw1281.html

#define ADR_Engine 0x01
#define ADR_Gears  0x02
#define ADR_ABS_Brakes 0x03
#define ADR_Airbag 0x15
#define ADR_Dashboard 0x17
#define ADR_Immobilizer 0x25
#define ADR_Central_locking 0x35

//#define DEBUG 1

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x20 for a 16 chars and 2 line display
NewSoftwareSerial obd(pinKLineRX, pinKLineTX, false); // RX, TX, inverse logic

uint8_t currAddr = 0;
uint8_t blockCounter = 0;
uint8_t errorTimeout = 0;
uint8_t errorData = 0;
bool connected = false;
int sensorCounter = 0;
int pageUpdateCounter = 0;
int alarmCounter = 0;

uint8_t currPage = 2;


int8_t coolantTemp = 0;
int8_t oilTemp = 0;
int8_t intakeAirTemp = 0;
int8_t oilPressure = 0;
float engineLoad = 0;
int   engineSpeed = 0;
float throttleValve = 0;
float supplyVoltage = 0;
uint8_t vehicleSpeed = 0;
uint8_t fuelConsumption = 0;
uint8_t fuelLevel = 0;
unsigned long odometer = 0;

// наши параметры
int TurboPressure = 0;
int TurboPressure_target = 0;
uint8_t Turbocharger_valve = 0;
uint8_t EGR_duty = 0;
int EGR_Consumption = 0;
int EGR_Consumption_target = 0;



String floatToString(float v){
  String res; 
  char buf[16];      
  dtostrf(v,4, 2, buf); 
  res=String(buf);
  return res;
}

void disconnect(){
  connected = false;
  currAddr = 0;
}

void lcdPrint(int x, int y, String s, int width = 0){
  lcd.setCursor(x,y);
  while (s.length() < width) s += " ";
  lcd.print(s);
}

void obdWrite(uint8_t data){
#ifdef DEBUG
  Serial.print("uC:");
  Serial.println(data, HEX);
#endif
  obd.write(data);
}

uint8_t obdRead(){
  unsigned long timeout = millis() + 1000;  
  while (!obd.available()){
    if (millis() >= timeout) {
      Serial.println(F("ERROR: obdRead timeout"));
      disconnect();      
      errorTimeout++;
      return 0;
    }
  }
  uint8_t data = obd.read();
#ifdef DEBUG  
  Serial.print("ECU:");
  Serial.println(data, HEX);
#endif  
  return data;
}

// 5Bd, 7O1
void send5baud(uint8_t data){
  // // 1 start bit, 7 data bits, 1 parity, 1 stop bit
  #define bitcount 10
  byte bits[bitcount];
  byte even=1;
  byte bit;
  for (int i=0; i < bitcount; i++){
    bit=0;
    if (i == 0)  bit = 0;
      else if (i == 8) bit = even; // computes parity bit
      else if (i == 9) bit = 1;
      else {
        bit = (byte) ((data & (1 << (i-1))) != 0);
        even = even ^ bit;
      }
    Serial.print(F("bit"));      
    Serial.print(i);          
    Serial.print(F("="));              
    Serial.print(bit);
    if (i == 0) Serial.print(F(" startbit"));
      else if (i == 8) Serial.print(F(" parity"));    
      else if (i == 9) Serial.print(F(" stopbit"));              
    Serial.println();      
    bits[i]=bit;
  }
  // now send bit stream    
  for (int i=0; i < bitcount+1; i++){
    if (i != 0){
      // wait 200 ms (=5 baud), adjusted by latency correction
      delay(200);
      if (i == bitcount) break;
    }
    if (bits[i] == 1){ 
      // high
      digitalWrite(pinKLineTX, HIGH);
    } else {
      // low
      digitalWrite(pinKLineTX, LOW);
    }
  }
  obd.flush();
}


bool KWP5BaudInit(uint8_t addr){
  Serial.println(F("---KWP 5 baud init"));
  //delay(3000);
  send5baud(addr);
  return true;
}


bool KWPSendBlock(char *s, int size){
  Serial.print(F("---KWPSend sz="));
  Serial.print(size);
  Serial.print(F(" blockCounter="));
  Serial.println(blockCounter);    
  // show data
  Serial.print(F("OUT:"));
  for (int i=0; i < size; i++){    
    uint8_t data = s[i];
    Serial.print(data, HEX);
    Serial.print(" ");    
  }  
  Serial.println();
  for (int i=0; i < size; i++){
    uint8_t data = s[i];    
    obdWrite(data);
    /*uint8_t echo = obdRead();  
    if (data != echo){
      Serial.println(F("ERROR: invalid echo"));
      disconnect();
      errorData++;
      return false;
    }*/
    if (i < size-1){
      uint8_t complement = obdRead();        
      if (complement != (data ^ 0xFF)){
        Serial.println(F("ERROR: invalid complement"));
        disconnect();
        errorData++;
        return false;
      }
    }
  }
  blockCounter++;
  return true;
}

// count: if zero given, first received byte contains block length
// 4800, 9600 oder 10400 Baud, 8N1
bool KWPReceiveBlock(char s[], int maxsize, int &size){  
  bool ackeachbyte = false;
  uint8_t data = 0;
  int recvcount = 0;
  if (size == 0) ackeachbyte = true;
  Serial.print(F("---KWPReceive sz="));
  Serial.print(size);
  Serial.print(F(" blockCounter="));
  Serial.println(blockCounter);
  if (size > maxsize) {
    Serial.println("ERROR: invalid maxsize");
    return false;
  }  
  unsigned long timeout = millis() + 1000;  
  while ((recvcount == 0) || (recvcount != size)) {
    while (obd.available()){      
      data = obdRead();
      s[recvcount] = data;    
      recvcount++;      
      if ((size == 0) && (recvcount == 1)) {
        size = data + 1;
        if (size > maxsize) {
          Serial.println("ERROR: invalid maxsize");
          return false;
        }  
      }
      if ((ackeachbyte) && (recvcount == 2)) {
        if (data != blockCounter){
          Serial.println(F("ERROR: invalid blockCounter"));
          disconnect();
          errorData++;
          return false;
        }
      }
      if ( ((!ackeachbyte) && (recvcount == size)) ||  ((ackeachbyte) && (recvcount < size)) ){
        obdWrite(data ^ 0xFF);  // send complement ack        
        /*uint8_t echo = obdRead();        
        if (echo != (data ^ 0xFF)){
          Serial.print(F("ERROR: invalid echo "));
          Serial.println(echo, HEX);
          disconnect();
          errorData++;
          return false;
        }*/
      }
      timeout = millis() + 1000;        
    } 
    if (millis() >= timeout){
      Serial.println(F("ERROR: timeout"));
      disconnect();
      errorTimeout++;
      return false;
    }
  }
  // show data
  Serial.print(F("IN: sz="));  
  Serial.print(size);  
  Serial.print(F(" data="));  
  for (int i=0; i < size; i++){
    uint8_t data = s[i];
    Serial.print(data, HEX);
    Serial.print(F(" "));    
  }  
  Serial.println();
  blockCounter++;
  return true;
}

bool KWPSendAckBlock(){
  Serial.print(F("---KWPSendAckBlock blockCounter="));
  Serial.println(blockCounter);  
  char buf[32];  
  sprintf(buf, "\x03%c\x09\x03", blockCounter);  
  return (KWPSendBlock(buf, 4));
}

bool connect(uint8_t addr, int baudrate){  
  Serial.print(F("------connect addr="));
  Serial.print(addr);
  Serial.print(F(" baud="));  
  Serial.println(baudrate);  
  tone(pinBuzzer, 1200);    
  delay(100);
  noTone(pinBuzzer);            
  //lcd.clear();
  lcdPrint(0,0, F("KW1281 wakeup"), 20);
  lcdPrint(0,1, "", 20);
  lcdPrint(0,2, "", 20);  
  blockCounter = 0;  
  currAddr = 0;
  obd.begin(baudrate);       
  KWP5BaudInit(addr);
  // answer: 0x55, 0x01, 0x8A          
  char s[3];
  lcdPrint(0,0, F("KW1281 recv"), 20);
  int size = 3;
  if (!KWPReceiveBlock(s, 3, size)) return false;
  if (    (((uint8_t)s[0]) != 0x55) 
     ||   (((uint8_t)s[1]) != 0x01) 
     ||   (((uint8_t)s[2]) != 0x8A)   ){
    Serial.println(F("ERROR: invalid magic"));
    disconnect();
    errorData++;
    return false;
  }
  currAddr = addr;
  connected = true;  
  if (!readConnectBlocks()) return false;
  return true;
}
  
bool readConnectBlocks(){  
  // read connect blocks
  Serial.println(F("------readconnectblocks"));
  lcdPrint(0,0, F("KW1281 label"), 20);
  String info;  
  while (true){
    int size = 0;
    char s[64];
    if (!(KWPReceiveBlock(s, 64, size))) return false;
    if (size == 0) return false;
    if (s[2] == '\x09') break; 
    if (s[2] != '\xF6') {
      Serial.println(F("ERROR: unexpected answer"));
      disconnect();
      errorData++;
      return false;
    }
    String text = String(s);
    info += text.substring(3, size-2);
    if (!KWPSendAckBlock()) return false;
  }
  Serial.print("label=");
  Serial.println(info);
  //lcd.setCursor(0, 1);
  //lcd.print(info);      
  return true;
}

bool readSensors(int group){
  Serial.print(F("------readSensors "));
  Serial.println(group);
  lcdPrint(0,0, F("KW1281 sensor"), 20);  
  char s[64];
  sprintf(s, "\x04%c\x29%c\x03", blockCounter, group);
  if (!KWPSendBlock(s, 5)) return false;
  int size = 0;
  KWPReceiveBlock(s, 64, size);
  if (s[2] != '\xe7') {
    Serial.println(F("ERROR: invalid answer"));
    disconnect();
    errorData++;
    return false;
  }
  int count = (size-4) / 3;
  Serial.print(F("count="));
  Serial.println(count);
  for (int idx=0; idx < count; idx++){
    byte k=s[3 + idx*3];
    byte a=s[3 + idx*3+1];
    byte b=s[3 + idx*3+2];
    String n;
    float v = 0;
    Serial.print(F("type="));
    Serial.print(k);
    Serial.print(F("  a="));
    Serial.print(a);
    Serial.print(F("  b="));
    Serial.print(b);
    Serial.print(F("  text="));
    String t = "";
    String units = "";
    char buf[32];    
    switch (k){
      case 0x01:  v=0.2*a*b;             units=F("rpm"); break;
      case 0x02:  v=a*0.002*b;           units=F("%%"); break;
      case 0x03:  v=0.002*a*b;           units=F("Deg"); break;
      case 0x04:  v=abs(b-127)*0.01*a;   units=F("ATDC"); break;
      case 0x05:  v=a*(b-100)*0.1;       units=F("°C");break;
      case 0x06:  v=0.001*a*b;           units=F("V");break;
      case 0x07:  v=0.01*a*b;            units=F("km/h");break;
      case 0x08:  v=0.1*a*b;             units=F(" ");break;
      case 0x09:  v=(b-127)*0.02*a;      units=F("Deg");break;
      case 0x0A: if (b == 0) t=F("COLD"); else t=F("WARM");break;
      case 0x0B: v=0.0001*a*(b-128)+1;  units = F(" ");break;
      case 0x0C: v=0.001*a*b;           units =F("Ohm");break;
      case 0x0D: v=(b-127)*0.001*a;     units =F("mm");break;
      case 0x0E: v=0.005*a*b;           units=F("bar");break;
      case 0x0F: v=0.01*a*b;            units=F("ms");break;
      case 0x12: v=0.04*a*b;            units=F("mbar");break;
      case 0x13: v=a*b*0.01;            units=F("l");break;
      case 0x14: v=a*(b-128)/128;       units=F("%%");break;
      case 0x15: v=0.001*a*b;           units=F("V");break;
      case 0x16: v=0.001*a*b;           units=F("ms");break;
      case 0x17: v=b/256*a;             units=F("%%");break;
      case 0x18: v=0.001*a*b;           units=F("A");break;
      case 0x19: v=(b*1.421)+(a/182);   units=F("g/s");break;
      case 0x1A: v=float(b-a);          units=F("C");break;
      case 0x1B: v=abs(b-128)*0.01*a;   units=F("°");break;
      case 0x1C: v=float(b-a);          units=F(" ");break;
      case 0x1E: v=b/12*a;              units=F("Deg k/w");break;
      case 0x1F: v=b/2560*a;            units=F("°C");break;
      case 0x21: v=100*b/a;             units=F("%%");break;
      case 0x22: v=(b-128)*0.01*a;      units=F("kW");break;
      case 0x23: v=0.01*a*b;            units=F("l/h");break;
      case 0x24: v=((unsigned long)a)*2560+((unsigned long)b)*10;  units=F("km");break;
      case 0x25: v=b; break; // oil pressure ?!
      // ADP: FIXME!
      /*case 37: switch(b){
             case 0: sprintf(buf, F("ADP OK (%d,%d)"), a,b); t=String(buf); break;
             case 1: sprintf(buf, F("ADP RUN (%d,%d)"), a,b); t=String(buf); break;
             case 0x10: sprintf(buf, F("ADP ERR (%d,%d)"), a,b); t=String(buf); break;
             default: sprintf(buf, F("ADP (%d,%d)"), a,b); t=String(buf); break;
          }*/
      case 0x26: v=(b-128)*0.001*a;        units=F("Deg k/w"); break;
      case 0x27: v=b/256*a;                units=F("mg/h"); break;
      case 0x28: v=b*0.1+(25.5*a)-400;     units=F("A"); break;
      case 0x29: v=b+a*255;                units=F("Ah"); break;
      case 0x2A: v=b*0.1+(25.5*a)-400;     units=F("Kw"); break;
      case 0x2B: v=b*0.1+(25.5*a);         units=F("V"); break;
      case 0x2C: sprintf(buf, "%2d:%2d", a,b); t=String(buf); break;
      case 0x2D: v=0.1*a*b/100;            units=F(" "); break;
      case 0x2E: v=(a*b-3200)*0.0027;      units=F("Deg k/w"); break;
      case 0x2F: v=(b-128)*a;              units=F("ms"); break;
      case 0x30: v=b+a*255;                units=F(" "); break;
      case 0x31: v=(b/4)*a*0.1;            units=F("mg/h"); break;
      case 0x32: v=(b-128)/(0.01*a);       units=F("mbar"); break;
      case 0x33: v=((b-128)/255)*a;        units=F("mg/h"); break;
      case 0x34: v=b*0.02*a-a;             units=F("Nm"); break;
      case 0x35: v=(b-128)*1.4222+0.006*a;  units=F("g/s"); break;
      case 0x36: v=a*256+b;                units=F("count"); break;
      case 0x37: v=a*b/200;                units=F("s"); break;
      case 0x38: v=a*256+b;                units=F("WSC"); break;
      case 0x39: v=a*256+b+65536;          units=F("WSC"); break;
     
      case 0x3B: v=(a*256+b)/32768;        units=F("g/s"); break;
      case 0x3C: v=(a*256+b)*0.01;         units=F("sec"); break;
      case 0x3E: v=0.256*a*b;              units=F("S"); break;
      case 0x40: v=float(a+b);             units=F("Ohm"); break;
      case 0x41: v=0.01*a*(b-127);         units=F("mm"); break;
      case 0x42: v=(a*b)/511.12;          units=F("V"); break;
      case 0x43: v=(640*a)+b*2.5;         units=F("Deg"); break;
      case 0x44: v=(256*a+b)/7.365;       units=F("deg/s");break;
      case 0x45: v=(256*a +b)*0.3254;     units=F("Bar");break;
      case 0x46: v=(256*a +b)*0.192;      units=F("m/s^2");break;
      default: sprintf(buf, "%2x, %2x      ", a, b); break;
    }
    
    switch (currAddr){
      case ADR_Engine: 
        switch(group){
          case 3: 
            switch (idx){
              case 0: engineSpeed = v; break;
              case 1: EGR_Consumption_target; break;
              case 2: EGR_Consumption; break;
              case 3: EGR_duty=v; break;
            }              
            break;
          case 11: 
            switch (idx){
              case 0: engineSpeed = v; break;
              case 1: TurboPressure_target =v; break;
              case 2: TurboPressure =v; break;
              case 3: Turbocharger_valve=v; break;
            }              
            break;
        }
        break;
      case ADR_Dashboard: 
        switch (group){ 
          case 1:  
            switch (idx){
              case 0: vehicleSpeed = v; break;
              case 1: engineSpeed = v; break;
              case 2: oilPressure = v; break;
            }
            break;
          case 2:
            switch (idx){
              case 0: odometer = v; break;
              case 1: fuelLevel = v; break;         
            }
            break;
          case 50:
            switch (idx){
              case 1: engineSpeed = v; break;
              case 2: oilTemp = v; break;
              case 3: coolantTemp = v; break;
            }
            break;
        }
        break;
    }
    if (units.length() != 0){
      dtostrf(v,4, 2, buf); 
      t=String(buf) + " " + units;
    }          
    Serial.println(t);
    
    //lcd.setCursor(0, idx);      
    //while (t.length() < 20) t += " ";
    //lcd.print(t);      
  }
  sensorCounter++;
  return true;
}

void alarm(){
  if (alarmCounter > 10) return;
  tone(pinBuzzer, 1200);    
  delay(100);
  noTone(pinBuzzer);   
  alarmCounter++;
}

void updateDisplay(){
  if (!connected){
    if ( (errorTimeout != 0) || (errorData != 0) ){
      lcdPrint(0,3, F("err to="));      
      lcdPrint(7,3, String(errorTimeout), 3);
      lcdPrint(10,3, F(" da="));      
      lcdPrint(14,3, String(errorData), 6);
    }
  } else {
    switch (currPage){
      case 1:      
        if (coolantTemp > 99){
          lcdPrint(0,1, F("COOL"));          
          alarm();          
        } else lcdPrint(0,1, F("cool"));
        lcdPrint(6,1,String(coolantTemp),3);                
        if ( (oilTemp > 99) || ((oilPressure != 30) && (oilPressure != 31)) ){          
          lcdPrint(10,1,F("OIL "));
          alarm();
        } else lcdPrint(10,1,F("oil "));        
        lcdPrint(14,1,String(oilPressure),3);        
        lcdPrint(0,2, F("rpm "));
        lcdPrint(4,2, String(engineSpeed),4);        
        lcdPrint(10,2, F("km/h "));
        lcdPrint(15,2, String(vehicleSpeed, 3));        
        lcdPrint(0,3, F("fuel "));
        lcdPrint(5,3, String(fuelLevel),3);        
        lcdPrint(10,3, F("odo "));
        lcdPrint(14,3, String(odometer),6);                        
        break;
      case 2:
        if (coolantTemp > 99){
          lcdPrint(0,1, F("COOL"));          
          alarm();          
        } else lcdPrint(0,1, F("cool"));
        lcdPrint(6,1,String(coolantTemp),3);                    
        lcdPrint(10,1, F("air "));          
        lcdPrint(14,1, String(intakeAirTemp), 3);                  
        lcdPrint(0,2, F("rpm "));
        lcdPrint(4,2, String(engineSpeed),4);        
        lcdPrint(10,2, F("km/h "));
        lcdPrint(15,2, String(vehicleSpeed, 3));                
        lcdPrint(0,3, F("fuel "));
        lcdPrint(5,3, String(fuelConsumption),3);                
        lcdPrint(10,3, F("volt "));
        lcdPrint(15,3, String(supplyVoltage),5);                                        
        break;
    }    
  }
  pageUpdateCounter++;
}

void setup(){      
  lcd.init();  
  lcd.backlight();      
  lcd.init();  
    
  pinMode(pinKLineTX, OUTPUT);  
  digitalWrite(pinKLineTX, HIGH);  
  
  pinMode(pinButton, INPUT);  
  pinMode(pinButton, INPUT_PULLUP);  
  
  pinMode(pinBuzzer, OUTPUT);
  /*tone(pinBuzzer, 1200);    
  delay(100);
  noTone(pinBuzzer);*/
  
  Serial.begin(19200);  
  Serial.println(F("SETUP"));            
        
  Serial.println(F("START"));       
}


void loop(){    
  
  if (digitalRead(pinButton) == LOW){    
    currPage++;
    if (currPage > 2) currPage = 1;
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print(F("page "));    
    lcd.print(currPage);    
    errorTimeout = 0;
    errorData = 0;            
    while (digitalRead(pinButton) == LOW);        
  }

  switch (currPage){
    case 1:      
      if (currAddr != ADR_Dashboard){        
        connect(ADR_Dashboard, 9600);
      } else  {
        readSensors(1);
        readSensors(2);
        readSensors(50);        
      }      
      break;
    case 2:
      if (currAddr != ADR_Engine) {
        connect(ADR_Engine, 9600);
      } else {
        readSensors(3);
        readSensors(11);
      }    
      break;   
  }        
  
  updateDisplay(); 

Serial.println();
Serial.print ("engineSpeed:  "); Serial.println(engineSpeed);
Serial.print ("EGR valve :  "); Serial.println(EGR_duty);
Serial.print ("EGR rashod  "); Serial.println(EGR_Consumption);
Serial.print ("EGR rashod zadan:  "); Serial.println(EGR_Consumption_target);
Serial.print ("Pressure Turbo:  "); Serial.println(TurboPressure);
Serial.print ("Pressure Turbo zadan:  "); Serial.println(TurboPressure_target);
Serial.print ("Turbo Actuator:  "); Serial.println(Turbocharger_valve);
Serial.println();


 
       
}




 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Ваш 107

---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
 Rx: 55 Rx: 1 Rx: 8A Tx: 75 Rx: 1B Tx: E4 Rx: 1 Tx: FE Rx: F6 Tx: 9 Rx: 30 Tx: CF Rx: 32 Tx: CD Rx: 38 Tx: C7 Rx: 39 Tx: C6 Rx: 30 Tx: CF Rx: 36 Tx: C9 Rx: 30 Tx: CF Rx: 32 Tx: CD Rx: 31 Tx: CE Rx: 47 Tx: B8 Rx: 54 Tx: AB Rx: 20 Tx: DF Rx: 31 Tx: CE Rx: 2C Tx: D3 Rx: 39 Tx: C6 Rx: 6C Tx: 93 Rx: 20 Tx: DF Rx: 52 Tx: AD Rx: 34 Tx: CB Rx: 20 Tx: DF Rx: 45 Tx: BA Rx: 44 Tx: BB Rx: 43 Tx: BC Rx: 20 Tx: DF Tx: 3    END of ID_1

 Rx: 3 Rx: FC Tx: 2 Rx: FD Tx: 9 Rx: F6 Tx: 3    END of Present_1

 Rx: 7 Tx: F8 Rx: 3 Tx: FC Rx: F6 Tx: 9 Rx: 20 Tx: DF Rx: 47 Tx: B8 Rx: 34 Tx: CB Rx: 31 Tx: CE Rx: 3 Tx: 3     END of ID_2

 Rx: FC Tx: 4 Rx: FB Tx: 9 Rx: F6 Tx: 3     END of Present_2

 Rx: B Tx: F4 Rx: 5 Tx: FA Rx: F6 Tx: 9 Rx: 53 Tx: AC Rx: 47 Tx: B8 Rx: 20 Tx: DF Rx: 20 Tx: DF Rx: 31 Tx: CE Rx: 39 Tx: C6 Rx: 30 Tx: CF Rx: 36 Tx: C9 Rx: 3 Tx: 3    END of ID_3

 Tx: FC Rx: FC Tx: 6 Rx: F9 Tx: 9 Rx: F6 Tx: 3        END of Present_3

 Rx: 8 Tx: F7 Rx: 7 Rx: 8 Rx: 8
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
 Rx: 55 Rx: 1 Rx: 8A Tx: 75 Rx: 1B Tx: E4 Rx: 1 Tx: FE Rx: F6 Tx: 9 Rx: 30 Tx: CF Rx: 32 Tx: CD Rx: 38 Tx: C7 Rx: 39 Tx: C6 Rx: 30 Tx: CF Rx: 36 Tx: C9 Rx: 30 Tx: CF Rx: 32 Tx: CD Rx: 31 Tx: CE Rx: 47 Tx: B8 Rx: 54 Tx: AB Rx: 20 Tx: DF Rx: 31 Tx: CE Rx: 2C Tx: D3 Rx: 39 Tx: C6 Rx: 6C Tx: 93 Rx: 20 Tx: DF Rx: 52 Tx: AD Rx: 34 Tx: CB Rx: 20 Tx: DF Rx: 45 Tx: BA Rx: 44 Tx: BB Rx: 43 Tx: BC Rx: 20 Tx: DF Tx: 3    END of ID_1

 Rx: 3 Rx: FC Tx: 2 Rx: FD Tx: 9 Rx: F6 Tx: 3    END of Present_1

 Rx: 7 Tx: F8 Rx: 3 Tx: FC Rx: F6 Tx: 9 Rx: 20 Tx: DF Rx: 47 Tx: B8 Rx: 34 Tx: CB Rx: 31 Tx: CE Rx: 3 Tx: 3     END of ID_2

 Rx: FC Tx: 4 Rx: FB Tx: 9 Rx: F6 Tx: 3     END of Present_2

 Rx: B Tx: F4 Rx: 5 Tx: FA Rx: F6 Tx: 9 Rx: 53 Tx: AC Rx: 47 Tx: B8 Rx: 20 Tx: DF Rx: 20 Tx: DF Rx: 31 Tx: CE Rx: 39 Tx: C6 Rx: 30 Tx: CF Rx: 36 Tx: C9 Rx: 3 Tx: 3    END of ID_3

 Rx: FC Tx: 6 Rx: F9 Tx: 9 Rx: F6 Tx: 3        END of Present_3

 Rx: 8 Tx: F7 Rx: 7 Tx: F8 Rx: F6 Tx: 9 Rx: 0 Tx: FF Rx: 0 Tx: FF Rx: 4 Tx: FB Rx: 0 Tx: FF Rx: 14 Tx: EB Rx: 3     END of DTC

От Александра

SETUP
START
------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
ERROR: timeout

engineSpeed:  0
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  0
Pressure Turbo zadan:  0
Turbo Actuator:  0

------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
IN: sz=3 data=55 1 8A 
------readconnectblocks
---KWPReceive sz=0 blockCounter=1
IN: sz=28 data=1B 1 F6 30 32 38 39 30 36 30 32 31 47 54 20 31 2C 39 6C 20 52 34 20 45 44 43 20 3 
---KWPSendAckBlock blockCounter=2
---KWPSend sz=4 blockCounter=2
OUT:3 2 9 3 
---KWPReceive sz=0 blockCounter=3
IN: sz=8 data=7 3 F6 20 47 34 31 3 
---KWPSendAckBlock blockCounter=4
---KWPSend sz=4 blockCounter=4
OUT:3 4 9 3 
---KWPReceive sz=0 blockCounter=5
IN: sz=12 data=B 5 F6 53 47 20 20 31 39 30 36 3 
---KWPSendAckBlock blockCounter=6
---KWPSend sz=4 blockCounter=6
OUT:3 6 9 3 
---KWPReceive sz=0 blockCounter=7
IN: sz=9 data=8 7 F6 0 0 4 0 14 3 
---KWPSendAckBlock blockCounter=8
---KWPSend sz=4 blockCounter=8
OUT:3 8 9 3 
---KWPReceive sz=0 blockCounter=9
IN: sz=4 data=3 9 9 3 
label=028906021GT 1,9l R4 EDC G4SG  190

engineSpeed:  0
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  0
Pressure Turbo zadan:  0
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=10
OUT:4 A 29 3 3 
---KWPReceive sz=0 blockCounter=11
IN: sz=16 data=F B E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=12
OUT:4 C 29 B 3 
---KWPReceive sz=0 blockCounter=13
IN: sz=16 data=F D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=14
OUT:4 E 29 3 3 
---KWPReceive sz=0 blockCounter=15
IN: sz=16 data=F F E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=16
OUT:4 10 29 B 3 
---KWPReceive sz=0 blockCounter=17
IN: sz=16 data=F 11 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=18
OUT:4 12 29 3 3 
---KWPReceive sz=0 blockCounter=19
IN: sz=16 data=F 13 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=20
OUT:4 14 29 B 3 
---KWPReceive sz=0 blockCounter=21
IN: sz=16 data=F 15 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=22
OUT:4 16 29 3 3 
---KWPReceive sz=0 blockCounter=23
IN: sz=16 data=F 17 E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=24
OUT:4 18 29 B 3 
---KWPReceive sz=0 blockCounter=25
IN: sz=16 data=F 19 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=26
OUT:4 1A 29 3 3 
---KWPReceive sz=0 blockCounter=27
IN: sz=16 data=F 1B E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=28
OUT:4 1C 29 B 3 
---KWPReceive sz=0 blockCounter=29
IN: sz=16 data=F 1D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=30
OUT:4 1E 29 3 3 
---KWPReceive sz=0 blockCounter=31
IN: sz=16 data=F 1F E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=32
OUT:4 20 29 B 3 
---KWPReceive sz=0 blockCounter=33
IN: sz=16 data=F 21 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=34
OUT:4 22 29 3 3 
---KWPReceive sz=0 blockCounter=35
IN: sz=16 data=F 23 E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=36
OUT:4 24 29 B 3 
---KWPReceive sz=0 blockCounter=37
IN: sz=16 data=F 25 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=38
OUT:4 26 29 3 3 
---KWPReceive sz=0 blockCounter=39
IN: sz=16 data=F 27 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=40
OUT:4 28 29 B 3 
---KWPReceive sz=0 blockCounter=41
IN: sz=16 data=F 29 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=42
OUT:4 2A 29 3 3 
---KWPReceive sz=0 blockCounter=43
IN: sz=16 data=F 2B E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=44
OUT:4 2C 29 B 3 
---KWPReceive sz=0 blockCounter=45
IN: sz=16 data=F 2D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=46
OUT:4 2E 29 3 3 
---KWPReceive sz=0 blockCounter=47
IN: sz=16 data=F 2F E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=48
OUT:4 30 29 B 3 
---KWPReceive sz=0 blockCounter=49
IN: sz=16 data=F 31 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=50
OUT:4 32 29 3 3 
---KWPReceive sz=0 blockCounter=51
IN: sz=16 data=F 33 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=52
OUT:4 34 29 B 3 
---KWPReceive sz=0 blockCounter=53
IN: sz=16 data=F 35 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=54
OUT:4 36 29 3 3 
---KWPReceive sz=0 blockCounter=55
IN: sz=16 data=F 37 E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=56
OUT:4 38 29 B 3 
---KWPReceive sz=0 blockCounter=57
IN: sz=16 data=F 39 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=58
OUT:4 3A 29 3 3 
---KWPReceive sz=0 blockCounter=59
IN: sz=16 data=F 3B E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=60
OUT:4 3C 29 B 3 
---KWPReceive sz=0 blockCounter=61
IN: sz=16 data=F 3D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=62
OUT:4 3E 29 3 3 
---KWPReceive sz=0 blockCounter=63
IN: sz=16 data=F 3F E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=64
OUT:4 40 29 B 3 
---KWPReceive sz=0 blockCounter=65
IN: sz=16 data=F 41 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=66
OUT:4 42 29 3 3 
---KWPReceive sz=0 blockCounter=67
IN: sz=16 data=F 43 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=68
OUT:4 44 29 B 3 
---KWPReceive sz=0 blockCounter=69
IN: sz=16 data=F 45 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=70
OUT:4 46 29 3 3 
---KWPReceive sz=0 blockCounter=71
IN: sz=16 data=F 47 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=72
OUT:4 48 29 B 3 
---KWPReceive sz=0 blockCounter=73
IN: sz=16 data=F 49 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=74
OUT:4 4A 29 3 3 
---KWPReceive sz=0 blockCounter=75
IN: sz=16 data=F 4B E7 1 69 28 31 C8 4C 31 C8 69 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=76
OUT:4 4C 29 B 3 
---KWPReceive sz=0 blockCounter=77
IN: sz=16 data=F 4D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=78
OUT:4 4E 29 3 3 
---KWPReceive sz=0 blockCounter=79
IN: sz=16 data=F 4F E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=80
OUT:4 50 29 B 3 
---KWPReceive sz=0 blockCounter=81
IN: sz=16 data=F 51 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=82
OUT:4 52 29 3 3 
---KWPReceive sz=0 blockCounter=83
IN: sz=16 data=F 53 E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=84
OUT:4 54 29 B 3 
---KWPReceive sz=0 blockCounter=85
IN: sz=16 data=F 55 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=86
OUT:4 56 29 3 3 
---KWPReceive sz=0 blockCounter=87
IN: sz=16 data=F 57 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=88
OUT:4 58 29 B 3 
---KWPReceive sz=0 blockCounter=89
IN: sz=16 data=F 59 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=90
OUT:4 5A 29 3 3 
---KWPReceive sz=0 blockCounter=91
IN: sz=16 data=F 5B E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=92
OUT:4 5C 29 B 3 
---KWPReceive sz=0 blockCounter=93
IN: sz=16 data=F 5D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=94
OUT:4 5E 29 3 3 
---KWPReceive sz=0 blockCounter=95
IN: sz=16 data=F 5F E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=96
OUT:4 60 29 B 3 
---KWPReceive sz=0 blockCounter=97
IN: sz=16 data=F 61 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=98
OUT:4 62 29 3 3 
---KWPReceive sz=0 blockCounter=99
IN: sz=16 data=F 63 E7 1 69 28 31 C8 4C 31 C8 69 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=100
OUT:4 64 29 B 3 
---KWPReceive sz=0 blockCounter=101
IN: sz=16 data=F 65 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=102
OUT:4 66 29 3 3 
---KWPReceive sz=0 blockCounter=103
IN: sz=16 data=F 67 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=104
OUT:4 68 29 B 3 
---KWPReceive sz=0 blockCounter=105
IN: sz=16 data=F 69 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=106
OUT:4 6A 29 3 3 
---KWPReceive sz=0 blockCounter=107
IN: sz=16 data=F 6B E7 1 69 28 31 C8 4C 31 C8 69 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=108
OUT:4 6C 29 B 3 
---KWPReceive sz=0 blockCounter=109
IN: sz=16 data=F 6D E7 1 69 28 12 FF 62 12 FF 61 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=97  text=989.40 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  989
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=110
OUT:4 6E 29 3 3 
---KWPReceive sz=0 blockCounter=111
IN: sz=16 data=F 6F E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=112
OUT:4 70 29 B 3 
---KWPReceive sz=0 blockCounter=113
IN: sz=16 data=F 71 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=114
OUT:4 72 29 3 3 
---KWPReceive sz=0 blockCounter=115
IN: sz=16 data=F 73 E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=116
OUT:4 74 29 B 3 
---KWPReceive sz=0 blockCounter=117
IN: sz=16 data=F 75 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=118
OUT:4 76 29 3 3 
---KWPReceive sz=0 blockCounter=119
IN: sz=16 data=F 77 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=120
OUT:4 78 29 B 3 
---KWPReceive sz=0 blockCounter=121
IN: sz=16 data=F 79 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=122
OUT:4 7A 29 3 3 
---KWPReceive sz=0 blockCounter=123
IN: sz=16 data=F 7B E7 1 69 28 31 C8 4C 31 C8 65 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=124
OUT:4 7C 29 B 3 
---KWPReceive sz=0 blockCounter=125
IN: sz=16 data=F 7D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=126
OUT:4 7E 29 3 3 
---KWPReceive sz=0 blockCounter=127
IN: sz=16 data=F 7F E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=128
OUT:4 80 29 B 3 
---KWPReceive sz=0 blockCounter=129
IN: sz=16 data=F 81 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=130
OUT:4 82 29 3 3 
---KWPReceive sz=0 blockCounter=131
IN: sz=16 data=F 83 E7 1 69 28 31 C8 4C 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=132
OUT:4 84 29 B 3 
---KWPReceive sz=0 blockCounter=133
IN: sz=16 data=F 85 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=134
OUT:4 86 29 3 3 
---KWPReceive sz=0 blockCounter=135
IN: sz=16 data=F 87 E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=136
OUT:4 88 29 B 3 
---KWPReceive sz=0 blockCounter=137
IN: sz=16 data=F 89 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=138
OUT:4 8A 29 3 3 
---KWPReceive sz=0 blockCounter=139
IN: sz=16 data=F 8B E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=140
OUT:4 8C 29 B 3 
---KWPReceive sz=0 blockCounter=141
IN: sz=16 data=F 8D E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=142
OUT:4 8E 29 3 3 
---KWPReceive sz=0 blockCounter=143
IN: sz=16 data=F 8F E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=144
OUT:4 90 29 B 3 
---KWPReceive sz=0 blockCounter=145
IN: sz=16 data=F 91 E7 1 69 28 12 FF 62 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=0.00 %%

engineSpeed:  840
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  999
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=146
OUT:4 92 29 3 3 
---KWPReceive sz=0 blockCounter=147
IN: sz=16 data=F 93 E7 1 69 28 31 C8 4C 31 C8 67 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=12  text=0.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=148
OUT:4 94 29 B 3 
---KWPReceive sz=0 blockCounter=149
IN: sz=16 data=F 95 E7 1 69 28 12 FF 62 12 FF 61 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=98  text=999.60 mbar
type=18  a=255  b=97  text=989.40 mbar
typ

 

MaksVV
Offline
Зарегистрирован: 06.08.2015

По скетчу Александра 11 группа не работает. У вас турбина есть? Также в 3 группе положение клапана ЕГР не видит.

MaksVV
Offline
Зарегистрирован: 06.08.2015

Сравнивайте с ваг комом какие там значения показывает в группах 3 и 11

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Вот скриншот когда-то записаного мной лога. тут группа 3,10,11. По названию столбцов видно.
В 11 группе столбец 2-это требуемое давление, столбец 3-давление которое выдает турбина. У меня турбина с управляемой геометрией.

MaksVV
Offline
Зарегистрирован: 06.08.2015

а ну, собственно, я слукавил походу, что 11 группа не работает. Обороты у вас показывали на тот момент были 840. На таких оборотах давление турбины соответствует атмосферному давлению примерно, т.е. 1000 mBar, у вас так и показывало примено. Резко газоните и посмотрите поднимется ли давление, должно всё работать, парметры поднимутся. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

С блоками которые хочу видеть в БК уже почти определился. Хотелось бы придумать как решить с расходом l\100km (Литры / Километраж х 100 = Расход на 100 км). Но надо будет записывать всё в энергонезависимую память. Расход l\h известен. Если просчитать это, то можно будет и подсчитать запас хода... колличество топлива тоже есть в параметрах.
Тут вот расписан стандартный VAGовский.

http://automn.ru/vw-sharan/volkswagen-17654-10.m_id-1810.m_id2-1812.html

Но поговаривают на форумах, что он частяком врет

MaksVV
Offline
Зарегистрирован: 06.08.2015

а для EGR и клапана турбины используется одна и та же формула, немного неправильно сделанная. формулу перелелал. Теперь егр и процент открытия клапана турбы должно показывать

/*
Arduino Nano OBD reader (OBD protocol KW1281,  Audi A4 B5 etc.)

wiring:
D2 --- OBD level shifter input (RX) (e.g. LM339)
D3 --- OBD level shifter output (TX) (e.g. LM339)
A5 --- Arduino 20x4 LCD display SCL
A4 --- Arduino 20x4 LCD display SDA

NOTE: For the level shifting, I used a 'AutoDia K409 Profi USB adapter', disassembled it,
      and connected the Arduino to the level shifter chip (LM339) - the original FTDI chip TX line
      was removed (so it does not influence the communication)                                                                                              
*/

#include <Wire.h>
#include "LiquidCrystal_I2C.h"
#include "NewSoftwareSerial.h"

#define pinKLineRX 10
#define pinKLineTX 11
#define pinLED 13
#define pinBuzzer 9
#define pinButton 5


// https://www.blafusel.de/obd/obd2_kw1281.html

#define ADR_Engine 0x01
#define ADR_Gears  0x02
#define ADR_ABS_Brakes 0x03
#define ADR_Airbag 0x15
#define ADR_Dashboard 0x17
#define ADR_Immobilizer 0x25
#define ADR_Central_locking 0x35

//#define DEBUG 1

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x20 for a 16 chars and 2 line display
NewSoftwareSerial obd(pinKLineRX, pinKLineTX, false); // RX, TX, inverse logic

uint8_t currAddr = 0;
uint8_t blockCounter = 0;
uint8_t errorTimeout = 0;
uint8_t errorData = 0;
bool connected = false;
int sensorCounter = 0;
int pageUpdateCounter = 0;
int alarmCounter = 0;

uint8_t currPage = 2;


int8_t coolantTemp = 0;
int8_t oilTemp = 0;
int8_t intakeAirTemp = 0;
int8_t oilPressure = 0;
float engineLoad = 0;
int   engineSpeed = 0;
float throttleValve = 0;
float supplyVoltage = 0;
uint8_t vehicleSpeed = 0;
uint8_t fuelConsumption = 0;
uint8_t fuelLevel = 0;
unsigned long odometer = 0;

// наши параметры
int TurboPressure = 0;
int TurboPressure_target = 0;
uint8_t Turbocharger_valve = 0;
uint8_t EGR_duty = 0;
int EGR_Consumption = 0;
int EGR_Consumption_target = 0;



String floatToString(float v){
  String res; 
  char buf[16];      
  dtostrf(v,4, 2, buf); 
  res=String(buf);
  return res;
}

void disconnect(){
  connected = false;
  currAddr = 0;
}

void lcdPrint(int x, int y, String s, int width = 0){
  lcd.setCursor(x,y);
  while (s.length() < width) s += " ";
  lcd.print(s);
}

void obdWrite(uint8_t data){
#ifdef DEBUG
  Serial.print("uC:");
  Serial.println(data, HEX);
#endif
  obd.write(data);
}

uint8_t obdRead(){
  unsigned long timeout = millis() + 1000;  
  while (!obd.available()){
    if (millis() >= timeout) {
      Serial.println(F("ERROR: obdRead timeout"));
      disconnect();      
      errorTimeout++;
      return 0;
    }
  }
  uint8_t data = obd.read();
#ifdef DEBUG  
  Serial.print("ECU:");
  Serial.println(data, HEX);
#endif  
  return data;
}

// 5Bd, 7O1
void send5baud(uint8_t data){
  // // 1 start bit, 7 data bits, 1 parity, 1 stop bit
  #define bitcount 10
  byte bits[bitcount];
  byte even=1;
  byte bit;
  for (int i=0; i < bitcount; i++){
    bit=0;
    if (i == 0)  bit = 0;
      else if (i == 8) bit = even; // computes parity bit
      else if (i == 9) bit = 1;
      else {
        bit = (byte) ((data & (1 << (i-1))) != 0);
        even = even ^ bit;
      }
    Serial.print(F("bit"));      
    Serial.print(i);          
    Serial.print(F("="));              
    Serial.print(bit);
    if (i == 0) Serial.print(F(" startbit"));
      else if (i == 8) Serial.print(F(" parity"));    
      else if (i == 9) Serial.print(F(" stopbit"));              
    Serial.println();      
    bits[i]=bit;
  }
  // now send bit stream    
  for (int i=0; i < bitcount+1; i++){
    if (i != 0){
      // wait 200 ms (=5 baud), adjusted by latency correction
      delay(200);
      if (i == bitcount) break;
    }
    if (bits[i] == 1){ 
      // high
      digitalWrite(pinKLineTX, HIGH);
    } else {
      // low
      digitalWrite(pinKLineTX, LOW);
    }
  }
  obd.flush();
}


bool KWP5BaudInit(uint8_t addr){
  Serial.println(F("---KWP 5 baud init"));
  //delay(3000);
  send5baud(addr);
  return true;
}


bool KWPSendBlock(char *s, int size){
  Serial.print(F("---KWPSend sz="));
  Serial.print(size);
  Serial.print(F(" blockCounter="));
  Serial.println(blockCounter);    
  // show data
  Serial.print(F("OUT:"));
  for (int i=0; i < size; i++){    
    uint8_t data = s[i];
    Serial.print(data, HEX);
    Serial.print(" ");    
  }  
  Serial.println();
  for (int i=0; i < size; i++){
    uint8_t data = s[i];    
    obdWrite(data);
    /*uint8_t echo = obdRead();  
    if (data != echo){
      Serial.println(F("ERROR: invalid echo"));
      disconnect();
      errorData++;
      return false;
    }*/
    if (i < size-1){
      uint8_t complement = obdRead();        
      if (complement != (data ^ 0xFF)){
        Serial.println(F("ERROR: invalid complement"));
        disconnect();
        errorData++;
        return false;
      }
    }
  }
  blockCounter++;
  return true;
}

// count: if zero given, first received byte contains block length
// 4800, 9600 oder 10400 Baud, 8N1
bool KWPReceiveBlock(char s[], int maxsize, int &size){  
  bool ackeachbyte = false;
  uint8_t data = 0;
  int recvcount = 0;
  if (size == 0) ackeachbyte = true;
  Serial.print(F("---KWPReceive sz="));
  Serial.print(size);
  Serial.print(F(" blockCounter="));
  Serial.println(blockCounter);
  if (size > maxsize) {
    Serial.println("ERROR: invalid maxsize");
    return false;
  }  
  unsigned long timeout = millis() + 1000;  
  while ((recvcount == 0) || (recvcount != size)) {
    while (obd.available()){      
      data = obdRead();
      s[recvcount] = data;    
      recvcount++;      
      if ((size == 0) && (recvcount == 1)) {
        size = data + 1;
        if (size > maxsize) {
          Serial.println("ERROR: invalid maxsize");
          return false;
        }  
      }
      if ((ackeachbyte) && (recvcount == 2)) {
        if (data != blockCounter){
          Serial.println(F("ERROR: invalid blockCounter"));
          disconnect();
          errorData++;
          return false;
        }
      }
      if ( ((!ackeachbyte) && (recvcount == size)) ||  ((ackeachbyte) && (recvcount < size)) ){
        obdWrite(data ^ 0xFF);  // send complement ack        
        /*uint8_t echo = obdRead();        
        if (echo != (data ^ 0xFF)){
          Serial.print(F("ERROR: invalid echo "));
          Serial.println(echo, HEX);
          disconnect();
          errorData++;
          return false;
        }*/
      }
      timeout = millis() + 1000;        
    } 
    if (millis() >= timeout){
      Serial.println(F("ERROR: timeout"));
      disconnect();
      errorTimeout++;
      return false;
    }
  }
  // show data
  Serial.print(F("IN: sz="));  
  Serial.print(size);  
  Serial.print(F(" data="));  
  for (int i=0; i < size; i++){
    uint8_t data = s[i];
    Serial.print(data, HEX);
    Serial.print(F(" "));    
  }  
  Serial.println();
  blockCounter++;
  return true;
}

bool KWPSendAckBlock(){
  Serial.print(F("---KWPSendAckBlock blockCounter="));
  Serial.println(blockCounter);  
  char buf[32];  
  sprintf(buf, "\x03%c\x09\x03", blockCounter);  
  return (KWPSendBlock(buf, 4));
}

bool connect(uint8_t addr, int baudrate){  
  Serial.print(F("------connect addr="));
  Serial.print(addr);
  Serial.print(F(" baud="));  
  Serial.println(baudrate);  
  tone(pinBuzzer, 1200);    
  delay(100);
  noTone(pinBuzzer);            
  //lcd.clear();
  lcdPrint(0,0, F("KW1281 wakeup"), 20);
  lcdPrint(0,1, "", 20);
  lcdPrint(0,2, "", 20);  
  blockCounter = 0;  
  currAddr = 0;
  obd.begin(baudrate);       
  KWP5BaudInit(addr);
  // answer: 0x55, 0x01, 0x8A          
  char s[3];
  lcdPrint(0,0, F("KW1281 recv"), 20);
  int size = 3;
  if (!KWPReceiveBlock(s, 3, size)) return false;
  if (    (((uint8_t)s[0]) != 0x55) 
     ||   (((uint8_t)s[1]) != 0x01) 
     ||   (((uint8_t)s[2]) != 0x8A)   ){
    Serial.println(F("ERROR: invalid magic"));
    disconnect();
    errorData++;
    return false;
  }
  currAddr = addr;
  connected = true;  
  if (!readConnectBlocks()) return false;
  return true;
}
  
bool readConnectBlocks(){  
  // read connect blocks
  Serial.println(F("------readconnectblocks"));
  lcdPrint(0,0, F("KW1281 label"), 20);
  String info;  
  while (true){
    int size = 0;
    char s[64];
    if (!(KWPReceiveBlock(s, 64, size))) return false;
    if (size == 0) return false;
    if (s[2] == '\x09') break; 
    if (s[2] != '\xF6') {
      Serial.println(F("ERROR: unexpected answer"));
      disconnect();
      errorData++;
      return false;
    }
    String text = String(s);
    info += text.substring(3, size-2);
    if (!KWPSendAckBlock()) return false;
  }
  Serial.print("label=");
  Serial.println(info);
  //lcd.setCursor(0, 1);
  //lcd.print(info);      
  return true;
}

bool readSensors(int group){
  Serial.print(F("------readSensors "));
  Serial.println(group);
  lcdPrint(0,0, F("KW1281 sensor"), 20);  
  char s[64];
  sprintf(s, "\x04%c\x29%c\x03", blockCounter, group);
  if (!KWPSendBlock(s, 5)) return false;
  int size = 0;
  KWPReceiveBlock(s, 64, size);
  if (s[2] != '\xe7') {
    Serial.println(F("ERROR: invalid answer"));
    disconnect();
    errorData++;
    return false;
  }
  int count = (size-4) / 3;
  Serial.print(F("count="));
  Serial.println(count);
  for (int idx=0; idx < count; idx++){
    byte k=s[3 + idx*3];
    byte a=s[3 + idx*3+1];
    byte b=s[3 + idx*3+2];
    String n;
    float v = 0;
    Serial.print(F("type="));
    Serial.print(k);
    Serial.print(F("  a="));
    Serial.print(a);
    Serial.print(F("  b="));
    Serial.print(b);
    Serial.print(F("  text="));
    String t = "";
    String units = "";
    char buf[32];    
    switch (k){
      case 0x01:  v=0.2*a*b;             units=F("rpm"); break;
      case 0x02:  v=a*0.002*b;           units=F("%%"); break;
      case 0x03:  v=0.002*a*b;           units=F("Deg"); break;
      case 0x04:  v=abs(b-127)*0.01*a;   units=F("ATDC"); break;
      case 0x05:  v=a*(b-100)*0.1;       units=F("°C");break;
      case 0x06:  v=0.001*a*b;           units=F("V");break;
      case 0x07:  v=0.01*a*b;            units=F("km/h");break;
      case 0x08:  v=0.1*a*b;             units=F(" ");break;
      case 0x09:  v=(b-127)*0.02*a;      units=F("Deg");break;
      case 0x0A: if (b == 0) t=F("COLD"); else t=F("WARM");break;
      case 0x0B: v=0.0001*a*(b-128)+1;  units = F(" ");break;
      case 0x0C: v=0.001*a*b;           units =F("Ohm");break;
      case 0x0D: v=(b-127)*0.001*a;     units =F("mm");break;
      case 0x0E: v=0.005*a*b;           units=F("bar");break;
      case 0x0F: v=0.01*a*b;            units=F("ms");break;
      case 0x12: v=0.04*a*b;            units=F("mbar");break;
      case 0x13: v=a*b*0.01;            units=F("l");break;
      case 0x14: v=a*(b-128)/128;       units=F("%%");break;
      case 0x15: v=0.001*a*b;           units=F("V");break;
      case 0x16: v=0.001*a*b;           units=F("ms");break;
      case 0x17: v=(b*a)/256;             units=F("%%");break;
      case 0x18: v=0.001*a*b;           units=F("A");break;
      case 0x19: v=(b*1.421)+(a/182);   units=F("g/s");break;
      case 0x1A: v=float(b-a);          units=F("C");break;
      case 0x1B: v=abs(b-128)*0.01*a;   units=F("°");break;
      case 0x1C: v=float(b-a);          units=F(" ");break;
      case 0x1E: v=b/12*a;              units=F("Deg k/w");break;
      case 0x1F: v=b/2560*a;            units=F("°C");break;
      case 0x21: v=100*b/a;             units=F("%%");break;
      case 0x22: v=(b-128)*0.01*a;      units=F("kW");break;
      case 0x23: v=0.01*a*b;            units=F("l/h");break;
      case 0x24: v=((unsigned long)a)*2560+((unsigned long)b)*10;  units=F("km");break;
      case 0x25: v=b; break; // oil pressure ?!
      // ADP: FIXME!
      /*case 37: switch(b){
             case 0: sprintf(buf, F("ADP OK (%d,%d)"), a,b); t=String(buf); break;
             case 1: sprintf(buf, F("ADP RUN (%d,%d)"), a,b); t=String(buf); break;
             case 0x10: sprintf(buf, F("ADP ERR (%d,%d)"), a,b); t=String(buf); break;
             default: sprintf(buf, F("ADP (%d,%d)"), a,b); t=String(buf); break;
          }*/
      case 0x26: v=(b-128)*0.001*a;        units=F("Deg k/w"); break;
      case 0x27: v=b/256*a;                units=F("mg/h"); break;
      case 0x28: v=b*0.1+(25.5*a)-400;     units=F("A"); break;
      case 0x29: v=b+a*255;                units=F("Ah"); break;
      case 0x2A: v=b*0.1+(25.5*a)-400;     units=F("Kw"); break;
      case 0x2B: v=b*0.1+(25.5*a);         units=F("V"); break;
      case 0x2C: sprintf(buf, "%2d:%2d", a,b); t=String(buf); break;
      case 0x2D: v=0.1*a*b/100;            units=F(" "); break;
      case 0x2E: v=(a*b-3200)*0.0027;      units=F("Deg k/w"); break;
      case 0x2F: v=(b-128)*a;              units=F("ms"); break;
      case 0x30: v=b+a*255;                units=F(" "); break;
      case 0x31: v=(b/4)*a*0.1;            units=F("mg/h"); break;
      case 0x32: v=(b-128)/(0.01*a);       units=F("mbar"); break;
      case 0x33: v=((b-128)/255)*a;        units=F("mg/h"); break;
      case 0x34: v=b*0.02*a-a;             units=F("Nm"); break;
      case 0x35: v=(b-128)*1.4222+0.006*a;  units=F("g/s"); break;
      case 0x36: v=a*256+b;                units=F("count"); break;
      case 0x37: v=a*b/200;                units=F("s"); break;
      case 0x38: v=a*256+b;                units=F("WSC"); break;
      case 0x39: v=a*256+b+65536;          units=F("WSC"); break;
     
      case 0x3B: v=(a*256+b)/32768;        units=F("g/s"); break;
      case 0x3C: v=(a*256+b)*0.01;         units=F("sec"); break;
      case 0x3E: v=0.256*a*b;              units=F("S"); break;
      case 0x40: v=float(a+b);             units=F("Ohm"); break;
      case 0x41: v=0.01*a*(b-127);         units=F("mm"); break;
      case 0x42: v=(a*b)/511.12;          units=F("V"); break;
      case 0x43: v=(640*a)+b*2.5;         units=F("Deg"); break;
      case 0x44: v=(256*a+b)/7.365;       units=F("deg/s");break;
      case 0x45: v=(256*a +b)*0.3254;     units=F("Bar");break;
      case 0x46: v=(256*a +b)*0.192;      units=F("m/s^2");break;
      default: sprintf(buf, "%2x, %2x      ", a, b); break;
    }
    
    switch (currAddr){
      case ADR_Engine: 
        switch(group){
          case 3: 
            switch (idx){
              case 0: engineSpeed = v; break;
              case 1: EGR_Consumption_target =v; break;
              case 2: EGR_Consumption=v; break;
              case 3: EGR_duty=v; break;
            }              
            break;
          case 11: 
            switch (idx){
              case 0: engineSpeed = v; break;
              case 1: TurboPressure_target =v; break;
              case 2: TurboPressure =v; break;
              case 3: Turbocharger_valve=v; break;
            }              
            break;
        }
        break;
      case ADR_Dashboard: 
        switch (group){ 
          case 1:  
            switch (idx){
              case 0: vehicleSpeed = v; break;
              case 1: engineSpeed = v; break;
              case 2: oilPressure = v; break;
            }
            break;
          case 2:
            switch (idx){
              case 0: odometer = v; break;
              case 1: fuelLevel = v; break;         
            }
            break;
          case 50:
            switch (idx){
              case 1: engineSpeed = v; break;
              case 2: oilTemp = v; break;
              case 3: coolantTemp = v; break;
            }
            break;
        }
        break;
    }
    if (units.length() != 0){
      dtostrf(v,4, 2, buf); 
      t=String(buf) + " " + units;
    }          
    Serial.println(t);
    
    //lcd.setCursor(0, idx);      
    //while (t.length() < 20) t += " ";
    //lcd.print(t);      
  }
  sensorCounter++;
  return true;
}

void alarm(){
  if (alarmCounter > 10) return;
  tone(pinBuzzer, 1200);    
  delay(100);
  noTone(pinBuzzer);   
  alarmCounter++;
}

void updateDisplay(){
  if (!connected){
    if ( (errorTimeout != 0) || (errorData != 0) ){
      lcdPrint(0,3, F("err to="));      
      lcdPrint(7,3, String(errorTimeout), 3);
      lcdPrint(10,3, F(" da="));      
      lcdPrint(14,3, String(errorData), 6);
    }
  } else {
    switch (currPage){
      case 1:      
        if (coolantTemp > 99){
          lcdPrint(0,1, F("COOL"));          
          alarm();          
        } else lcdPrint(0,1, F("cool"));
        lcdPrint(6,1,String(coolantTemp),3);                
        if ( (oilTemp > 99) || ((oilPressure != 30) && (oilPressure != 31)) ){          
          lcdPrint(10,1,F("OIL "));
          alarm();
        } else lcdPrint(10,1,F("oil "));        
        lcdPrint(14,1,String(oilPressure),3);        
        lcdPrint(0,2, F("rpm "));
        lcdPrint(4,2, String(engineSpeed),4);        
        lcdPrint(10,2, F("km/h "));
        lcdPrint(15,2, String(vehicleSpeed, 3));        
        lcdPrint(0,3, F("fuel "));
        lcdPrint(5,3, String(fuelLevel),3);        
        lcdPrint(10,3, F("odo "));
        lcdPrint(14,3, String(odometer),6);                        
        break;
      case 2:
        if (coolantTemp > 99){
          lcdPrint(0,1, F("COOL"));          
          alarm();          
        } else lcdPrint(0,1, F("cool"));
        lcdPrint(6,1,String(coolantTemp),3);                    
        lcdPrint(10,1, F("air "));          
        lcdPrint(14,1, String(intakeAirTemp), 3);                  
        lcdPrint(0,2, F("rpm "));
        lcdPrint(4,2, String(engineSpeed),4);        
        lcdPrint(10,2, F("km/h "));
        lcdPrint(15,2, String(vehicleSpeed, 3));                
        lcdPrint(0,3, F("fuel "));
        lcdPrint(5,3, String(fuelConsumption),3);                
        lcdPrint(10,3, F("volt "));
        lcdPrint(15,3, String(supplyVoltage),5);                                        
        break;
    }    
  }
  pageUpdateCounter++;
}

void setup(){      
  lcd.init();  
  lcd.backlight();      
  lcd.init();  
    
  pinMode(pinKLineTX, OUTPUT);  
  digitalWrite(pinKLineTX, HIGH);  
  
  pinMode(pinButton, INPUT);  
  pinMode(pinButton, INPUT_PULLUP);  
  
  pinMode(pinBuzzer, OUTPUT);
  /*tone(pinBuzzer, 1200);    
  delay(100);
  noTone(pinBuzzer);*/
  
  Serial.begin(19200);  
  Serial.println(F("SETUP"));            
        
  Serial.println(F("START"));       
}


void loop(){    
  
  if (digitalRead(pinButton) == LOW){    
    currPage++;
    if (currPage > 2) currPage = 1;
    lcd.clear();
    lcd.setCursor(0,0);
    lcd.print(F("page "));    
    lcd.print(currPage);    
    errorTimeout = 0;
    errorData = 0;            
    while (digitalRead(pinButton) == LOW);        
  }

  switch (currPage){
    case 1:      
      if (currAddr != ADR_Dashboard){        
        connect(ADR_Dashboard, 9600);
      } else  {
        readSensors(1);
        readSensors(2);
        readSensors(50);        
      }      
      break;
    case 2:
      if (currAddr != ADR_Engine) {
        connect(ADR_Engine, 9600);
      } else {
        readSensors(3);
        readSensors(11);
      }    
      break;   
  }        
  
  updateDisplay(); 

Serial.println();
Serial.print ("engineSpeed:  "); Serial.println(engineSpeed);
Serial.print ("EGR valve :  "); Serial.println(EGR_duty);
Serial.print ("EGR rashod  "); Serial.println(EGR_Consumption);
Serial.print ("EGR rashod zadan:  "); Serial.println(EGR_Consumption_target);
Serial.print ("Pressure Turbo:  "); Serial.println(TurboPressure);
Serial.print ("Pressure Turbo zadan:  "); Serial.println(TurboPressure_target);
Serial.print ("Turbo Actuator:  "); Serial.println(Turbocharger_valve);
Serial.println();


 
       
}




 

MaksVV
Offline
Зарегистрирован: 06.08.2015

taha17 пишет:
С блоками которые хочу видеть в БК уже почти определился. Хотелось бы придумать как решить с расходом l\100km (Литры / Километраж х 100 = Расход на 100 км). Но надо будет записывать всё в энергонезависимую память. Расход l\h известен.

ох, проходили мы это всё с опелем

MaksVV
Offline
Зарегистрирован: 06.08.2015

у вас литров /час  это мгновенная величина. И поэтому можно рассчитать будет мгновенный расход топлива л/100км. Средний же считается по другому. Делается цикл измерения:

Записывается пробег и остаток топлива, отмеряется определённое расстояние, чем больше тем лучше. Потом литры делятся на пробег и умножаются на 100. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

taha17 пишет:
С блоками которые хочу видеть в БК уже почти определился.

Блоками вы называете разные ЭБУ? Если да, то вы ещё параметры выделяйте которые надо, и обязательно чтобы их ваг ком корректно показывал. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Ваш скетч проверю завтра утром. И сразу отпишусь 

На счет блоков. 01- двигатель 17- приборка.

Ну можно с блоком бортовой сети пофантозировать потом ))

MaksVV
Offline
Зарегистрирован: 06.08.2015

и посмотрите какие группы/параметры в панели приборов есть. Может там уже всё готовое присутсвует. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

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

температура масла- нужна обязательна. не нашел где прячется. в нете смотрел 17 блок(прибока)-3(группа)-3окно. но у меня там её нет. поищу потом. Вроде как(17-50-3)

Скорость - как и температура двигателя ))

Напряжение батареи(аккума)   1-16-4

Пробег(может для расчетов, но он есть и у Александа) 17-2-1

Топливо в баке 17-3-1

блок-группа-окно

MaksVV
Offline
Зарегистрирован: 06.08.2015

taha17 пишет:
но он есть и у Александа

у него много чего не совпадает по группам/параметрам с вашим авто

MaksVV
Offline
Зарегистрирован: 06.08.2015

в климате или блоке салонной электроники смотрите наружную и салонную температуру

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

MaksVV пишет:

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

Может на этом попробовать ??? только она 3V

https://ru.aliexpress.com/item/V3-Wireless-module-NodeMcu-4M-bytes-Lua-WIFI-Internet-of-Things-development-board-based-ESP8266-esp/32647542733.html?spm=a2g0s.8937460.0.0.Op7KYJ

Меги тоже есть классные

8МБ+WI-FI

https://ru.aliexpress.com/item/Mega-WiFi-R3-ATmega2560-ESP8266-8Mb-memor...

32МБ+Wi-FI

https://ru.aliexpress.com/item/Mega-WiFi-R3-ATmega2560-ESP8266-32Mb-memo...

MaksVV
Offline
Зарегистрирован: 06.08.2015

taha17 пишет:
Может на этом попробовать ??? только она 3V

а кто это всё программировать будет? вы?

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну мегу с вифи можно конечно, может потом разберётесь

MaksVV
Offline
Зарегистрирован: 06.08.2015

дисплей ООчень желательно как в теме про опель. Чтобы основу скетча оттуда взять. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

У знакомого одного есть этот NodeMcu. Можно будет взять проэксперементировать. Говорил что c arduino IDE можно подружить. Или это целеком разные платформы ?  

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

ответ на 118

SETUP
START
------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
ERROR: timeout

engineSpeed:  0
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  0
Pressure Turbo zadan:  0
Turbo Actuator:  0

------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
IN: sz=3 data=55 1 8A 
------readconnectblocks
---KWPReceive sz=0 blockCounter=1
IN: sz=28 data=1B 1 F6 30 32 38 39 30 36 30 32 31 47 54 20 31 2C 39 6C 20 52 34 20 45 44 43 20 3 
---KWPSendAckBlock blockCounter=2
---KWPSend sz=4 blockCounter=2
OUT:3 2 9 3 
---KWPReceive sz=0 blockCounter=3
IN: sz=8 data=7 3 F6 20 47 34 31 3 
---KWPSendAckBlock blockCounter=4
---KWPSend sz=4 blockCounter=4
OUT:3 4 9 3 
---KWPReceive sz=0 blockCounter=5
IN: sz=12 data=B 5 F6 53 47 20 20 31 39 30 36 3 
---KWPSendAckBlock blockCounter=6
---KWPSend sz=4 blockCounter=6
OUT:3 6 9 3 
---KWPReceive sz=0 blockCounter=7
IN: sz=9 data=8 7 F6 0 0 4 0 14 3 
---KWPSendAckBlock blockCounter=8
---KWPSend sz=4 blockCounter=8
OUT:3 8 9 3 
---KWPReceive sz=0 blockCounter=9
IN: sz=4 data=3 9 9 3 
label=028906021GT 1,9l R4 EDC G4SG  190

engineSpeed:  0
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  0
Pressure Turbo zadan:  0
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=10
OUT:4 A 29 3 3 
---KWPReceive sz=0 blockCounter=11
IN: sz=16 data=F B E7 1 69 28 31 C8 4C 31 C8 68 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=12
OUT:4 C 29 B 3 
---KWPReceive sz=0 blockCounter=13
IN: sz=16 data=F D E7 1 69 28 12 FF 63 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=14
OUT:4 E 29 3 3 
---KWPReceive sz=0 blockCounter=15
IN: sz=16 data=F F E7 1 69 28 31 C8 4C 31 C8 68 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=16
OUT:4 10 29 B 3 
---KWPReceive sz=0 blockCounter=17
IN: sz=16 data=F 11 E7 1 69 28 12 FF 63 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=18
OUT:4 12 29 3 3 
---KWPReceive sz=0 blockCounter=19
IN: sz=16 data=F 13 E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=20
OUT:4 14 29 B 3 
---KWPReceive sz=0 blockCounter=21
IN: sz=16 data=F 15 E7 1 69 28 12 FF 63 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=22
OUT:4 16 29 3 3 
---KWPReceive sz=0 blockCounter=23
IN: sz=16 data=F 17 E7 1 69 28 31 C8 70 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=112  text=560.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=24
OUT:4 18 29 B 3 
---KWPReceive sz=0 blockCounter=25
IN: sz=16 data=F 19 E7 1 69 62 12 FF 70 12 FF 5A 17 66 5E 3 
count=4
type=1  a=105  b=98  text=2058.00 rpm
type=18  a=255  b=112  text=1142.40 mbar
type=18  a=255  b=90  text=918.00 mbar
type=23  a=102  b=94  text=37.00 %%

engineSpeed:  2058
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  918
Pressure Turbo zadan:  1142
Turbo Actuator:  37

------readSensors 3
---KWPSend sz=5 blockCounter=26
OUT:4 1A 29 3 3 
---KWPReceive sz=0 blockCounter=27
IN: sz=16 data=F 1B E7 1 69 41 31 C8 46 31 C8 6B 17 66 C 3 
count=4
type=1  a=105  b=65  text=1365.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=107  text=520.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=28
OUT:4 1C 29 B 3 
---KWPReceive sz=0 blockCounter=29
IN: sz=16 data=F 1D E7 1 69 3B 12 FF 6D 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=59  text=1239.00 rpm
type=18  a=255  b=109  text=1111.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  1239
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1111
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=30
OUT:4 1E 29 3 3 
---KWPReceive sz=0 blockCounter=31
IN: sz=16 data=F 1F E7 1 69 5C 31 C8 49 31 C8 61 17 66 43 3 
count=4
type=1  a=105  b=92  text=1932.00 rpm
type=49  a=200  b=73  text=360.00 mg/h
type=49  a=200  b=97  text=480.00 mg/h
type=23  a=102  b=67  text=26.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=32
OUT:4 20 29 B 3 
---KWPReceive sz=0 blockCounter=33
IN: sz=16 data=F 21 E7 1 69 6C 12 FF 6E 12 FF 5C 17 66 69 3 
count=4
type=1  a=105  b=108  text=2268.00 rpm
type=18  a=255  b=110  text=1122.00 mbar
type=18  a=255  b=92  text=938.40 mbar
type=23  a=102  b=105  text=41.00 %%

engineSpeed:  2268
EGR valve :  26
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  938
Pressure Turbo zadan:  1122
Turbo Actuator:  41

------readSensors 3
---KWPSend sz=5 blockCounter=34
OUT:4 22 29 3 3 
---KWPReceive sz=0 blockCounter=35
IN: sz=16 data=F 23 E7 1 69 4D 31 C8 46 31 C8 6A 17 66 C 3 
count=4
type=1  a=105  b=77  text=1617.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=106  text=520.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=36
OUT:4 24 29 B 3 
---KWPReceive sz=0 blockCounter=37
IN: sz=16 data=F 25 E7 1 69 30 12 FF 63 12 FF 61 17 66 3E 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=97  text=989.40 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  1008
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  989
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=38
OUT:4 26 29 3 3 
---KWPReceive sz=0 blockCounter=39
IN: sz=16 data=F 27 E7 1 69 58 31 C8 46 31 C8 63 17 66 3A 3 
count=4
type=1  a=105  b=88  text=1848.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=99  text=480.00 mg/h
type=23  a=102  b=58  text=23.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=40
OUT:4 28 29 B 3 
---KWPReceive sz=0 blockCounter=41
IN: sz=16 data=F 29 E7 1 69 3C 12 FF 63 12 FF 5F 17 66 5A 3 
count=4
type=1  a=105  b=60  text=1260.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=90  text=35.00 %%

engineSpeed:  1260
EGR valve :  23
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  35

------readSensors 3
---KWPSend sz=5 blockCounter=42
OUT:4 2A 29 3 3 
---KWPReceive sz=0 blockCounter=43
IN: sz=16 data=F 2B E7 1 69 2D 31 C8 48 31 C8 67 17 66 4C 3 
count=4
type=1  a=105  b=45  text=945.00 rpm
type=49  a=200  b=72  text=360.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=76  text=30.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=44
OUT:4 2C 29 B 3 
---KWPReceive sz=0 blockCounter=45
IN: sz=16 data=F 2D E7 1 69 2A 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=42  text=882.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  882
EGR valve :  30
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=46
OUT:4 2E 29 3 3 
---KWPReceive sz=0 blockCounter=47
IN: sz=16 data=F 2F E7 1 69 30 31 C8 91 31 C8 59 17 66 82 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=49  a=200  b=145  text=720.00 mg/h
type=49  a=200  b=89  text=440.00 mg/h
type=23  a=102  b=130  text=51.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=48
OUT:4 30 29 B 3 
---KWPReceive sz=0 blockCounter=49
IN: sz=16 data=F 31 E7 1 69 71 12 FF 6F 12 FF 59 17 66 8C 3 
count=4
type=1  a=105  b=113  text=2373.00 rpm
type=18  a=255  b=111  text=1132.20 mbar
type=18  a=255  b=89  text=907.80 mbar
type=23  a=102  b=140  text=55.00 %%

engineSpeed:  2373
EGR valve :  51
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  907
Pressure Turbo zadan:  1132
Turbo Actuator:  55

------readSensors 3
---KWPSend sz=5 blockCounter=50
OUT:4 32 29 3 3 
---KWPReceive sz=0 blockCounter=51
IN: sz=16 data=F 33 E7 1 69 54 31 C8 46 31 C8 67 17 66 4A 3 
count=4
type=1  a=105  b=84  text=1764.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=74  text=29.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=52
OUT:4 34 29 B 3 
---KWPReceive sz=0 blockCounter=53
IN: sz=16 data=F 35 E7 1 69 3C 12 FF 6C 12 FF 60 17 66 50 3 
count=4
type=1  a=105  b=60  text=1260.00 rpm
type=18  a=255  b=108  text=1101.60 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=80  text=31.00 %%

engineSpeed:  1260
EGR valve :  29
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1101
Turbo Actuator:  31

------readSensors 3
---KWPSend sz=5 blockCounter=54
OUT:4 36 29 3 3 
---KWPReceive sz=0 blockCounter=55
IN: sz=16 data=F 37 E7 1 69 7F 31 C8 72 31 C8 5E 17 66 32 3 
count=4
type=1  a=105  b=127  text=2667.00 rpm
type=49  a=200  b=114  text=560.00 mg/h
type=49  a=200  b=94  text=460.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=56
OUT:4 38 29 B 3 
---KWPReceive sz=0 blockCounter=57
IN: sz=16 data=F 39 E7 1 69 69 12 FF 6B 12 FF 5F 17 66 70 3 
count=4
type=1  a=105  b=105  text=2205.00 rpm
type=18  a=255  b=107  text=1091.40 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=112  text=44.00 %%

engineSpeed:  2205
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1091
Turbo Actuator:  44

------readSensors 3
---KWPSend sz=5 blockCounter=58
OUT:4 3A 29 3 3 
---KWPReceive sz=0 blockCounter=59
IN: sz=16 data=F 3B E7 1 69 43 31 C8 46 31 C8 6E 17 66 C 3 
count=4
type=1  a=105  b=67  text=1407.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=110  text=540.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=60
OUT:4 3C 29 B 3 
---KWPReceive sz=0 blockCounter=61
IN: sz=16 data=F 3D E7 1 69 2F 12 FF 63 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=47  text=987.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  987
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=62
OUT:4 3E 29 3 3 
---KWPReceive sz=0 blockCounter=63
IN: sz=16 data=F 3F E7 1 69 51 31 C8 A7 31 C8 53 17 66 32 3 
count=4
type=1  a=105  b=81  text=1701.00 rpm
type=49  a=200  b=167  text=820.00 mg/h
type=49  a=200  b=83  text=400.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=64
OUT:4 40 29 B 3 
---KWPReceive sz=0 blockCounter=65
IN: sz=16 data=F 41 E7 1 69 79 12 FF 6F 12 FF 5B 17 66 7B 3 
count=4
type=1  a=105  b=121  text=2541.00 rpm
type=18  a=255  b=111  text=1132.20 mbar
type=18  a=255  b=91  text=928.20 mbar
type=23  a=102  b=123  text=49.00 %%

engineSpeed:  2541
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  928
Pressure Turbo zadan:  1132
Turbo Actuator:  49

------readSensors 3
---KWPSend sz=5 blockCounter=66
OUT:4 42 29 3 3 
---KWPReceive sz=0 blockCounter=67
IN: sz=16 data=F 43 E7 1 69 6C 31 C8 4A 31 C8 62 17 66 4B 3 
count=4
type=1  a=105  b=108  text=2268.00 rpm
type=49  a=200  b=74  text=360.00 mg/h
type=49  a=200  b=98  text=480.00 mg/h
type=23  a=102  b=75  text=29.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=68
OUT:4 44 29 B 3 
---KWPReceive sz=0 blockCounter=69
IN: sz=16 data=F 45 E7 1 69 7D 12 FF 94 12 FF 5E 17 66 42 3 
count=4
type=1  a=105  b=125  text=2625.00 rpm
type=18  a=255  b=148  text=1509.60 mbar
type=18  a=255  b=94  text=958.80 mbar
type=23  a=102  b=66  text=26.00 %%

engineSpeed:  2625
EGR valve :  29
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  958
Pressure Turbo zadan:  1509
Turbo Actuator:  26

------readSensors 3
---KWPSend sz=5 blockCounter=70
OUT:4 46 29 3 3 
---KWPReceive sz=0 blockCounter=71
IN: sz=16 data=F 47 E7 1 69 80 31 C8 47 31 C8 60 17 66 67 3 
count=4
type=1  a=105  b=128  text=2688.00 rpm
type=49  a=200  b=71  text=340.00 mg/h
type=49  a=200  b=96  text=480.00 mg/h
type=23  a=102  b=103  text=41.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=72
OUT:4 48 29 B 3 
---KWPReceive sz=0 blockCounter=73
IN: sz=16 data=F 49 E7 1 69 62 12 FF 6A 12 FF 61 17 66 6D 3 
count=4
type=1  a=105  b=98  text=2058.00 rpm
type=18  a=255  b=106  text=1081.20 mbar
type=18  a=255  b=97  text=989.40 mbar
type=23  a=102  b=109  text=43.00 %%

engineSpeed:  2058
EGR valve :  41
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  989
Pressure Turbo zadan:  1081
Turbo Actuator:  43

------readSensors 3
---KWPSend sz=5 blockCounter=74
OUT:4 4A 29 3 3 
---KWPReceive sz=0 blockCounter=75
IN: sz=16 data=F 4B E7 1 69 3E 31 C8 4A 31 C8 6C 17 66 37 3 
count=4
type=1  a=105  b=62  text=1302.00 rpm
type=49  a=200  b=74  text=360.00 mg/h
type=49  a=200  b=108  text=540.00 mg/h
type=23  a=102  b=55  text=21.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=76
OUT:4 4C 29 B 3 
---KWPReceive sz=0 blockCounter=77
IN: sz=16 data=F 4D E7 1 69 57 12 FF 73 12 FF 5F 17 66 4C 3 
count=4
type=1  a=105  b=87  text=1827.00 rpm
type=18  a=255  b=115  text=1173.00 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=76  text=30.00 %%

engineSpeed:  1827
EGR valve :  21
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1173
Turbo Actuator:  30

------readSensors 3
---KWPSend sz=5 blockCounter=78
OUT:4 4E 29 3 3 
---KWPReceive sz=0 blockCounter=79
IN: sz=16 data=F 4F E7 1 69 6E 31 C8 54 31 C8 61 17 66 32 3 
count=4
type=1  a=105  b=110  text=2310.00 rpm
type=49  a=200  b=84  text=420.00 mg/h
type=49  a=200  b=97  text=480.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=80
OUT:4 50 29 B 3 
---KWPReceive sz=0 blockCounter=81
IN: sz=16 data=F 51 E7 1 69 68 12 FF 6C 12 FF 5E 17 66 70 3 
count=4
type=1  a=105  b=104  text=2184.00 rpm
type=18  a=255  b=108  text=1101.60 mbar
type=18  a=255  b=94  text=958.80 mbar
type=23  a=102  b=112  text=44.00 %%

engineSpeed:  2184
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  958
Pressure Turbo zadan:  1101
Turbo Actuator:  44

------readSensors 3
---KWPSend sz=5 blockCounter=82
OUT:4 52 29 3 3 
---KWPReceive sz=0 blockCounter=83
IN: sz=16 data=F 53 E7 1 69 47 31 C8 46 31 C8 6B 17 66 C 3 
count=4
type=1  a=105  b=71  text=1491.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=107  text=520.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=84
OUT:4 54 29 B 3 
---KWPReceive sz=0 blockCounter=85
IN: sz=16 data=F 55 E7 1 69 2F 12 FF 63 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=47  text=987.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  987
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=86
OUT:4 56 29 3 3 
---KWPReceive sz=0 blockCounter=87
IN: sz=16 data=F 57 E7 1 69 2C 31 C8 4A 31 C8 68 17 66 74 3 
count=4
type=1  a=105  b=44  text=924.00 rpm
type=49  a=200  b=74  text=360.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=116  text=46.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=88
OUT:4 58 29 B 3 
---KWPReceive sz=0 blockCounter=89
IN: sz=16 data=F 59 E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  46
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=90
OUT:4 5A 29 3 3 
---KWPReceive sz=0 blockCounter=91
IN: sz=16 data=F 5B E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=92
OUT:4 5C 29 B 3 
---KWPReceive sz=0 blockCounter=93
IN: sz=16 data=F 5D E7 1 69 2B 12 FF 6B 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=43  text=903.00 rpm
type=18  a=255  b=107  text=1091.40 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  903
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1091
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=94
OUT:4 5E 29 3 3 
---KWPReceive sz=0 blockCounter=95
IN: sz=16 data=F 5F E7 1 69 5E 31 C8 46 31 C8 62 17 66 C 3 
count=4
type=1  a=105  b=94  text=1974.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=98  text=480.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=96
OUT:4 60 29 B 3 
---KWPReceive sz=0 blockCounter=97
IN: sz=16 data=F 61 E7 1 69 40 12 FF 63 12 FF 5F 17 66 5C 3 
count=4
type=1  a=105  b=64  text=1344.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=92  text=36.00 %%

engineSpeed:  1344
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  36

------readSensors 3
---KWPSend sz=5 blockCounter=98
OUT:4 62 29 3 3 
---KWPReceive sz=0 blockCounter=99
IN: sz=16 data=F 63 E7 1 69 2E 31 C8 47 31 C8 69 17 66 4C 3 
count=4
type=1  a=105  b=46  text=966.00 rpm
type=49  a=200  b=71  text=340.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=76  text=30.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=100
OUT:4 64 29 B 3 
---KWPReceive sz=0 blockCounter=101
IN: sz=16 data=F 65 E7 1 69 2B 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=43  text=903.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  903
EGR valve :  30
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=102
OUT:4 66 29 3 3 
---KWPReceive sz=0 blockCounter=103
IN: sz=16 data=F 67 E7 1 69 28 31 C8 4C 31 C8 65 17 66 B0 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=176  text=70.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=104
OUT:4 68 29 B 3 
---KWPReceive sz=0 blockCounter=105
IN: sz=16 data=F 69 E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  70
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=106
OUT:4 6A 29 3 3 
---KWPReceive sz=0 blockCounter=107
IN: sz=16 data=F 6B E7 1 69 28 31 C8 4C 31 C8 66 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=108
OUT:4 6C 29 B 3 
---KWPReceive sz=0 blockCounter=109
IN: sz=16 data=F 6D E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=110
OUT:4 6E 29 3 3 
---KWPReceive sz=0 blockCounter=111
IN: sz=16 data=F 6F E7 1 69 28 31 C8 4C 31 C8 68 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=112
OUT:4 70 29 B 3 
---KWPReceive sz=0 blockCounter=113
IN: sz=16 data=F 71 E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=114
OUT:4 72 29 3 3 
---KWPReceive sz=0 blockCounter=115
IN: sz=16 data=F 73 E7 1 69 28 31 C8 4C 31 C8 65 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=116
OUT:4 74 29 B 3 
---KWPReceive sz=0 blockCounter=117
IN: sz=16 data=F 75 E7 1 69 28 12 FF 63 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=118
OUT:4 76 29 3 3 
---KWPReceive sz=0 blockCounter=119
IN: sz=16 data=F 77 E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=120
OUT:4 78 29 B 3 
---KWPReceive sz=0 blockCounter=121
IN: sz=16 data=F 79 E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=122
OUT:4 7A 29 3 3 
---KWPReceive sz=0 blockCounter=123
IN: sz=16 data=F 7B E7 1 69 28 31 C8 4C 31 C8 66 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=124
OUT:4 7C 29 B 3 
---KWPReceive sz=0 blockCounter=125
IN: sz=16 data=F 7D E7 1 69 28 12 FF 63 12 FF 5F 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=95  text=969.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  969
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=126
OUT:4 7E 29 3 3 
---KWPReceive sz=0 blockCounter=127
IN: sz=16 data=F 7F E7 1 69 28 31 C8 4C 31 C8 66 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=128
OUT:4 80 29 B 3 
---KWPReceive sz=0 blockCounter=129
IN: sz=16 data=F 81 E7 1 69 5D 12 FF 74 12 FF 5B 17 66 ED 3 
count=4
type=1  a=105  b=93  text=1953.00 rpm
type=18  a=255  b=116  text=1183.20 mbar
type=18  a=255  b=91  text=928.20 mbar
type=23  a=102  b=237  text=94.00 %%

engineSpeed:  1953
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  928
Pressure Turbo zadan:  1183
Turbo Actuator:  94

------readSensors 3
---KWPSend sz=5 blockCounter=130
OUT:4 82 29 3 3 
---KWPReceive sz=0 blockCounter=131
IN: sz=16 data=F 83 E7 1 69 60 31 C8 AA 31 C8 5B 17 66 32 3 
count=4
type=1  a=105  b=96  text=2016.00 rpm
type=49  a=200  b=170  text=840.00 mg/h
type=49  a=200  b=91  text=440.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=132
OUT:4 84 29 B 3 
---KWPReceive sz=0 blockCounter=133
IN: sz=16 data=F 85 E7 1 69 77 12 FF 6E 12 FF 5D 17 66 77 3 
count=4
type=1  a=105  b=119  text=2499.00 rpm
type=18  a=255  b=110  text=1122.00 mbar
type=18  a=255  b=93  text=948.60 mbar
type=23  a=102  b=119  text=47.00 %%

engineSpeed:  2499
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  948
Pressure Turbo zadan:  1122
Turbo Actuator:  47

------readSensors 3
---KWPSend sz=5 blockCounter=134
OUT:4 86 29 3 3 
---KWPReceive sz=0 blockCounter=135
IN: sz=16 data=F 87 E7 1 69 52 31 C8 6A 31 C8 69 17 66 35 3 
count=4
type=1  a=105  b=82  text=1722.00 rpm
type=49  a=200  b=106  text=520.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=53  text=21.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=136
OUT:4 88 29 B 3 
---KWPReceive sz=0 blockCounter=137
IN: sz=16 data=F 89 E7 1 69 8C 12 FF 7D 12 FF 61 17 66 3E 3 
count=4
type=1  a=105  b=140  text=2940.00 rpm
type=18  a=255  b=125  text=1275.00 mbar
type=18  a=255  b=97  text=989.40 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  2940
EGR valve :  21
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  989
Pressure Turbo zadan:  1275
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=138
OUT:4 8A 29 3 3 
---KWPReceive sz=0 blockCounter=139
IN: sz=16 data=F 8B E7 1 69 6F 31 C8 46 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=111  text=2331.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=140
OUT:4 8C 29 B 3 
---KWPReceive sz=0 blockCounter=141
IN: sz=16 data=F 8D E7 1 69 4F 12 FF 63 12 FF 63 17 66 61 3 
count=4
type=1  a=105  b=79  text=1659.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=97  text=38.00 %%

engineSpeed:  1659
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  38

------readSensors 3
---KWPSend sz=5 blockCounter=142
OUT:4 8E 29 3 3 
---KWPReceive sz=0 blockCounter=143
IN: sz=16 data=F 8F E7 1 69 2F 31 C8 52 31 C8 6C 17 66 32 3 
count=4
type=1  a=105  b=47  text=987.00 rpm
type=49  a=200  b=82  text=400.00 mg/h
type=49  a=200  b=108  text=540.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=144
OUT:4 90 29 B 3 
---KWPReceive sz=0 blockCounter=145
IN: sz=16 data=F 91 E7 1 69 2C 12 FF 63 12 FF 61 17 66 3E 3 
count=4
type=1  a=105  b=44  text=924.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=97  text=989.40 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  924
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  989
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=146
OUT:4 92 29 3 3 
---KWPReceive sz=0 blockCounter=147
IN: sz=16 data=F 93 E7 1 69 39 31 C8 AA 31 C8 55 17 66 32 3 
count=4
type=1  a=105  b=57  text=1197.00 rpm
type=49  a=200  b=170  text=840.00 mg/h
type=49  a=200  b=85  text=420.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=148
OUT:4 94 29 B 3 
---KWPReceive sz=0 blockCounter=149
IN: sz=16 data=F 95 E7 1 69 7A 12 FF 77 12 FF 5B 17 66 9B 3 
count=4
type=1  a=105  b=122  text=2562.00 rpm
type=18  a=255  b=119  text=1213.80 mbar
type=18  a=255  b=91  text=928.20 mbar
type=23  a=102  b=155  text=61.00 %%

engineSpeed:  2562
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  928
Pressure Turbo zadan:  1213
Turbo Actuator:  61

------readSensors 3
---KWPSend sz=5 blockCounter=150
OUT:4 96 29 3 3 
---KWPReceive sz=0 blockCounter=151
IN: sz=16 data=F 97 E7 1 69 72 31 C8 7F 31 C8 5F 17 66 32 3 
count=4
type=1  a=105  b=114  text=2394.00 rpm
type=49  a=200  b=127  text=620.00 mg/h
type=49  a=200  b=95  text=460.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=152
OUT:4 98 29 B 3 
---KWPReceive sz=0 blockCounter=153
IN: sz=16 data=F 99 E7 1 69 92 12 FF 70 12 FF 62 17 66 85 3 
count=4
type=1  a=105  b=146  text=3066.00 rpm
type=18  a=255  b=112  text=1142.40 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=133  text=52.00 %%

engineSpeed:  3066
EGR valve :  19
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  1142
Turbo Actuator:  52

------readSensors 3
---KWPSend sz=5 blockCounter=154
OUT:4 9A 29 3 3 
---KWPReceive sz=0 blockCounter=155
IN: sz=16 data=F 9B E7 1 69 6A 31 C8 46 31 C8 68 17 66 C 3 
count=4
type=1  a=105  b=106  text=2226.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=156
OUT:4 9C 29 B 3 
---KWPReceive sz=0 blockCounter=157
IN: sz=16 data=F 9D E7 1 69 4B 12 FF 63 12 FF 63 17 66 61 3 
count=4
type=1  a=105  b=75  text=1575.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=97  text=38.00 %%

engineSpeed:  1575
EGR valve :  4
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  38

------readSensors 3
---KWPSend sz=5 blockCounter=158
OUT:4 9E 29 3 3 
---KWPReceive sz=0 blockCounter=159
IN: sz=16 data=F 9F E7 1 69 2E 31 C8 4F 31 C8 69 17 66 3B 3 
count=4
type=1  a=105  b=46  text=966.00 rpm
type=49  a=200  b=79  text=380.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=59  text=23.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=160
OUT:4 A0 29 B 3 
---KWPReceive sz=0 blockCounter=161
IN: sz=16 data=F A1 E7 1 69 2B 12 FF 63 12 FF 62 17 66 3E 3 
count=4
type=1  a=105  b=43  text=903.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  903
EGR valve :  23
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=162
OUT:4 A2 29 3 3 
---KWPReceive sz=0 blockCounter=163
IN: sz=5 data=4 A3 A A3 3 
ERROR: invalid answer
------readSensors 11
---KWPSend sz=5 blockCounter=164
OUT:4 A4 29 B 3 
---KWPReceive sz=0 blockCounter=165
IN: sz=16 data=F A5 E7 1 69 69 12 FF 6C 12 FF 5C 17 66 73 3 
count=4
type=1  a=105  b=105  text=2205.00 rpm
type=18  a=255  b=108  text=1101.60 mbar
type=18  a=255  b=92  text=938.40 mbar
type=23  a=102  b=115  text=45.00 %%

engineSpeed:  903
EGR valve :  23
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
IN: sz=3 data=55 1 8A 
------readconnectblocks
---KWPReceive sz=0 blockCounter=1
IN: sz=28 data=1B 1 F6 30 32 38 39 30 36 30 32 31 47 54 20 31 2C 39 6C 20 52 34 20 45 44 43 20 3 
---KWPSendAckBlock blockCounter=2
---KWPSend sz=4 blockCounter=2
OUT:3 2 9 3 
---KWPReceive sz=0 blockCounter=3
IN: sz=8 data=7 3 F6 20 47 34 31 3 
---KWPSendAckBlock blockCounter=4
---KWPSend sz=4 blockCounter=4
OUT:3 4 9 3 
---KWPReceive sz=0 blockCounter=5
IN: sz=12 data=B 5 F6 53 47 20 20 31 39 30 36 3 
---KWPSendAckBlock blockCounter=6
---KWPSend sz=4 blockCounter=6
OUT:3 6 9 3 
---KWPReceive sz=0 blockCounter=7
IN: sz=9 data=8 7 F6 0 0 4 0 14 3 
---KWPSendAckBlock blockCounter=8
---KWPSend sz=4 blockCounter=8
OUT:3 8 9 3 
---KWPReceive sz=0 blockCounter=9
IN: sz=4 data=3 9 9 3 
label=028906021GT 1,9l R4 EDC G4SG  190

engineSpeed:  903
EGR valve :  23
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  999
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=10
OUT:4 A 29 3 3 
---KWPReceive sz=0 blockCounter=11
IN: sz=16 data=F B E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=12
OUT:4 C 29 B 3 
---KWPReceive sz=0 blockCounter=13
IN: sz=16 data=F D E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=14
OUT:4 E 29 3 3 
---KWPReceive sz=0 blockCounter=15
IN: sz=16 data=F F E7 1 69 28 31 C8 4C 31 C8 69 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=16
OUT:4 10 29 B 3 
---KWPReceive sz=0 blockCounter=17
IN: sz=16 data=F 11 E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=18
OUT:4 12 29 3 3 
---KWPReceive sz=0 blockCounter=19
IN: sz=16 data=F 13 E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=20
OUT:4 14 29 B 3 
---KWPReceive sz=0 blockCounter=21
IN: sz=16 data=F 15 E7 1 69 28 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=22
OUT:4 16 29 3 3 
---KWPReceive sz=0 blockCounter=23
IN: sz=16 data=F 17 E7 1 69 29 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=41  text=861.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=24
OUT:4 18 29 B 3 
---KWPReceive sz=0 blockCounter=25
IN: sz=16 data=F 19 E7 1 69 29 12 FF 63 12 FF 60 17 66 3E 3 
count=4
type=1  a=105  b=41  text=861.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=96  text=979.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  861
EGR valve :  84
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  979
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=26
OUT:4 1A 29 3 3 
---KWPReceive sz=0 blockCounter=27
IN: sz=16 data=F 1B E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
co


 

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну вот с группами 3 и 11 разобрались - всё заработало. Поправил ещё 118, теперь и расход газов ЕГР будет показывать. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

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

А в первом сообщении ссылку на эту тему - типа как всё начиналось. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

ЕГР у меня заглушен(механически) по этому могут быть показания в пределах 500.

SETUP
START
------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
ERROR: timeout

engineSpeed:  0
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  0
Pressure Turbo zadan:  0
Turbo Actuator:  0

------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
IN: sz=3 data=55 1 8A 
------readconnectblocks
---KWPReceive sz=0 blockCounter=1
IN: sz=28 data=1B 1 F6 30 32 38 39 30 36 30 32 31 47 54 20 31 2C 39 6C 20 52 34 20 45 44 43 20 3 
---KWPSendAckBlock blockCounter=2
---KWPSend sz=4 blockCounter=2
OUT:3 2 9 3 
---KWPReceive sz=0 blockCounter=3
IN: sz=8 data=7 3 F6 20 47 34 31 3 
---KWPSendAckBlock blockCounter=4
---KWPSend sz=4 blockCounter=4
OUT:3 4 9 3 
---KWPReceive sz=0 blockCounter=5
IN: sz=12 data=B 5 F6 53 47 20 20 31 39 30 36 3 
---KWPSendAckBlock blockCounter=6
---KWPSend sz=4 blockCounter=6
OUT:3 6 9 3 
---KWPReceive sz=0 blockCounter=7
IN: sz=9 data=8 7 F6 0 0 4 0 14 3 
---KWPSendAckBlock blockCounter=8
---KWPSend sz=4 blockCounter=8
OUT:3 8 9 3 
---KWPReceive sz=0 blockCounter=9
IN: sz=4 data=3 9 9 3 
label=028906021GT 1,9l R4 EDC G4SG  190

engineSpeed:  0
EGR valve :  0
EGR rashod  0
EGR rashod zadan:  0
Pressure Turbo:  0
Pressure Turbo zadan:  0
Turbo Actuator:  0

------readSensors 3
---KWPSend sz=5 blockCounter=10
OUT:4 A 29 3 3 
---KWPReceive sz=0 blockCounter=11
IN: sz=16 data=F B E7 1 69 28 31 C8 4C 31 C8 64 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=100  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=12
OUT:4 C 29 B 3 
---KWPReceive sz=0 blockCounter=13
IN: sz=16 data=F D E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=14
OUT:4 E 29 3 3 
---KWPReceive sz=0 blockCounter=15
IN: sz=16 data=F F E7 1 69 28 31 C8 4C 31 C8 65 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=16
OUT:4 10 29 B 3 
---KWPReceive sz=0 blockCounter=17
IN: sz=16 data=F 11 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=18
OUT:4 12 29 3 3 
---KWPReceive sz=0 blockCounter=19
IN: sz=16 data=F 13 E7 1 69 28 31 C8 4C 31 C8 65 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=20
OUT:4 14 29 B 3 
---KWPReceive sz=0 blockCounter=21
IN: sz=16 data=F 15 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=22
OUT:4 16 29 3 3 
---KWPReceive sz=0 blockCounter=23
IN: sz=16 data=F 17 E7 1 69 28 31 C8 4C 31 C8 65 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=24
OUT:4 18 29 B 3 
---KWPReceive sz=0 blockCounter=25
IN: sz=16 data=F 19 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=26
OUT:4 1A 29 3 3 
---KWPReceive sz=0 blockCounter=27
IN: sz=16 data=F 1B E7 1 69 28 31 C8 4C 31 C8 65 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=101  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=28
OUT:4 1C 29 B 3 
---KWPReceive sz=0 blockCounter=29
IN: sz=16 data=F 1D E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=30
OUT:4 1E 29 3 3 
---KWPReceive sz=0 blockCounter=31
IN: sz=16 data=F 1F E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=32
OUT:4 20 29 B 3 
---KWPReceive sz=0 blockCounter=33
IN: sz=16 data=F 21 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=34
OUT:4 22 29 3 3 
---KWPReceive sz=0 blockCounter=35
IN: sz=16 data=F 23 E7 1 69 28 31 C8 4C 31 C8 63 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=99  text=480.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=36
OUT:4 24 29 B 3 
---KWPReceive sz=0 blockCounter=37
IN: sz=16 data=F 25 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  4
EGR rashod  480
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=38
OUT:4 26 29 3 3 
---KWPReceive sz=0 blockCounter=39
IN: sz=16 data=F 27 E7 1 69 28 31 C8 4C 31 C8 66 17 66 C 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=40
OUT:4 28 29 B 3 
---KWPReceive sz=0 blockCounter=41
IN: sz=16 data=F 29 E7 1 69 43 12 FF 63 12 FF 62 17 66 5B 3 
count=4
type=1  a=105  b=67  text=1407.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=98  text=999.60 mbar
type=23  a=102  b=91  text=36.00 %%

engineSpeed:  1407
EGR valve :  4
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  999
Pressure Turbo zadan:  1009
Turbo Actuator:  36

------readSensors 3
---KWPSend sz=5 blockCounter=42
OUT:4 2A 29 3 3 
---KWPReceive sz=0 blockCounter=43
IN: sz=16 data=F 2B E7 1 69 30 31 C8 46 31 C8 68 17 66 50 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=80  text=31.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=44
OUT:4 2C 29 B 3 
---KWPReceive sz=0 blockCounter=45
IN: sz=16 data=F 2D E7 1 69 31 12 FF 85 12 FF 66 17 66 3E 3 
count=4
type=1  a=105  b=49  text=1029.00 rpm
type=18  a=255  b=133  text=1356.60 mbar
type=18  a=255  b=102  text=1040.40 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  1029
EGR valve :  31
EGR rashod  520
EGR rashod zadan:  340
Pressure Turbo:  1040
Pressure Turbo zadan:  1356
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=46
OUT:4 2E 29 3 3 
---KWPReceive sz=0 blockCounter=47
IN: sz=16 data=F 2F E7 1 69 6D 31 C8 46 31 C8 6D 17 66 35 3 
count=4
type=1  a=105  b=109  text=2289.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=109  text=540.00 mg/h
type=23  a=102  b=53  text=21.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=48
OUT:4 30 29 B 3 
---KWPReceive sz=0 blockCounter=49
IN: sz=16 data=F 31 E7 1 69 51 12 FF 63 12 FF 70 17 66 61 3 
count=4
type=1  a=105  b=81  text=1701.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=112  text=1142.40 mbar
type=23  a=102  b=97  text=38.00 %%

engineSpeed:  1701
EGR valve :  21
EGR rashod  540
EGR rashod zadan:  340
Pressure Turbo:  1142
Pressure Turbo zadan:  1009
Turbo Actuator:  38

------readSensors 3
---KWPSend sz=5 blockCounter=50
OUT:4 32 29 3 3 
---KWPReceive sz=0 blockCounter=51
IN: sz=16 data=F 33 E7 1 69 35 31 C8 46 31 C8 71 17 66 C 3 
count=4
type=1  a=105  b=53  text=1113.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=113  text=560.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=52
OUT:4 34 29 B 3 
---KWPReceive sz=0 blockCounter=53
IN: sz=16 data=F 35 E7 1 69 2E 12 FF 63 12 FF 6B 17 66 3E 3 
count=4
type=1  a=105  b=46  text=966.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=107  text=1091.40 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  966
EGR valve :  4
EGR rashod  560
EGR rashod zadan:  340
Pressure Turbo:  1091
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=54
OUT:4 36 29 3 3 
---KWPReceive sz=0 blockCounter=55
IN: sz=16 data=F 37 E7 1 69 7B 31 C8 64 31 C8 70 17 66 32 3 
count=4
type=1  a=105  b=123  text=2583.00 rpm
type=49  a=200  b=100  text=500.00 mg/h
type=49  a=200  b=112  text=560.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=56
OUT:4 38 29 B 3 
---KWPReceive sz=0 blockCounter=57
IN: sz=16 data=F 39 E7 1 69 65 12 FF 6B 12 FF 77 17 66 6D 3 
count=4
type=1  a=105  b=101  text=2121.00 rpm
type=18  a=255  b=107  text=1091.40 mbar
type=18  a=255  b=119  text=1213.80 mbar
type=23  a=102  b=109  text=43.00 %%

engineSpeed:  2121
EGR valve :  19
EGR rashod  560
EGR rashod zadan:  500
Pressure Turbo:  1213
Pressure Turbo zadan:  1091
Turbo Actuator:  43

------readSensors 3
---KWPSend sz=5 blockCounter=58
OUT:4 3A 29 3 3 
---KWPReceive sz=0 blockCounter=59
IN: sz=16 data=F 3B E7 1 69 45 31 C8 46 31 C8 74 17 66 C 3 
count=4
type=1  a=105  b=69  text=1449.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=116  text=580.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=60
OUT:4 3C 29 B 3 
---KWPReceive sz=0 blockCounter=61
IN: sz=16 data=F 3D E7 1 69 30 12 FF 63 12 FF 6F 17 66 3E 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=111  text=1132.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  1008
EGR valve :  4
EGR rashod  580
EGR rashod zadan:  340
Pressure Turbo:  1132
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=62
OUT:4 3E 29 3 3 
---KWPReceive sz=0 blockCounter=63
IN: sz=16 data=F 3F E7 1 69 3D 31 C8 86 31 C8 5A 17 66 32 3 
count=4
type=1  a=105  b=61  text=1281.00 rpm
type=49  a=200  b=134  text=660.00 mg/h
type=49  a=200  b=90  text=440.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=64
OUT:4 40 29 B 3 
---KWPReceive sz=0 blockCounter=65
IN: sz=16 data=F 41 E7 1 69 5E 12 FF 6A 12 FF 6E 17 66 6D 3 
count=4
type=1  a=105  b=94  text=1974.00 rpm
type=18  a=255  b=106  text=1081.20 mbar
type=18  a=255  b=110  text=1122.00 mbar
type=23  a=102  b=109  text=43.00 %%

engineSpeed:  1974
EGR valve :  19
EGR rashod  440
EGR rashod zadan:  660
Pressure Turbo:  1122
Pressure Turbo zadan:  1081
Turbo Actuator:  43

------readSensors 3
---KWPSend sz=5 blockCounter=66
OUT:4 42 29 3 3 
---KWPReceive sz=0 blockCounter=67
IN: sz=16 data=F 43 E7 1 69 3F 31 C8 46 31 C8 75 17 66 C 3 
count=4
type=1  a=105  b=63  text=1323.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=117  text=580.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=68
OUT:4 44 29 B 3 
---KWPReceive sz=0 blockCounter=69
IN: sz=16 data=F 45 E7 1 69 30 12 FF 63 12 FF 6E 17 66 3E 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=110  text=1122.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  1008
EGR valve :  4
EGR rashod  580
EGR rashod zadan:  340
Pressure Turbo:  1122
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=70
OUT:4 46 29 3 3 
---KWPReceive sz=0 blockCounter=71
IN: sz=16 data=F 47 E7 1 69 2C 31 C8 4A 31 C8 6A 17 66 84 3 
count=4
type=1  a=105  b=44  text=924.00 rpm
type=49  a=200  b=74  text=360.00 mg/h
type=49  a=200  b=106  text=520.00 mg/h
type=23  a=102  b=132  text=52.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=72
OUT:4 48 29 B 3 
---KWPReceive sz=0 blockCounter=73
IN: sz=16 data=F 49 E7 1 69 29 12 FF 68 12 FF 68 17 66 3E 3 
count=4
type=1  a=105  b=41  text=861.00 rpm
type=18  a=255  b=104  text=1060.80 mbar
type=18  a=255  b=104  text=1060.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  861
EGR valve :  52
EGR rashod  520
EGR rashod zadan:  360
Pressure Turbo:  1060
Pressure Turbo zadan:  1060
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=74
OUT:4 4A 29 3 3 
---KWPReceive sz=0 blockCounter=75
IN: sz=16 data=F 4B E7 1 69 7F 31 C8 64 31 C8 72 17 66 32 3 
count=4
type=1  a=105  b=127  text=2667.00 rpm
type=49  a=200  b=100  text=500.00 mg/h
type=49  a=200  b=114  text=560.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=76
OUT:4 4C 29 B 3 
---KWPReceive sz=0 blockCounter=77
IN: sz=16 data=F 4D E7 1 69 66 12 FF 6C 12 FF 77 17 66 6F 3 
count=4
type=1  a=105  b=102  text=2142.00 rpm
type=18  a=255  b=108  text=1101.60 mbar
type=18  a=255  b=119  text=1213.80 mbar
type=23  a=102  b=111  text=44.00 %%

engineSpeed:  2142
EGR valve :  19
EGR rashod  560
EGR rashod zadan:  500
Pressure Turbo:  1213
Pressure Turbo zadan:  1101
Turbo Actuator:  44

------readSensors 3
---KWPSend sz=5 blockCounter=78
OUT:4 4E 29 3 3 
---KWPReceive sz=0 blockCounter=79
IN: sz=16 data=F 4F E7 1 69 6F 31 C8 46 31 C8 78 17 66 60 3 
count=4
type=1  a=105  b=111  text=2331.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=120  text=600.00 mg/h
type=23  a=102  b=96  text=38.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=80
OUT:4 50 29 B 3 
---KWPReceive sz=0 blockCounter=81
IN: sz=16 data=F 51 E7 1 69 53 12 FF 63 12 FF 79 17 66 62 3 
count=4
type=1  a=105  b=83  text=1743.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=121  text=1234.20 mbar
type=23  a=102  b=98  text=39.00 %%

engineSpeed:  1743
EGR valve :  38
EGR rashod  600
EGR rashod zadan:  340
Pressure Turbo:  1234
Pressure Turbo zadan:  1009
Turbo Actuator:  39

------readSensors 3
---KWPSend sz=5 blockCounter=82
OUT:4 52 29 3 3 
---KWPReceive sz=0 blockCounter=83
IN: sz=16 data=F 53 E7 1 69 37 31 C8 46 31 C8 71 17 66 32 3 
count=4
type=1  a=105  b=55  text=1155.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=113  text=560.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=84
OUT:4 54 29 B 3 
---KWPReceive sz=0 blockCounter=85
IN: sz=16 data=F 55 E7 1 69 2F 12 FF 63 12 FF 6D 17 66 3E 3 
count=4
type=1  a=105  b=47  text=987.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=109  text=1111.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  987
EGR valve :  19
EGR rashod  560
EGR rashod zadan:  340
Pressure Turbo:  1111
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=86
OUT:4 56 29 3 3 
---KWPReceive sz=0 blockCounter=87
IN: sz=16 data=F 57 E7 1 69 2B 31 C8 4B 31 C8 68 17 66 9D 3 
count=4
type=1  a=105  b=43  text=903.00 rpm
type=49  a=200  b=75  text=360.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=157  text=62.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=88
OUT:4 58 29 B 3 
---KWPReceive sz=0 blockCounter=89
IN: sz=16 data=F 59 E7 1 69 60 12 FF 83 12 FF 66 17 66 52 3 
count=4
type=1  a=105  b=96  text=2016.00 rpm
type=18  a=255  b=131  text=1336.20 mbar
type=18  a=255  b=102  text=1040.40 mbar
type=23  a=102  b=82  text=32.00 %%

engineSpeed:  2016
EGR valve :  62
EGR rashod  520
EGR rashod zadan:  360
Pressure Turbo:  1040
Pressure Turbo zadan:  1336
Turbo Actuator:  32

------readSensors 3
---KWPSend sz=5 blockCounter=90
OUT:4 5A 29 3 3 
---KWPReceive sz=0 blockCounter=91
IN: sz=16 data=F 5B E7 1 69 55 31 C8 77 31 C8 69 17 66 32 3 
count=4
type=1  a=105  b=85  text=1785.00 rpm
type=49  a=200  b=119  text=580.00 mg/h
type=49  a=200  b=105  text=520.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=92
OUT:4 5C 29 B 3 
---KWPReceive sz=0 blockCounter=93
IN: sz=16 data=F 5D E7 1 69 8E 12 FF 6F 12 FF 7F 17 66 C4 3 
count=4
type=1  a=105  b=142  text=2982.00 rpm
type=18  a=255  b=111  text=1132.20 mbar
type=18  a=255  b=127  text=1295.40 mbar
type=23  a=102  b=196  text=78.00 %%

engineSpeed:  2982
EGR valve :  19
EGR rashod  520
EGR rashod zadan:  580
Pressure Turbo:  1295
Pressure Turbo zadan:  1132
Turbo Actuator:  78

------readSensors 3
---KWPSend sz=5 blockCounter=94
OUT:4 5E 29 3 3 
---KWPReceive sz=0 blockCounter=95
IN: sz=16 data=F 5F E7 1 69 67 31 C8 46 31 C8 7A 17 66 C 3 
count=4
type=1  a=105  b=103  text=2163.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=122  text=600.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=96
OUT:4 60 29 B 3 
---KWPReceive sz=0 blockCounter=97
IN: sz=16 data=F 61 E7 1 69 4C 12 FF 63 12 FF 7B 17 66 5F 3 
count=4
type=1  a=105  b=76  text=1596.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=123  text=1254.60 mbar
type=23  a=102  b=95  text=37.00 %%

engineSpeed:  1596
EGR valve :  4
EGR rashod  600
EGR rashod zadan:  340
Pressure Turbo:  1254
Pressure Turbo zadan:  1009
Turbo Actuator:  37

------readSensors 3
---KWPSend sz=5 blockCounter=98
OUT:4 62 29 3 3 
---KWPReceive sz=0 blockCounter=99
IN: sz=16 data=F 63 E7 1 69 30 31 C8 47 31 C8 6F 17 66 37 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=49  a=200  b=71  text=340.00 mg/h
type=49  a=200  b=111  text=540.00 mg/h
type=23  a=102  b=55  text=21.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=100
OUT:4 64 29 B 3 
---KWPReceive sz=0 blockCounter=101
IN: sz=16 data=F 65 E7 1 69 2D 12 FF 63 12 FF 6C 17 66 3E 3 
count=4
type=1  a=105  b=45  text=945.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=108  text=1101.60 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  945
EGR valve :  21
EGR rashod  540
EGR rashod zadan:  340
Pressure Turbo:  1101
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=102
OUT:4 66 29 3 3 
---KWPReceive sz=0 blockCounter=103
IN: sz=16 data=F 67 E7 1 69 30 31 C8 91 31 C8 5B 17 66 5D 3 
count=4
type=1  a=105  b=48  text=1008.00 rpm
type=49  a=200  b=145  text=720.00 mg/h
type=49  a=200  b=91  text=440.00 mg/h
type=23  a=102  b=93  text=37.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=104
OUT:4 68 29 B 3 
ERROR: obdRead timeout
ERROR: invalid complement

engineSpeed:  1008
EGR valve :  37
EGR rashod  440
EGR rashod zadan:  720
Pressure Turbo:  1101
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------connect addr=1 baud=9600
---KWP 5 baud init
bit0=0 startbit
bit1=1
bit2=0
bit3=0
bit4=0
bit5=0
bit6=0
bit7=0
bit8=0 parity
bit9=1 stopbit
---KWPReceive sz=3 blockCounter=0
IN: sz=3 data=55 1 8A 
------readconnectblocks
---KWPReceive sz=0 blockCounter=1
IN: sz=28 data=1B 1 F6 30 32 38 39 30 36 30 32 31 47 54 20 31 2C 39 6C 20 52 34 20 45 44 43 20 3 
---KWPSendAckBlock blockCounter=2
---KWPSend sz=4 blockCounter=2
OUT:3 2 9 3 
---KWPReceive sz=0 blockCounter=3
IN: sz=8 data=7 3 F6 20 47 34 31 3 
---KWPSendAckBlock blockCounter=4
---KWPSend sz=4 blockCounter=4
OUT:3 4 9 3 
---KWPReceive sz=0 blockCounter=5
IN: sz=12 data=B 5 F6 53 47 20 20 31 39 30 36 3 
---KWPSendAckBlock blockCounter=6
---KWPSend sz=4 blockCounter=6
OUT:3 6 9 3 
---KWPReceive sz=0 blockCounter=7
IN: sz=9 data=8 7 F6 0 0 4 0 14 3 
---KWPSendAckBlock blockCounter=8
---KWPSend sz=4 blockCounter=8
OUT:3 8 9 3 
---KWPReceive sz=0 blockCounter=9
IN: sz=4 data=3 9 9 3 
label=028906021GT 1,9l R4 EDC G4SG  190

engineSpeed:  1008
EGR valve :  37
EGR rashod  440
EGR rashod zadan:  720
Pressure Turbo:  1101
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=10
OUT:4 A 29 3 3 
---KWPReceive sz=0 blockCounter=11
IN: sz=16 data=F B E7 1 69 28 31 C8 4C 31 C8 64 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=100  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=12
OUT:4 C 29 B 3 
---KWPReceive sz=0 blockCounter=13
IN: sz=16 data=F D E7 1 69 28 12 FF 63 12 FF 64 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=100  text=1020.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1020
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=14
OUT:4 E 29 3 3 
---KWPReceive sz=0 blockCounter=15
IN: sz=16 data=F F E7 1 69 2E 31 C8 AA 31 C8 5A 17 66 99 3 
count=4
type=1  a=105  b=46  text=966.00 rpm
type=49  a=200  b=170  text=840.00 mg/h
type=49  a=200  b=90  text=440.00 mg/h
type=23  a=102  b=153  text=60.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=16
OUT:4 10 29 B 3 
---KWPReceive sz=0 blockCounter=17
IN: sz=16 data=F 11 E7 1 69 63 12 FF 6A 12 FF 65 17 66 6C 3 
count=4
type=1  a=105  b=99  text=2079.00 rpm
type=18  a=255  b=106  text=1081.20 mbar
type=18  a=255  b=101  text=1030.20 mbar
type=23  a=102  b=108  text=43.00 %%

engineSpeed:  2079
EGR valve :  60
EGR rashod  440
EGR rashod zadan:  840
Pressure Turbo:  1030
Pressure Turbo zadan:  1081
Turbo Actuator:  43

------readSensors 3
---KWPSend sz=5 blockCounter=18
OUT:4 12 29 3 3 
---KWPReceive sz=0 blockCounter=19
IN: sz=16 data=F 13 E7 1 69 44 31 C8 46 31 C8 71 17 66 32 3 
count=4
type=1  a=105  b=68  text=1428.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=113  text=560.00 mg/h
type=23  a=102  b=50  text=19.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=20
OUT:4 14 29 B 3 
---KWPReceive sz=0 blockCounter=21
IN: sz=16 data=F 15 E7 1 69 81 12 FF 79 12 FF 73 17 66 6A 3 
count=4
type=1  a=105  b=129  text=2709.00 rpm
type=18  a=255  b=121  text=1234.20 mbar
type=18  a=255  b=115  text=1173.00 mbar
type=23  a=102  b=106  text=42.00 %%

engineSpeed:  2709
EGR valve :  19
EGR rashod  560
EGR rashod zadan:  340
Pressure Turbo:  1173
Pressure Turbo zadan:  1234
Turbo Actuator:  42

------readSensors 3
---KWPSend sz=5 blockCounter=22
OUT:4 16 29 3 3 
---KWPReceive sz=0 blockCounter=23
IN: sz=16 data=F 17 E7 1 69 73 31 C8 46 31 C8 79 17 66 C 3 
count=4
type=1  a=105  b=115  text=2415.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=121  text=600.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=24
OUT:4 18 29 B 3 
---KWPReceive sz=0 blockCounter=25
IN: sz=16 data=F 19 E7 1 69 57 12 FF 66 12 FF 7C 17 66 66 3 
count=4
type=1  a=105  b=87  text=1827.00 rpm
type=18  a=255  b=102  text=1040.40 mbar
type=18  a=255  b=124  text=1264.80 mbar
type=23  a=102  b=102  text=40.00 %%

engineSpeed:  1827
EGR valve :  4
EGR rashod  600
EGR rashod zadan:  340
Pressure Turbo:  1264
Pressure Turbo zadan:  1040
Turbo Actuator:  40

------readSensors 3
---KWPSend sz=5 blockCounter=26
OUT:4 1A 29 3 3 
---KWPReceive sz=0 blockCounter=27
IN: sz=16 data=F 1B E7 1 69 3A 31 C8 46 31 C8 6F 17 66 C 3 
count=4
type=1  a=105  b=58  text=1218.00 rpm
type=49  a=200  b=70  text=340.00 mg/h
type=49  a=200  b=111  text=540.00 mg/h
type=23  a=102  b=12  text=4.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=28
OUT:4 1C 29 B 3 
---KWPReceive sz=0 blockCounter=29
IN: sz=16 data=F 1D E7 1 69 2F 12 FF 63 12 FF 6E 17 66 3E 3 
count=4
type=1  a=105  b=47  text=987.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=110  text=1122.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  987
EGR valve :  4
EGR rashod  540
EGR rashod zadan:  340
Pressure Turbo:  1122
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=30
OUT:4 1E 29 3 3 
---KWPReceive sz=0 blockCounter=31
IN: sz=16 data=F 1F E7 1 69 2B 31 C8 4B 31 C8 68 17 66 91 3 
count=4
type=1  a=105  b=43  text=903.00 rpm
type=49  a=200  b=75  text=360.00 mg/h
type=49  a=200  b=104  text=520.00 mg/h
type=23  a=102  b=145  text=57.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=32
OUT:4 20 29 B 3 
---KWPReceive sz=0 blockCounter=33
IN: sz=16 data=F 21 E7 1 69 28 12 FF 63 12 FF 67 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=103  text=1050.60 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  57
EGR rashod  520
EGR rashod zadan:  360
Pressure Turbo:  1050
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=34
OUT:4 22 29 3 3 
---KWPReceive sz=0 blockCounter=35
IN: sz=16 data=F 23 E7 1 69 28 31 C8 4C 31 C8 67 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=103  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=36
OUT:4 24 29 B 3 
---KWPReceive sz=0 blockCounter=37
IN: sz=16 data=F 25 E7 1 69 28 12 FF 63 12 FF 65 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=101  text=1030.20 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1030
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=38
OUT:4 26 29 3 3 
---KWPReceive sz=0 blockCounter=39
IN: sz=16 data=F 27 E7 1 69 28 31 C8 4C 31 C8 66 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=102  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=40
OUT:4 28 29 B 3 
---KWPReceive sz=0 blockCounter=41
IN: sz=16 data=F 29 E7 1 69 28 12 FF 63 12 FF 64 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=100  text=1020.00 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1020
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=42
OUT:4 2A 29 3 3 
---KWPReceive sz=0 blockCounter=43
IN: sz=16 data=F 2B E7 1 69 28 31 C8 4C 31 C8 64 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=100  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=44
OUT:4 2C 29 B 3 
---KWPReceive sz=0 blockCounter=45
IN: sz=16 data=F 2D E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=46
OUT:4 2E 29 3 3 
---KWPReceive sz=0 blockCounter=47
IN: sz=16 data=F 2F E7 1 69 28 31 C8 4C 31 C8 64 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=100  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=48
OUT:4 30 29 B 3 
---KWPReceive sz=0 blockCounter=49
IN: sz=16 data=F 31 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=50
OUT:4 32 29 3 3 
---KWPReceive sz=0 blockCounter=51
IN: sz=16 data=F 33 E7 1 69 28 31 C8 4C 31 C8 64 17 66 D4 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=49  a=200  b=76  text=380.00 mg/h
type=49  a=200  b=100  text=500.00 mg/h
type=23  a=102  b=212  text=84.00 %%
------readSensors 11
---KWPSend sz=5 blockCounter=52
OUT:4 34 29 B 3 
---KWPReceive sz=0 blockCounter=53
IN: sz=16 data=F 35 E7 1 69 28 12 FF 63 12 FF 63 17 66 3E 3 
count=4
type=1  a=105  b=40  text=840.00 rpm
type=18  a=255  b=99  text=1009.80 mbar
type=18  a=255  b=99  text=1009.80 mbar
type=23  a=102  b=62  text=24.00 %%

engineSpeed:  840
EGR valve :  84
EGR rashod  500
EGR rashod zadan:  380
Pressure Turbo:  1009
Pressure Turbo zadan:  1009
Turbo Actuator:  24

------readSensors 3
---KWPSend sz=5 blockCounter=54
OUT:4 36 29 3 3 

 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017
MaksVV
Offline
Зарегистрирован: 06.08.2015

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

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

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

MaksVV
Offline
Зарегистрирован: 06.08.2015

неа, такие не ковырял. Дак они маленькие скорее всего для БК  будут. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Надо будет потом как-нить совместить всё. Я тут раньше прикидывал, что хочу от БК и начал код шкрабать. Надо еще вывести провод от турбинки догревателя, что бы знать крутится она или нет... если крутится то запускать помпу, а потом и печку. Есть идея сделать мигающий стоп-сигнал при экстренном торможении. Некоторые  покупают платы с G-сенсором. Я в свое время купил китайский, он просто ставиться перед стоп-сигналом и моргает. А моргает он всегда, что наверное может раздрожать других водителей. Можно попробовать сделать включение его  когда сработает ABS и скорость например выше 50 или 60. Только вот как подобрать транзистор((( изначально они по ходу закрыты, а подачей сигнала на их открываются. А тут надо наоборот(простое торможение всегда-открыт, а когда срабатывает ABS - то закрывается). 

MaksVV
Offline
Зарегистрирован: 06.08.2015

ну и как работает?

MaksVV
Offline
Зарегистрирован: 06.08.2015

вроде говоря про бортовой комп имеют в виду дорожный комп - расходы, километражи, ну в крайнем случае параметры работы ДВС) А у вас тут все в кучу будет. Сразу вас предупреждаю, что одно может легко мешать работать другому. Такие вещи невозможно нормально сделать с вашим уровнем программирования. Поэтому рекомендую остановится на чем ни будь одном. Я вам скажу просто, хотя бы обороты и т.д. с ЭБУ на экран выведете, а там посмотрим что из этого получится. 

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Прислушаюсь  к Вашим словам. Надо остановиться на чем то одном, лучше на БК. А управление догревателем, потом сделаю. В боевых действиях на тачке не проверял, только на столе. вместо релюшек стоят диоды. С пульта работает, с кнопки тоже работает. НЕ могу проверить в реальных, так как сам догреватель в ошибку уходит, ругается на обороты турбинки. Мож на днях все сделаю потом - проверю

MaksVV
Offline
Зарегистрирован: 06.08.2015

у вас подключается адаптер к подогревателю? например программой Еdyth ? Если да, то также можно поснифить данные с подогревателя, чтобы провод к турбинке не тянуть. 

MaksVV
Offline
Зарегистрирован: 06.08.2015

или даже через штатную VAG диагностику должно подключаться

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

Вот моя запись на Drive2.ru. Мой котел на прямую к диагностике не подключен. Ну а вы гигант мысли, провод то кинут уже. можно и попробовать )))
https://www.drive2.ru/l/489675201085177968/

MaksVV
Offline
Зарегистрирован: 06.08.2015

список параметров в Едите если работает, можно с котла данные повытягивать, в т.ч. и обороты нагнетателя

taha17
taha17 аватар
Offline
Зарегистрирован: 08.10.2017

MaksVV пишет:

список параметров в Едите если работает, можно с котла данные повытягивать, в т.ч. и обороты нагнетателя

ТУТ я думаю вы все поймете. Исходники

http://www.carhelp.info/forums/showthread.php?t=92902&page=2&p=870075&vi...

http://www.carhelp.info/forums/showthread.php?t=92902&page=3&p=871100&vi...