A B C D E F G H I J K L M N O P Q R S T U V W X Y Z AA AB AC AD AE AF AG
например посчитаем напряжение борт сети. Смотрим в таблицу , за это отвечает байт D. Он равен у нас 0x6F в DEC это 111. Подставляем в формулу. (111+1,5)/9,854 = 11,42 В
Огромное спасибо, MaksVV!!! Посчитал, все значения в снифе по запросу 2102-находятся в диапазоне допустимых в соответствии с таблицей на Sirius-42! Правда немного странные значения длительности впрыска и коррекции, но все в рамках. Вот только смущает напряжение бортсети, у меня в Chevrolet-Explorere с заведенным двигателем показывало значение 13-13,3 вольта. А тут получается 11,5! Подозреваю что это ошибка в формуле, нужно так: D/9.854 + 1.5 . Тогда получается 13 вольт.
Круто, теперь можно дальше делать свой БК, а то я зациклился на его внешнем виде -на картинке в дисплее (хочу БК в приборку Нексии поставить вместо индикаторов топлива и температуры). Еще раз -низкий поклон, Макс, очень выручил!!!
Подскажи, пожалуйста, как этот код подвязать к ЕМЛ327. Командами через SoftwareSerial подключаю так: ATZ - ответ емл и версия прошивки, ATSP5 - ok>, ATSH8111F1 - ok>, далее 2101 и длинный код B2 F1 11 61 01 01 01 30 24 00 00 00 43 8B 00 55 B2 79 8E 17 6F 0A 00 00 00 00 1E 01 00 22 24 22 46 46 6E 6C 12 7D 00 00 8B 00 00 03 4C 20 14 A2 00 00 00 01 23 28 . На 3Е тоже ответ BUS INIT: OK 81 F1 11 7E 01. Не получается подвязать к коду в посте #1297
Привет, MaksVV, вот и я вернулся из отпуска. В отпуске разобрался со своими протоколами. Нашел данные по запросу 21F0 и уточнил данные по 2102. По своему логу сопоставил данные по длительности впрыска и массовому расходу воздуха-получилось ровно 1/14,7!!!
Получилось подсчитать мгновенный расход, очень порадовался! Кстати Эбу даже передает номер включенной передачи РКПП!!! Прикольно наблюдать в логе переключение 1-2-3 ))). В отпуске от нечего делать почти закончил эмулятор ЭБУ для Нексии 150, писал на VB6 ! ))) Вообщем все данные есть, осталось только собрать БК! )))
MaksVV а я переписал круиз на ассемблер и сгонял в Крым ~5000 км. Отлично педалирует. Есть небольшой гистерезис - особенно вниз с горы. Тормозить то он не может, только сбрасывать обороты...
MaksVV а я переписал круиз на ассемблер и сгонял в Крым ~5000 км. Отлично педалирует. Есть небольшой гистерезис - особенно вниз с горы. Тормозить то он не может, только сбрасывать обороты...
MaksVV, огромное спасибо за помощь! попробую по совету! )
Lev2606, ваш сниф если правильно отформатировать то получится следующее :
Diag to PCM: 81 11 F1 81 4 // запрос на подключение к ЭБУ PCM to Diag: 83 F1 11 C1 EF 8F C4 // ответ ЭБУ с KEYWORDами Diag to PCM: 82 11 F1 1A 80 1E // запрос идентов блока PCM to Diag: 80 F1 11 A5 5A 80 FF FF FF FF 53 41 54 30 30 31 53 41 54 46 52 0 0 53 30 30 31 31 42 55 57 FF FF 0 96 94 6 68 4B 52 37 37 31 38 35 32 30 31 2D 2D 4B 52 37 37 31 38 35 59 FF // и т.д. это идентификаторы, полностью сообщение не влезло в сниф Diag to PCM: 80 11 F1 89 2C F0 1 1 1 C 1 1 2 1 C 20 1 3 1 B 1 1 4 1 B 8 1 5 1 B 9 1 6 5 B 11 1 B 2 6 2 1 D 1 5 6 1 E 1 5 7 1 F 2 4 2 1 11 2 4 6 1 13 1 1 1 4 1 2 26 1C 2C // тут тоже какая то длинная хрень. диагностика видимо запрашивает какие PIDы блок поддерживает PCM to Diag: 82 F1 11 6C F0 E0 // ответ блока на эту длинную хрень Diag to PCM: 81 11 F1 3E C1 // запрос поддержания связи PCM to Diag: 81 F1 11 7E 1 // ответ поддержания связи // и далее диагностика начинает запрашивать попеременно диагностические параметры двумя PIDами это 2102 и 21F0 Diag to PCM: 82 11 F1 21 2 A7 // запрос 2102 PCM to Diag: A2 F1 11 61 2 A5 80 0 6F 0 0 0 D0 E8 D0 E8 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7F 0 0 0 0 0 0 8B // ответ на 2102 Diag to PCM: 82 11 F1 21 F0 95 // запрос 21F0 PCM to Diag: AF F1 11 61 F0 0 0 0 0 1 0 0 0 0 0 0 4E 0 0 54 0 54 0 0 0 0 0 B3 B3 B3 B3 80 0 0 5 5 0 1 4B 1 48 2 7B 0 F3 3 0 0 66 0 BD // ответ на 21F0далее я нашёл разбор PIDа 2102 для вашей нексии.
собственно говоря вот байты ответа на запрос 2102 (внизу буквенное название этих байтов в ПИДе). Жирным шапка ПИДа
A2 F1 11 61 2 A5 80 0 6F 0 0 0 D0 E8 D0 E8 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7F 0 0 0 0 0 0 8B
Огромное спасибо, MaksVV!!! Посчитал, все значения в снифе по запросу 2102-находятся в диапазоне допустимых в соответствии с таблицей на Sirius-42! Правда немного странные значения длительности впрыска и коррекции, но все в рамках. Вот только смущает напряжение бортсети, у меня в Chevrolet-Explorere с заведенным двигателем показывало значение 13-13,3 вольта. А тут получается 11,5! Подозреваю что это ошибка в формуле, нужно так: D/9.854 + 1.5 . Тогда получается 13 вольт.
Круто, теперь можно дальше делать свой БК, а то я зациклился на его внешнем виде -на картинке в дисплее (хочу БК в приборку Нексии поставить вместо индикаторов топлива и температуры). Еще раз -низкий поклон, Макс, очень выручил!!!
viki13viki, пробуем такой тестовый скетч чисто для связи с панелью и выводом в сериал.
#define K_LINE_GAUGE Serial2 #define TX_gauge 16 //#define debugPCM // раскоментировать эту строку для отладки в Serial порту обмена с PCM #define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени uint32_t prevRESETheaderGAUGE=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timerGAUGE; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t timerdelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool DelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) byte waitbyte_RX_GAUGE = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAYGAUGE DelayGAUGE = 0; timerdelayGAUGE = curmillis // включение этого таймера byte headerGAUGE = 0; // состояние заголовка byte message_sizeGAUGE = 0; // размер тела сообщения byte jGAUGE = 3; // инкремент byte nGAUGE = 3; // количество старт байт const byte bufsize = 150; byte MessageRx_GAUGE [bufsize] = {0}; // буфер принятого сообщения int ChecksumGAUGE =0; // байт контрольной суммы byte PIDgauge[] = {0x02, 0x11, 0x00, 0x13}; byte InitGauge = 1; void setup() { Serial.begin (115200); pinMode(TX_gauge, OUTPUT); delay (1500); Serial.println ("Send startsession - address Gauge"); digitalWrite (TX_gauge, HIGH); delay (500); digitalWrite (TX_gauge, LOW); delay (20); digitalWrite (TX_gauge, HIGH ); delay (15); digitalWrite (TX_gauge, LOW); delay (5); digitalWrite (TX_gauge, HIGH); delay (5); K_LINE_GAUGE.begin(9600); } void loop() { curmillis = millis(); receiveGAUGE (); // приём сообщений от приборки } void receiveGAUGE () { if (K_LINE_GAUGE.available() ){ // первый старт байт if (headerGAUGE == 0 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[0]=K_LINE_GAUGE.read(); if ((InitGauge ==1 && MessageRx_GAUGE[0]==0x55) || InitGauge ==2 && MessageRx_GAUGE[0]!=0xFF){headerGAUGE = 1; RESETheader_timerGAUGE = 1; prevRESETheaderGAUGE = curmillis; #ifdef debugGAUGE Serial.print (F("Receive GAUGE: ")); printDebugRX(MessageRx_GAUGE[0]); #endif } } // второй старт байт if (headerGAUGE == 1 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[1]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[1]); #endif if ( (InitGauge ==1 && MessageRx_GAUGE[1]==0x52) || (InitGauge ==2 && (MessageRx_GAUGE[1]==0xA0 || MessageRx_GAUGE[1]==0xA1))){ headerGAUGE = 2;} else { #ifdef debugGAUGE Serial.println(F(" GAUGE Message fail address")); #endif headerGAUGE = 0; RESETheader_timerGAUGE = 0;}} // третий старт байт if (headerGAUGE == 2 && DelayGAUGE){ TIMER_DELAYGAUGE ; MessageRx_GAUGE[2]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[2]); #endif if (InitGauge ==2 && (MessageRx_GAUGE[2]==0x48 || MessageRx_GAUGE[2]==0x04)){ message_sizeGAUGE = MessageRx_GAUGE[0]-2; prevRESETheaderGAUGE = curmillis; headerGAUGE = 4; jGAUGE=3; nGAUGE=3; if (message_sizeGAUGE > bufsize) message_sizeGAUGE = bufsize; ChecksumGAUGE = 0;} else if (InitGauge ==1 && MessageRx_GAUGE[2]==0x80) {InitGauge = 2; K_LINE_GAUGE.write(0x7F); headerGAUGE = 0; RESETheader_timerGAUGE = 0; #ifdef debugGAUGE Serial.println ("Gauge INIT is good!"); #endif } else {headerGAUGE = 0; #ifdef debugGAUGE Serial.println(F("GAUGE Message fail address")); #endif RESETheader_timerGAUGE = 0;} } // пишем тело сообщения if (headerGAUGE == 4 && DelayGAUGE && jGAUGE< message_sizeGAUGE+nGAUGE+1) { MessageRx_GAUGE[jGAUGE] = K_LINE_GAUGE.read(); prevRESETheaderGAUGE = curmillis; if (jGAUGE<message_sizeGAUGE+nGAUGE-1) ChecksumGAUGE+= MessageRx_GAUGE[jGAUGE]; // подсчёт КС if (jGAUGE==message_sizeGAUGE+nGAUGE) headerGAUGE = 5; TIMER_DELAYGAUGE ; #ifdef debugGAUGE printDebugRX(MessageRx_GAUGE[jGAUGE]); #endif jGAUGE++; } } // сообщение приняли, действуем if (headerGAUGE == 5) {TIMER_DELAYGAUGE ; #ifdef debugGAUGE Serial.println(); #endif for(byte i = 0; i<nGAUGE; i++) ChecksumGAUGE+=MessageRx_GAUGE[i]; // прибавляем к контрольной сумме старт байты int ChecksumG = ( ( unsigned int )MessageRx_GAUGE[message_sizeGAUGE+nGAUGE-1] << 8 ) | MessageRx_GAUGE[message_sizeGAUGE+nGAUGE]; // парсинг контрольной суммы из 2 последних байт // если контрольная сумма верна: if ( ChecksumGAUGE == ChecksumG) { #ifdef debugGAUGE Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем #endif if (MessageRx_GAUGE[1]== 0xA0 && MessageRx_GAUGE[2]== 0x48) { #ifdef debugGAUGE Serial.println ("ID panel receive! Send request PIDGauge"); #endif for (byte i=0; i<sizeof(PIDgauge); i++) {delay (1); K_LINE_GAUGE.write (PIDgauge[i]);} } if (MessageRx_GAUGE[1]== 0xA1 && MessageRx_GAUGE[2]== 0x04) { #ifdef debugGAUGE Serial.println (" receive Datastream Gauge!"); #endif } } // если контрольная сумма не совпала: #ifdef debugGAUGE else Serial.println("CRC fail!!!" ); #endif message_sizeGAUGE = 0; headerGAUGE=0; RESETheader_timerGAUGE = 0; jGAUGE=3; ChecksumGAUGE = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!DelayGAUGE && curmillis - timerdelayGAUGE > waitbyte_RX_GAUGE) DelayGAUGE = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timerGAUGE && curmillis - prevRESETheaderGAUGE > 1000) { #ifdef debugGAUGE Serial.println(F("Message fail timeout")); #endif RESETheader_timerGAUGE = 0; headerGAUGE = 0;} }// end receiveGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));}Макс, свалил в отпуск, буду в начале сентября. Дам знать когда опробую. Спасибо
Подскажи, пожалуйста, как этот код подвязать к ЕМЛ327. Командами через SoftwareSerial подключаю так: ATZ - ответ емл и версия прошивки, ATSP5 - ok>, ATSH8111F1 - ok>, далее 2101 и длинный код B2 F1 11 61 01 01 01 30 24 00 00 00 43 8B 00 55 B2 79 8E 17 6F 0A 00 00 00 00 1E 01 00 22 24 22 46 46 6E 6C 12 7D 00 00 8B 00 00 03 4C 20 14 A2 00 00 00 01 23 28 . На 3Е тоже ответ BUS INIT: OK 81 F1 11 7E 01. Не получается подвязать к коду в посте #1297
протокол ЕЛМ тут врядли кто юзал и помощь в этом вопросе маловероятна. и скетч там нефиг привязывать. проще заново писать.
Привет, MaksVV, вот и я вернулся из отпуска. В отпуске разобрался со своими протоколами. Нашел данные по запросу 21F0 и уточнил данные по 2102. По своему логу сопоставил данные по длительности впрыска и массовому расходу воздуха-получилось ровно 1/14,7!!!
Получилось подсчитать мгновенный расход, очень порадовался! Кстати Эбу даже передает номер включенной передачи РКПП!!! Прикольно наблюдать в логе переключение 1-2-3 ))). В отпуске от нечего делать почти закончил эмулятор ЭБУ для Нексии 150, писал на VB6 ! ))) Вообщем все данные есть, осталось только собрать БК! )))
Отличная работа, выложи потом эту инфу. Вдруг кому пригодится.
MaksVV а я переписал круиз на ассемблер и сгонял в Крым ~5000 км. Отлично педалирует. Есть небольшой гистерезис - особенно вниз с горы. Тормозить то он не может, только сбрасывать обороты...
Всем дарова. Уже вышел с отпуска :(. Макс отчет по посту 1904
Сразу кидаю последний подправленный скетч
#include <Adafruit_GFX.h> #include <MCUFRIEND_kbv.h> #include <UTFTGLUE.h>//use GLUE class and constructor #include "TouchScreen.h" #include <stdint.h> #include <SPI.h> #include <EEPROM.h> //MCUFRIEND_kbv tft; #include "Fonts/Chosence_Bold16pt7b.h"; #define MINPRESSURE 200 #define MAXPRESSURE 1000 //pin 20 SCL , 21 SDA датчик реального времени #include <Wire.h> #include "RTClib.h" RTC_DS3231 rtc; UTFTGLUE myGLCD(0x1581,A2,A1,A3,A4,A0); //all dummy args const int XP = 6, XM = A2, YP = A1, YM = 7; const int TS_LEFT = 136, TS_RT = 907, TS_TOP = 139, TS_BOT = 942; TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); uint16_t ID; int x, y; char currentPage; float h; float t; bool Dvoet = 0; bool reNew = 0; #define BLACK 0x0000 #define WHITE 0xFFFF #define RED 0xF800 #define GREEN 0x07E0 #include <SoftwareSerial.h> #define TX_PCM 13 SoftwareSerial K_LINE_PCM (12, TX_PCM); //RХ,TХ #define PCM_address 0x11 // адрес PCM #define DIAG_address 0xF1 // адрес диагностики #define debugPCM // раскоментировать эту строку для отладки в Serial порту обмена с PCM //#define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени uint32_t prevRequest = 0; // таймер периодических запосов на PCM uint16_t RequestPeriod = 3500; // периодичность запросов на PCM uint32_t prevRESETheader=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timer; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t prev_NOanswer=0; // таймер контроля неответов от ЭБУ после подачи запросов bool NOanswer_timer = 0; // таймер контроля неответов от ЭБУ после подачи запросов byte noanswers = 0; // количество подряд неответов от ЭБУ uint32_t timerdelay = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool Delay = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) byte waitbyte_RX = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAY Delay = 0; timerdelay = curmillis // включение этого таймера byte delaybyte_TX = 1; // задержка между отправкой байт в запросах, мс byte header = 0; // состояние заголовка byte message_size = 0; // размер тела сообщения byte j = 3; // инкремент byte n = 3; // количество старт байт const byte bufsize = 150; // размер буфера принятого сообщения byte MessageRx_PCM [bufsize] = {0}; // буфер принятого сообщения byte crc =0; // байт контрольной суммы // возможные варианты запросов на ЭБУ: enum REQUEST { INIT, PID, DTCERASE, DTCREAD, PRESENT, }; // текстовки запросов для отладки char* textRequest[] = { "INIT", "PID_2101", "DTC_ERASE", "DTC_READ", "PRESENT", } ; // сами запросы byte PCM_Message_TX[][5] = { {1, 0x81, 0,0,0}, // запрос инициализации {2, 0x21,0x01, 0,0}, // запрос пид 2101 {3, 0x14,0xFF,0x00, 0}, // запрос на стирание ошибок {4, 0x18,0x00,0xFF,0x00 }, // запрос на чтение ошибок {1, 0x3E, 0,0,0}, // запрос присутствия }; byte request = INIT; // переменная, показывающая какой запрос будем делать //-------------------------------------------переменные бортовика float L100M = 0; //расход на 100 км измеренный за поездку float L100 = 0; //мгновенный расход литров на 100км float LHor = 0; //мгновенный расход топлива литров в час float L100SR = 0; //расход литров на 100км измеренный раз в интервал kmL float L100SR_TFT = 0; // самый средний из расходов на 100км, он выводится на экран int L100_Eeprom[11]= {10,10,10,10,10,10,10,10,10,10,10}; int FuelZamer[10]= {0}; // массив для измерения уровня (количества) топлива int ZamerNumber = 0; // номер замера уровня (количества) топлива int n_eeprom = 0; // текущий адрес ячейки еепром для записи расхода int MAF = 0; //26,27 байты Sensor de flujo de aire en masa float BoostPres = 0; //28,29 байты Presión de refuerzo int RPM = 0; //32,33 байты Velocidad del motor int EGRmg = 0; //34,35 байты Comando EGR (Comando de recirculación de gases de escape) float BoostPresCom = 0; //38,39 байты Comando de presión de refuerzo int Speed = 0; //44,45 байты Velocidad del vehículo float DesaInjQua = 0; //50,51 байты Cantidad de inyección deseada float InjQua = 0; //52,53 байты Cantidad de la inyección float StaDaliv = 0; //54,55 байты Inicio de la entrega int PumpRPM = 0; //56,57 байты Velocidad de la bomba float EGRPul = 0; //62,63 байты Relación de impulsos EGR (recirculación de gases de escape float SolenPul = 0; //64,65 байты Velocidad de solenoide de control de nivel de remolino Relación de impulsos float SolenPre = 0; //70,71 байты Relación de impulsos Presión Electroválvula de presión float DesInj = 0; //72,73 байты Inyección deseada Inicio float ActInj = 0; //16,17 байты Inicio de la inyección real int TempAir = 0; //74,75 байты Temperatura del aire de admisión int Temp = 0; //14,15 байты Temperatura del refrigerante int TempOil = 0; //18,19 байты Temperatura del aceite del motor int TempFuel = 0; //58,59 байты Temperatura del combustible //все что касается топлива float Fuel = 0; //остаток топлива float Fuel2 = 0; //остаток мгновенного топлива байт 16 , датчика в баке int FuelIGN = 0; // количество топлвива в баке на момент включения зажигания int Fuel_last = 0; // для формул bool flagFuelIGN = 0; // флаг записан ли остаток топлива в момент вкл. зажигания float FuelTrip = 0; // количество литров топлива, израсходованное за один цикл включения зажигания //все что касается километража float kmAge = 0; //пробег, полученный со щитка приборов int kmAgeIGN = 0; //пробег который был в момент включения зажигания int kmAge_last = 0; // для формул bool flagkmAgeIGN = 0; //флаг записан ли пробег в момент вкл. зажигания float kmTrip = 0; //пробег за один цикл включения зажигания int kmL = 10; // интервал, через который будет происходить обновление среднего расхода на 100км int km = 0; // переменная для расчетов int kmeeprom = 10; // интервал, через который будет происходить подсчет среднеарифмитического расхода L100SR_TFT int kmTFT = 0; // переменная для расчетов периодического подсчета среднеарифмитического расхода топлива L100SR_TFT int kmREFUELING = 0; // пробег до заправки на остатке топлива unsigned long prevWatch = 0; unsigned long prevDvoet = 0; unsigned long prevData = 0; void setup() { uint16_t ID = myGLCD.readID(); if (ID == 0xD3D3) ID = 0x1581; // write-only shield myGLCD.begin(ID); myGLCD.InitLCD(3); myGLCD.clrScr(); myGLCD.setFont(&Chosence_Bold16pt7b); //myGLCD.fillScreen(WHITE); //myGLCD.setTextColor(WHITE, BLACK); //myGLCD.setBackColor(BLACK); Wire.begin(); rtc.begin(); //загрузка стартовой страницы currentPage = '0'; drawHomeScreen(); //подсчет среднеарифметического усредненного расхода for (int i = 0; i < 11; i++) L100_Eeprom [i]= EEPROM.read(i); for (int i = 0; i < 11; i++) L100SR_TFT = L100SR_TFT + L100_Eeprom [i]; L100SR_TFT = (float)L100SR_TFT/110.0; if (L100SR_TFT<0) L100SR_TFT = 0; if (L100SR_TFT>99) L100SR_TFT = 99; // строка ниже используется для настройки даты и времени часов // раскоментировать, выставить времая и дату, залить в ардуино. в скетче закоментировать // обратно и залить еще раз, иначе каждый раз будет по новой выствлятся это же время и дата // (год, месяц, день, часы, минуты, секунды) //rtc.adjust(DateTime(2017, 7, 21, 13, 57, 0)); #if defined debugPCM or debugGAUGE Serial.begin(115200); #endif K_LINE_PCM.begin(10400); pinMode(TX_PCM, OUTPUT); } void loop() { curmillis = millis(); // снимок текущего времени if (curmillis - prevRequest > RequestPeriod && header == 0 ) { if (request == INIT) fastinit(); // при необходимости делаем переподключение к PCM else {sendMessagePCM(request); // отправляем на PCM текущий запрос if (request == PID) RequestPeriod = 600; if (request == DTCERASE || request == DTCREAD) RequestPeriod = 2500;} prevRequest = curmillis; } receivePCM (); // приём сообщений от PCM if (header == 0) Menu (); if (curmillis - prevWatch > 3000) { Watch (); prevWatch = curmillis;} if (curmillis - prevDvoet > 500) { if (!Dvoet) {myGLCD.setTextColor(WHITE); } else {myGLCD.setTextColor(BLACK); } myGLCD.print(":", 290, 5); prevDvoet = curmillis; Dvoet=!Dvoet;} }// end loop void fastinit() { digitalWrite (TX_PCM, HIGH); // bus idle delay(1500); digitalWrite (TX_PCM, LOW); // first part fastinit (25 ms LOW) delay(25); digitalWrite (TX_PCM, HIGH); // second part fastinit (25 ms HIGH) delay(25); K_LINE_PCM.begin(10400); sendMessagePCM(INIT); // send start communication message } void receivePCM () { if (K_LINE_PCM.available() ){ // первый старт байт if (header == 0 && Delay){TIMER_DELAY ; MessageRx_PCM[0]=K_LINE_PCM.read(); if (MessageRx_PCM[0]!=0xFF && bitRead (MessageRx_PCM[0],7)){header = 1; RESETheader_timer = 1; prevRESETheader = curmillis; #ifdef debugPCM Serial.print (F("Receive PCM: ")); printDebugRX(MessageRx_PCM[0]); #endif } } // второй старт байт if (header == 1 && Delay){TIMER_DELAY ; MessageRx_PCM[1]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX (MessageRx_PCM[1]); #endif if (MessageRx_PCM[1]==DIAG_address){ header = 2;} else { #ifdef debugPCM Serial.println(F(" PCM Message fail address")); #endif header = 0; RESETheader_timer = 0;}} // третий старт байт if (header == 2 && Delay){ TIMER_DELAY ; MessageRx_PCM[2]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX (MessageRx_PCM[2]); #endif if (MessageRx_PCM[2]==PCM_address){ message_size = MessageRx_PCM[0]; prevRESETheader = curmillis; if (MessageRx_PCM[0] !=0x80) {header = 4; bitWrite (message_size, 7 , 0);j=3;n=3;} else {header = 3; j=4;n=4;} if (message_size > bufsize) message_size = bufsize; crc = 0;} else {header = 0; #ifdef debugPCM Serial.println(F("PCM Message fail address")); #endif RESETheader_timer = 0;} } // если размер сообщения указан в дополнительном байте (нулевой байт 0x80) читаем этот дополнительный байт: if (header == 3 && Delay){ TIMER_DELAY ; prevRESETheader = curmillis; MessageRx_PCM[3]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX(MessageRx_PCM[3]); #endif message_size = MessageRx_PCM[3]; if (message_size > bufsize) message_size = bufsize; crc = 0; header = 4; } // пишем тело сообщения if (header == 4 && Delay && j< message_size+n+1) { MessageRx_PCM[j] = K_LINE_PCM.read(); prevRESETheader = curmillis; if (j<message_size+n) crc+= MessageRx_PCM[j]; // подсчёт КС if (j==message_size+n) header = 5; TIMER_DELAY ; #ifdef debugPCM printDebugRX(MessageRx_PCM[j]); #endif j++; } } // сообщение приняли, действуем if (header == 5) {TIMER_DELAY ; #ifdef debugPCM Serial.println(); #endif NOanswer_timer = 0; noanswers = 0; // сбрасываем таймер контроля неответов for(byte i = 0; i<n; i++) crc+=MessageRx_PCM[i]; // прибавляем к контрольной сумме старт байты // если контрольная сумма верна: if ( crc == MessageRx_PCM[message_size+n]) { #ifdef debugPCM Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем printDebugRX_CSgood(); #endif if (MessageRx_PCM[n]==0xC1 && MessageRx_PCM[n+1]==0x6B && MessageRx_PCM[n+2]==0x8F) { if (currentPage!=3) {request = PID; RequestPeriod = 70;} else request = PRESENT, RequestPeriod = 4000; prevRequest = curmillis; // receive good INIT } else if (MessageRx_PCM[n]==0x58) Troublecodes (); // DTC else if (MessageRx_PCM[n]==0x54 && MessageRx_PCM[n+1]==0xFF && MessageRx_PCM[n+2]==0x00){ request = PRESENT; RequestPeriod = 4000; prevRequest = curmillis;} // DTC are cleared else if (MessageRx_PCM[n]==0x61 && MessageRx_PCM[n+1]==0x01) {dataVars() ; RequestPeriod = 70; prevRequest = curmillis; } // receive DataStream } // если контрольная сумма не совпала: #ifdef debugPCM else Serial.println("CRC fail!!!" ); #endif message_size = 0; header=0; RESETheader_timer = 0; j=3; crc = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!Delay && curmillis - timerdelay > waitbyte_RX) Delay = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timer && curmillis - prevRESETheader > 200) { #ifdef debugPCM Serial.println(F("Message fail timeout")); #endif RESETheader_timer = 0; header = 0;} // если нет ответа после запроса: +1 к счетчику неответов. Если накопилось 6 и более: делаем реинит. if (request!=INIT && NOanswer_timer && curmillis - prev_NOanswer > RequestPeriod - RequestPeriod/10) { NOanswer_timer = 0; noanswers++; if (noanswers>=6) { noanswers = 0; request = INIT; RequestPeriod = 3500;} } }// end receivePCM void Troublecodes () { if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]==0x00){ myGLCD.clrScr(); drawscreen_three(); myGLCD.print("NO DTC", 165, 145); } // при получении сообщения о наличии ошибок DTC разберем сообщение выведем на экран ошибки if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]>0){ myGLCD.clrScr(); drawscreen_three(); for (int i=0; i<MessageRx_PCM[n+8-7]; i++ ) { int y = i*35; bool nolA=0; bool nolB =0; if (!bitRead(MessageRx_PCM[n+11-7+(i*3)],6) && bitRead(MessageRx_PCM[n+11-7+(i*3)],7)){ myGLCD.setTextColor(GREEN, BLACK); myGLCD.print(" -Passive-", 300, (75+y));} // если DTC пасивныый делаем цвет зеленый if (bitRead(MessageRx_PCM[n+11-7+(i*3)],7) && bitRead(MessageRx_PCM[n+11-7+(i*3)],6)) { myGLCD.setTextColor(RED, BLACK); myGLCD.print(" -Active-", 300, (75+y));} // если DTC активный, делаем цвет красный myGLCD.print("ERROR ", 50, (75+y)); myGLCD.printNumI((i+1), 150, (75+y)); if (!bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && !bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": P", 170, (75+y)); if (bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && !bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": C", 170, (75+y)); if (!bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": B", 170, (75+y)); if (bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": U", 170, (75+y)); if (MessageRx_PCM[n+9-7+(i*3)]==0x00) {myGLCD.print("00", 230, (75+y)); nolA = 1;} if (MessageRx_PCM[n+9-7+(i*3)]<=0x0F&&MessageRx_PCM[n+9-7+(i*3)]!=0) {myGLCD.print("0", 230, (75+y)); nolA = 1;} if (nolA)myGLCD.print(String (MessageRx_PCM[n+9-7+(i*3)],HEX), 246, (75+y)); else myGLCD.print(String (MessageRx_PCM[n+9-7+(i*3)],HEX), 230, (75+y)); if (MessageRx_PCM[n+10-7+(i*3)]==0x00) {myGLCD.print("00", 262, (75+y)); nolB = 1;} if (MessageRx_PCM[n+10-7+(i*3)]<=0x0F&&MessageRx_PCM[n+10-7+(i*3)]!=0) {myGLCD.print("0", 262, (75+y)); nolB = 1;} if (nolB)myGLCD.print(String (MessageRx_PCM[n+10-7+(i*3)]),HEX, 278, (75+y)); else myGLCD.print(String (MessageRx_PCM[n+10-7+(i*3)],HEX), 262, (75+y));}} request = PRESENT; RequestPeriod = 4000; prevRequest = curmillis; } void dataVars() { //Barom = MessageRx_PCM[39]; L100 = (float)LHor*100.0/(float)Speed; LHor = (float)RPM* (float)InjQua*2.00/1000.0*60.00/1000.0/0.85; MAF = ((MessageRx_PCM[n+22]*256)+MessageRx_PCM[n+23])/10; BoostPres = ((MessageRx_PCM[n+24]*256)+MessageRx_PCM[n+25])/1000.0; RPM = (MessageRx_PCM[n+35-7]*256)+MessageRx_PCM[n+36-7]; EGRmg = ((MessageRx_PCM[n+37-7]*256)+MessageRx_PCM[n+38-7])/10.0; BoostPresCom = ((MessageRx_PCM[n+41-7]*256)+MessageRx_PCM[n+42-7])/1000.0; Speed = ((MessageRx_PCM[n+47-7]*256)+MessageRx_PCM[n+48-7])/100; DesaInjQua = ((MessageRx_PCM[n+53-7]*256)+MessageRx_PCM[n+54-7])/100.0; InjQua = ((MessageRx_PCM[n+55-7]*256)+MessageRx_PCM[n+56-7])/100.0; StaDaliv = ((MessageRx_PCM[n+57-7]*256)+MessageRx_PCM[n+58-7])/100.0; PumpRPM = (MessageRx_PCM[n+59-7]*256)+MessageRx_PCM[n+60-7]; EGRPul = ((MessageRx_PCM[n+65-7]*256)+MessageRx_PCM[n+66-7])/100.0; SolenPul = ((MessageRx_PCM[n+67-7]*256)+MessageRx_PCM[n+68-7])/100.0; SolenPre = ((MessageRx_PCM[n+73-7]*256)+MessageRx_PCM[n+74-7])/100.0; DesInj = ((MessageRx_PCM[n+75-7]*3)+(MessageRx_PCM[n+76-7])/100.0)+0.3; ActInj = ((MessageRx_PCM[n+19-7]*3)+(MessageRx_PCM[n+20-7])/100.0)+0.3; //TempAir = ((MessageRx_PCM[n+77-7]*26)-278)+MessageRx_PCM[n+78-7]/10.0; //Temp = ((MessageRx_PCM[n+17-7]*26)-278)+MessageRx_PCM[n+18-7]/10.0; //TempOil = ((MessageRx_PCM[n+21-7]*26)-278)+MessageRx_PCM[n+22-7]/10.0; //TempFuel = ((MessageRx_PCM[n+61-7]*26)-278)+MessageRx_PCM[n+62-7]/10.0; //ниже идут расчетные формулы более точные чем те что закоментированы выше int A = 0; if (MessageRx_PCM[n+77-7]<=0x0A) A = 277; if (MessageRx_PCM[n+77-7]==0x0B || MessageRx_PCM[n+77-7]==0x0C) A = 278; if (MessageRx_PCM[n+77-7]>=0x0D) A = 279; double B = MessageRx_PCM[n+78-7]/10.0; double cel , drob ; drob = modf(B, &cel); if (drob>0.6) cel++; TempAir = ((MessageRx_PCM[n+77-7]*26)-A)+cel; if (MessageRx_PCM[n+17-7]<=0x0A) A = 277; if (MessageRx_PCM[n+17-7]==0x0B || MessageRx_PCM[n+17-7]==0x0C) A = 278; if (MessageRx_PCM[n+17-7]>=0x0D) A = 279; B = MessageRx_PCM[n+18-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; Temp = ((MessageRx_PCM[n+17-7]*26)-A)+cel; if (MessageRx_PCM[n+21-7]<=0x0A) A = 277; if (MessageRx_PCM[n+21-7]==0x0B || MessageRx_PCM[n+21-7]==0x0C) A = 278; if (MessageRx_PCM[n+21-7]>=0x0D) A = 279; B = MessageRx_PCM[n+22-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; TempOil = ((MessageRx_PCM[n+21-7]*26)-A)+cel; if (MessageRx_PCM[n+61-7]<=0x0A) A = 277; if (MessageRx_PCM[n+61-7]==0x0B || MessageRx_PCM[n+61-7]==0x0C) A = 278; if (MessageRx_PCM[n+61-7]>=0x0D) A = 279; B = MessageRx_PCM[n+62-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; TempFuel = ((MessageRx_PCM[n+61-7]*26)-A)+cel; //---------------------------------------------------------- //страниц HOME //---------------------------------------------------------- //myGLCD.setBackColor(RED); myGLCD.setTextColor(WHITE, BLACK); //myGLCD.setBackColor(RED); myGLCD.printNumI(Speed, 350, 7, 3); if (currentPage == '0') { myGLCD.printNumF(LHor, 1, 60, 40, '.', 5); myGLCD.printNumF(L100, 1, 210, 40, '.', 5 ); myGLCD.printNumF(L100M, 1, 60, 75, '.', 5 ); myGLCD.printNumF(L100SR_TFT, 1, 210, 75, '.', 5 ); myGLCD.printNumI(kmREFUELING, 60, 110, 5 ); //if (Fuel<53) myGLCD.printNumF(Fuel, 1, 210, 110, '.', 5); //else myGLCD.print("MAX", 210, 110); myGLCD.printNumF(kmTrip, 1, 60, 145, '.' ,5); myGLCD.printNumF(FuelTrip, 1, 210, 145, '.', 5); myGLCD.printNumI(PumpRPM, 210, 180, 5, '8', myGLCD.setTextColor(BLACK, BLACK)); myGLCD.printNumI(RPM, 210, 215, 5, '8'); myGLCD.printNumF(Fuel2, 1, 0, 215, '.', 5); myGLCD.printNumI(Temp, 415, 40, 3); myGLCD.printNumI(TempOil, 415, 75, 3); myGLCD.printNumI(TempFuel, 415, 110,3); //myGLCD.printNumI(sensors.getTempCByIndex(0), 415, 145 , 3); myGLCD.printNumI(t, 415, 180, 3); myGLCD.printNumI(TempAir, 415, 215, 3); } //---------------------------------------------------------- //страниц INF1 //---------------------------------------------------------- if (currentPage == '1') { myGLCD.printNumF(StaDaliv,1, 360, 40, '.', 3); myGLCD.printNumF(DesInj,1, 395, 75, '.', 4); myGLCD.printNumF(ActInj,1, 395, 110, '.', 4); myGLCD.printNumF(DesaInjQua,1, 395, 145, '.', 4); myGLCD.printNumF(InjQua,1, 395, 180, '.', 4); myGLCD.printNumI(MAF, 170, 215, 4); myGLCD.printNumF(h, 1, 418, 215); } //---------------------------------------------------------- //страниц INF2 //---------------------------------------------------------- if (currentPage == '2') { myGLCD.printNumF(BoostPres,1, 395, 40, '.', 4); myGLCD.printNumF(BoostPresCom,1, 395, 75, '.', 4); myGLCD.printNumI(EGRmg, 395, 110, 4); myGLCD.printNumF(EGRPul,1, 410, 145, '.', 3); myGLCD.printNumF(SolenPul, 1, 395, 180, '.', 4); myGLCD.printNumF(SolenPre, 0, 410, 215, '.', 3); } } void sendMessagePCM(const byte &command) { #ifdef debugPCM Serial.print (F("Send request ")); Serial.print (textRequest[command]); Serial.print (F(" to PCM ")); Serial.println (millis()); #endif if (command != INIT) {NOanswer_timer = 1; prev_NOanswer = curmillis;} //т.к. сейчас будем делать запрос, то запускаем таймер контроля неответов byte size = PCM_Message_TX[command][0]; const byte siZe = size+4; byte Mes[siZe]; byte Checksum = 0; for(byte i=0; i<siZe; i++) { if (i==0) {Mes[i]=size; bitWrite(Mes[i], 7 , 1);} if (i==1) Mes[i] = PCM_address; if (i==2) Mes[i] = DIAG_address; if (i==3) {for (byte t=1; t<size+1; t++ ) { Mes[i]=PCM_Message_TX [command][t]; Checksum+=Mes[i] ; K_LINE_PCM.write (Mes[i]); if (command == INIT) delay (5); else delay (delaybyte_TX); K_LINE_PCM.read(); i++;}} if (i!=siZe-1) Checksum+=Mes[i]; else Mes[i] = Checksum; K_LINE_PCM.write (Mes[i]); if (command == INIT) delay (5); else delay (delaybyte_TX); K_LINE_PCM.read(); } }// end sendMessagePCM #if defined debugPCM or debugGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));} #endif #ifdef debugPCM void printDebugRX_CSgood(){ if (MessageRx_PCM[n]==0xC1 && MessageRx_PCM[n+1]==0x6B && MessageRx_PCM[n+2]==0x8F) {Serial.println (F(" Initialization OK!!!!")); } else if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]==0x00) {Serial.println (F(" NO DTC "));} else if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1] >0x00) {Serial.println (F(" DTC is found!"));} else if (MessageRx_PCM[n]==0x54 && MessageRx_PCM[n+1]==0xFF && MessageRx_PCM[n+2]==0x00){Serial.println (F(" DTC CLEARED "));} else if (MessageRx_PCM[n]==0x61 && MessageRx_PCM[n+1]==0x01) {Serial.println (F(" Receive PCM DATAstream"));}} #endif void Menu () { TouchHOME(); if (currentPage == '0') { TouchINF1(); TouchINF2(); TouchCHECK(); } if (currentPage == '1') { TouchINF2(); TouchCHECK(); } if (currentPage == '2') { TouchINF1(); TouchCHECK(); } if (currentPage == '3') { TouchREAD(); TouchERASE(); }} void drawHomeScreen() { line() ; Watch (); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.drawLine(295,35,295,248); // линия вертикальная myGLCD.drawLine(145,35,145,178); // линия вертикальная myGLCD.drawLine(80,178,80,247); // линия вертикальная myGLCD.print("L/H", 10, 40); myGLCD.print("L/A", 148, 40); myGLCD.print("L/V", 10, 75); myGLCD.print("L/M", 148, 75); myGLCD.print("D/K", 10, 110); myGLCD.print("D/L", 148, 110); myGLCD.print("V/K", 10, 145); myGLCD.print("V/L", 148, 145); myGLCD.print("PUMP RPM", 82, 180); myGLCD.print("ENGI RPM", 82, 215); myGLCD.print("D/La", 10, 180); myGLCD.print("Motor C", 300, 40); myGLCD.print("OIL C", 300, 75); myGLCD.print("FUEL C", 300, 110); myGLCD.print("INTER C", 300, 145); myGLCD.print("EXTER C", 300, 180); myGLCD.print("INTAIR C", 300, 215); //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("INF 1", 55, 270); myGLCD.drawRoundRect (175, 255, 305, 310); myGLCD.print("INF 2", 215, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //------------------------------------------------- void drawscreen_one() { line() ; Watch (); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.print("Start of Delivery *CA:", 10, 40); myGLCD.print("Desir inject Start *CA:", 10, 75); myGLCD.print("Actua Inject Start *CA:", 10, 110); myGLCD.print("Desir Inject Quan mg/s:", 10, 145); myGLCD.print("Actu Inject Quant mg/s:", 10, 180); myGLCD.print("MAF mg/s:", 10, 215); myGLCD.print("Humedad %:", 255, 215); //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (175, 255, 305, 310); myGLCD.print("INF 2", 215, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //------------------------------------------------- void drawscreen_two() { line() ; Watch (); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.print("Boost Press Bar:", 10, 40); myGLCD.print("Boost Press Com Bar:", 10, 75); myGLCD.print("EGR command mg/s:", 10, 110); myGLCD.print("EGR Pulse Ratio %:", 10, 145); myGLCD.print("Solenoide Pulse %:", 10, 180); myGLCD.print("Solenoide Boost %:", 10, 215); //myGLCD.setColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("INF 1", 55, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //---------------------------------------------------------------------------- void drawscreen_three() { Watch (); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии красный myGLCD.drawLine(1,35,479,35); // линия горизонтальная myGLCD.drawLine(1,248,479,248); // линия горизонтальная //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("ERASE", 55, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("READ", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 5); reNew = 1; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //кнопки тач . координаты и переходы ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void TouchHOME(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) {if (p.x > 140 && p.x < 320 && p.y > 140 && p.y < 260 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (1, 1, 77, 37); currentPage = '0'; request = PID; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawHomeScreen(); x = 0; y = 0; p.z = 0;}}} void TouchINF1(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 150 && p.x < 450 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (15, 255, 145, 310); currentPage = '1'; request = PID; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawscreen_one(); x = 0; y = 0; p.z = 0;}}} void TouchINF2(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 450 && p.x < 680 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (175, 255, 305, 310); currentPage = '2'; request = PID; RequestPeriod = 600; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawscreen_two(); x = 0; y = 0; p.z = 0;}}} void TouchCHECK(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 690 && p.x < 950 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (335, 255, 465, 310); currentPage = '3'; // request = DTCREAD; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос чтения ошибок myGLCD.clrScr(); drawscreen_three(); x = 0; y = 0; p.z = 0;}}} void TouchREAD(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 690 && p.x < 950 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (335, 255, 465, 310); request = DTCREAD; RequestPeriod = 300; prevRequest = curmillis; // на PCM при нажатии этой кнопки посылается запрос чтения ошибок x = 0; y = 0; p.z = 0;}}} void TouchERASE(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 150 && p.x < 450 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) {myGLCD.drawRoundRect (15, 255, 145, 310); request = DTCERASE; RequestPeriod = 300; prevRequest = curmillis; // на PCM при нажатии этой кнопки посылается запрос удаления ошибок x = 0; y = 0; p.z = 0;}}} //////////////////////////////////////////////////////////////////////////////////////// //прорисовка линий /////////////////////////////////////////////////////////////////////////////////////// void line() { //myGLCD.setTextColor(RED); // цвет линии красный myGLCD.drawLine(1,35,479,35); // линия горизонтальная myGLCD.drawLine(1,73,479,73); // линия горизонтальная myGLCD.drawLine(1,108,479,108); // линия горизонтальная myGLCD.drawLine(1,143,479,143); // линия горизонтальная myGLCD.drawLine(1,178,479,178); // линия горизонтальная myGLCD.drawLine(1,212,479,212); // линия горизонтальная myGLCD.drawLine(1,248,479,248); // линия горизонтальная } void Watch (){ DateTime now = rtc.now(); int minut = now.minute(); int hour = now.hour(); int mon = now.month(); int date = now.day(); int Year = now.year(); static int minut_last; static int hour_last; static int mon_last; static int date_last; static int Year_last; myGLCD.setTextColor(WHITE, BLACK); //белый цвет цифры if (date != date_last || reNew){ if (date<10 ) { myGLCD.print("0", 85, 7); myGLCD.printNumI(date, 100, 7); } else if (date >=10) { myGLCD.printNumI(date, 85, 7); } date_last = date; } if (mon!=mon_last || reNew){ if ( mon<10) { myGLCD.print("0", 130, 7); myGLCD.printNumI(mon, 145, 7);} else if (mon >=10) { myGLCD.printNumI(mon, 130, 7);} mon_last = mon; } if (Year!=Year_last || reNew) { myGLCD.printNumI(Year, 175, 7); Year_last = Year;} if (hour!=hour_last || reNew){ if (hour<10) { myGLCD.print("0",255, 7); myGLCD.printNumI(hour, 270, 7); } else if(hour>=10){ myGLCD.printNumI(hour, 255, 7); } hour_last = hour; } if (minut!=minut_last || reNew ){ if (minut<10) { myGLCD.print("0",300, 7); myGLCD.printNumI(minut, 315, 7); } else if (minut>=10){ myGLCD.printNumI(minut, 300, 7); } minut_last = minut; } reNew = 0; }Здоров! лог почти отличный. Вот маленькая поправка
#define K_LINE_GAUGE Serial2 #define TX_gauge 16 const byte BAUD=200; // init baudrate const byte addressGUAGE = 0xB8; // init GAUGE address //#define debugPCM // раcкоментировать эту строку для отладки в Serial порту обмена с PCM #define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени uint32_t prevRESETheaderGAUGE=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timerGAUGE; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t timerdelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool DelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) uint32_t prevNoconnect = 0; // таймер периодической проверки наличия связи со щитком приборов byte waitbyte_RX_GAUGE = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAYGAUGE DelayGAUGE = 0; timerdelayGAUGE = curmillis // включение этого таймера byte NoconnectsGAUGE = 0 ; byte headerGAUGE = 0; // состояние заголовка byte message_sizeGAUGE = 0; // размер тела сообщения byte jGAUGE = 3; // инкремент byte nGAUGE = 3; // количество старт байт const byte bufsize = 150; byte MessageRx_GAUGE [bufsize] = {0}; // буфер принятого сообщения int ChecksumGAUGE =0; // байт контрольной суммы byte PIDgauge[] = {0x02, 0x11, 0x00, 0x13}; byte InitGauge = 0; void setup() { #ifdef debugGAUGE Serial.begin (115200); #endif } void loop() { curmillis = millis(); receiveGAUGE (); // приём сообщений от приборки } void receiveGAUGE () { if (K_LINE_GAUGE.available() ){ // первый старт байт if (headerGAUGE == 0 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[0]=K_LINE_GAUGE.read(); if ((InitGauge ==1 && MessageRx_GAUGE[0]==0x55) || InitGauge ==2 && MessageRx_GAUGE[0]!=0xFF && MessageRx_GAUGE[0]!=0x7F){headerGAUGE = 1; RESETheader_timerGAUGE = 1; prevRESETheaderGAUGE = curmillis; #ifdef debugGAUGE Serial.print (F("Receive GAUGE: ")); printDebugRX(MessageRx_GAUGE[0]); #endif } } // второй старт байт if (headerGAUGE == 1 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[1]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[1]); #endif if ( (InitGauge ==1 && MessageRx_GAUGE[1]==0x52) || (InitGauge ==2 && (MessageRx_GAUGE[1]==0xA0 || MessageRx_GAUGE[1]==0xA1))){ headerGAUGE = 2;} else { #ifdef debugGAUGE Serial.println(F(" GAUGE Message fail address")); #endif headerGAUGE = 0; RESETheader_timerGAUGE = 0;}} // третий старт байт if (headerGAUGE == 2 && DelayGAUGE){ TIMER_DELAYGAUGE ; MessageRx_GAUGE[2]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[2]); #endif if (InitGauge ==2 && (MessageRx_GAUGE[2]==0x48 || MessageRx_GAUGE[2]==0x04)){ message_sizeGAUGE = MessageRx_GAUGE[0]-2; prevRESETheaderGAUGE = curmillis; headerGAUGE = 4; jGAUGE=3; nGAUGE=3; if (message_sizeGAUGE > bufsize) message_sizeGAUGE = bufsize; ChecksumGAUGE = 0;} else if (InitGauge ==1 && MessageRx_GAUGE[2]==0x80) {InitGauge = 2; K_LINE_GAUGE.write(0x7F); delay (2); K_LINE_GAUGE.read(); headerGAUGE = 0; RESETheader_timerGAUGE = 0; #ifdef debugGAUGE Serial.println ("Gauge INIT is good!"); #endif } else {headerGAUGE = 0; #ifdef debugGAUGE Serial.println(F("GAUGE Message fail address")); #endif RESETheader_timerGAUGE = 0;} } // пишем тело сообщения if (headerGAUGE == 4 && DelayGAUGE && jGAUGE< message_sizeGAUGE+nGAUGE+1) { MessageRx_GAUGE[jGAUGE] = K_LINE_GAUGE.read(); prevRESETheaderGAUGE = curmillis; if (jGAUGE<message_sizeGAUGE+nGAUGE-1) ChecksumGAUGE+= MessageRx_GAUGE[jGAUGE]; // подсчёт КС if (jGAUGE==message_sizeGAUGE+nGAUGE) headerGAUGE = 5; TIMER_DELAYGAUGE ; #ifdef debugGAUGE printDebugRX(MessageRx_GAUGE[jGAUGE]); #endif jGAUGE++; } } // сообщение приняли, действуем if (headerGAUGE == 5) {TIMER_DELAYGAUGE ; #ifdef debugGAUGE Serial.println(); #endif for(byte i = 0; i<nGAUGE; i++) ChecksumGAUGE+=MessageRx_GAUGE[i]; // прибавляем к контрольной сумме старт байты int ChecksumG = ( ( unsigned int )MessageRx_GAUGE[message_sizeGAUGE+nGAUGE-1] << 8 ) | MessageRx_GAUGE[message_sizeGAUGE+nGAUGE]; // парсинг контрольной суммы из 2 последних байт // если контрольная сумма верна: if ( ChecksumGAUGE == ChecksumG) { NoconnectsGAUGE = 0; // сбрасываем на 0 отсутствие связи с панелью #ifdef debugGAUGE Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем #endif if (MessageRx_GAUGE[1]== 0xA0 && MessageRx_GAUGE[2]== 0x48) { #ifdef debugGAUGE Serial.println ("ID panel receive! Send request PIDGauge"); #endif for (byte i=0; i<sizeof(PIDgauge); i++) { K_LINE_GAUGE.write (PIDgauge[i]); delay (2); K_LINE_GAUGE.read();} } if (MessageRx_GAUGE[1]== 0xA1 && MessageRx_GAUGE[2]== 0x04) { #ifdef debugGAUGE Serial.println (" receive Datastream Gauge!"); #endif } } // если контрольная сумма не совпала: #ifdef debugGAUGE else Serial.println("CRC fail!!!" ); #endif message_sizeGAUGE = 0; headerGAUGE=0; RESETheader_timerGAUGE = 0; jGAUGE=3; ChecksumGAUGE = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!DelayGAUGE && curmillis - timerdelayGAUGE > waitbyte_RX_GAUGE) DelayGAUGE = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timerGAUGE && curmillis - prevRESETheaderGAUGE > 1000) { #ifdef debugGAUGE Serial.println(F("Message fail timeout")); #endif RESETheader_timerGAUGE = 0; headerGAUGE = 0;} if (curmillis - prevNoconnect > 500) {NoconnectsGAUGE ++ ; if (NoconnectsGAUGE>=8){ #ifdef debugGAUGE Serial.println (F(" Connect GAUGE failed!!! ")) ; #endif NoconnectsGAUGE = 0 ;InitGauge = 0 ; } prevNoconnect = curmillis; } if (InitGauge == 0) {InitBusGAUGE ();} }// end receiveGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));} void InitBusGAUGE () { #ifdef debugGAUGE Serial.println ("Send startsession - address Gauge"); #endif K_LINE_GAUGE.end(); byte boudrate = 1000/BAUD; pinMode(TX_gauge, OUTPUT); digitalWrite (TX_gauge, HIGH); delay (1500); // BUS IDLE digitalWrite (TX_gauge, LOW); delay (boudrate); // старт бит for (byte i=0; i<8; i++){digitalWrite (TX_gauge, bitRead(addressGUAGE, i)); delay (boudrate);}// биты тела адреса digitalWrite (TX_gauge, HIGH); delay (boudrate); // стоп бит K_LINE_GAUGE.begin(9600); InitGauge = 1; }MaksVV а я переписал круиз на ассемблер и сгонял в Крым ~5000 км. Отлично педалирует. Есть небольшой гистерезис - особенно вниз с горы. Тормозить то он не может, только сбрасывать обороты...
Красаучик!
отчет
хм. ниче не изменилось. ты точно новый скетч залил? #1912
да. вот еще раз отчет
поправил 1912, проверяй
теперь да вот
идеально, чуть позже добавлю автоматическое переподключение в случае обрыва связи и если оно заработает можно скрещивать скетчи
пробуем так. Если все работает, выключаем зажигание (имитируем пропадание связи), снова включаем и смотрим
#define K_LINE_GAUGE Serial2 #define TX_gauge 16 //#define debugPCM // раскоментировать эту строку для отладки в Serial порту обмена с PCM #define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени uint32_t prevRESETheaderGAUGE=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timerGAUGE; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t timerdelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool DelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) uint32_t prevNoconnect = 0; // таймер периодической проверки наличия связи со щитком приборов byte waitbyte_RX_GAUGE = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAYGAUGE DelayGAUGE = 0; timerdelayGAUGE = curmillis // включение этого таймера byte NoconnectsGAUGE = 0 ; byte headerGAUGE = 0; // состояние заголовка byte message_sizeGAUGE = 0; // размер тела сообщения byte jGAUGE = 3; // инкремент byte nGAUGE = 3; // количество старт байт const byte bufsize = 150; byte MessageRx_GAUGE [bufsize] = {0}; // буфер принятого сообщения int ChecksumGAUGE =0; // байт контрольной суммы byte PIDgauge[] = {0x02, 0x11, 0x00, 0x13}; byte InitGauge = 0; void setup() { #ifdef debugGAUGE Serial.begin (115200); #endif } void loop() { curmillis = millis(); receiveGAUGE (); // приём сообщений от приборки } void receiveGAUGE () { if (K_LINE_GAUGE.available() ){ // первый старт байт if (headerGAUGE == 0 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[0]=K_LINE_GAUGE.read(); if ((InitGauge ==1 && MessageRx_GAUGE[0]==0x55) || InitGauge ==2 && MessageRx_GAUGE[0]!=0xFF && MessageRx_GAUGE[0]!=0x7F){headerGAUGE = 1; RESETheader_timerGAUGE = 1; prevRESETheaderGAUGE = curmillis; #ifdef debugGAUGE Serial.print (F("Receive GAUGE: ")); printDebugRX(MessageRx_GAUGE[0]); #endif } } // второй старт байт if (headerGAUGE == 1 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[1]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[1]); #endif if ( (InitGauge ==1 && MessageRx_GAUGE[1]==0x52) || (InitGauge ==2 && (MessageRx_GAUGE[1]==0xA0 || MessageRx_GAUGE[1]==0xA1))){ headerGAUGE = 2;} else { #ifdef debugGAUGE Serial.println(F(" GAUGE Message fail address")); #endif headerGAUGE = 0; RESETheader_timerGAUGE = 0;}} // третий старт байт if (headerGAUGE == 2 && DelayGAUGE){ TIMER_DELAYGAUGE ; MessageRx_GAUGE[2]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[2]); #endif if (InitGauge ==2 && (MessageRx_GAUGE[2]==0x48 || MessageRx_GAUGE[2]==0x04)){ message_sizeGAUGE = MessageRx_GAUGE[0]-2; prevRESETheaderGAUGE = curmillis; headerGAUGE = 4; jGAUGE=3; nGAUGE=3; if (message_sizeGAUGE > bufsize) message_sizeGAUGE = bufsize; ChecksumGAUGE = 0;} else if (InitGauge ==1 && MessageRx_GAUGE[2]==0x80) {InitGauge = 2; K_LINE_GAUGE.write(0x7F); delay (2); K_LINE_GAUGE.read(); headerGAUGE = 0; RESETheader_timerGAUGE = 0; #ifdef debugGAUGE Serial.println ("Gauge INIT is good!"); #endif } else {headerGAUGE = 0; #ifdef debugGAUGE Serial.println(F("GAUGE Message fail address")); #endif RESETheader_timerGAUGE = 0;} } // пишем тело сообщения if (headerGAUGE == 4 && DelayGAUGE && jGAUGE< message_sizeGAUGE+nGAUGE+1) { MessageRx_GAUGE[jGAUGE] = K_LINE_GAUGE.read(); prevRESETheaderGAUGE = curmillis; if (jGAUGE<message_sizeGAUGE+nGAUGE-1) ChecksumGAUGE+= MessageRx_GAUGE[jGAUGE]; // подсчёт КС if (jGAUGE==message_sizeGAUGE+nGAUGE) headerGAUGE = 5; TIMER_DELAYGAUGE ; #ifdef debugGAUGE printDebugRX(MessageRx_GAUGE[jGAUGE]); #endif jGAUGE++; } } // сообщение приняли, действуем if (headerGAUGE == 5) {TIMER_DELAYGAUGE ; #ifdef debugGAUGE Serial.println(); #endif for(byte i = 0; i<nGAUGE; i++) ChecksumGAUGE+=MessageRx_GAUGE[i]; // прибавляем к контрольной сумме старт байты int ChecksumG = ( ( unsigned int )MessageRx_GAUGE[message_sizeGAUGE+nGAUGE-1] << 8 ) | MessageRx_GAUGE[message_sizeGAUGE+nGAUGE]; // парсинг контрольной суммы из 2 последних байт // если контрольная сумма верна: if ( ChecksumGAUGE == ChecksumG) { NoconnectsGAUGE = 0; // сбрасываем на 0 отсутствие связи с панелью #ifdef debugGAUGE Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем #endif if (MessageRx_GAUGE[1]== 0xA0 && MessageRx_GAUGE[2]== 0x48) { #ifdef debugGAUGE Serial.println ("ID panel receive! Send request PIDGauge"); #endif for (byte i=0; i<sizeof(PIDgauge); i++) { K_LINE_GAUGE.write (PIDgauge[i]); delay (2); K_LINE_GAUGE.read();} } if (MessageRx_GAUGE[1]== 0xA1 && MessageRx_GAUGE[2]== 0x04) { #ifdef debugGAUGE Serial.println (" receive Datastream Gauge!"); #endif } } // если контрольная сумма не совпала: #ifdef debugGAUGE else Serial.println("CRC fail!!!" ); #endif message_sizeGAUGE = 0; headerGAUGE=0; RESETheader_timerGAUGE = 0; jGAUGE=3; ChecksumGAUGE = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!DelayGAUGE && curmillis - timerdelayGAUGE > waitbyte_RX_GAUGE) DelayGAUGE = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timerGAUGE && curmillis - prevRESETheaderGAUGE > 1000) { #ifdef debugGAUGE Serial.println(F("Message fail timeout")); #endif RESETheader_timerGAUGE = 0; headerGAUGE = 0;} if (curmillis - prevNoconnect > 500) {NoconnectsGAUGE ++ ; if (NoconnectsGAUGE>=8){ #ifdef debugGAUGE Serial.println (F(" Connect GAUGE failed!!! ")) ; #endif NoconnectsGAUGE = 0 ;InitGauge = 0 ; } prevNoconnect = curmillis; } if (InitGauge == 0) {InitBusGAUGE ();} }// end receiveGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));} void InitBusGAUGE () { #ifdef debugGAUGE Serial.println ("Send startsession - address Gauge"); #endif K_LINE_GAUGE.end(); pinMode(TX_gauge, OUTPUT); digitalWrite (TX_gauge, HIGH); delay (1500); digitalWrite (TX_gauge, LOW); delay (20); digitalWrite (TX_gauge, HIGH ); delay (15); digitalWrite (TX_gauge, LOW); delay (5); digitalWrite (TX_gauge, HIGH); delay (5); K_LINE_GAUGE.begin(9600); InitGauge = 1; }неа
Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BB 00 FF 47 59 54 19 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 87 Received message is OK! Checksum is correct! 4634 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 2C 00 FF 11 58 55 19 46 00 00 00 22 05 8F 8C 04 51 07 00 00 04 C2 Received message is OK! Checksum is correct! 4734 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 Message fail timeout Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE1920 поправил
да сработало вот. кусочек до обрыва и после
Received message is OK! Checksum is correct! 5726 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BC 00 FF 48 58 56 19 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 8A Received message is OK! Checksum is correct! 5827 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 48 59 56 19 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 87 Received message is OK! Checksum is correct! 5924 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 1F 00 FF 0B 59 56 19 46 00 00 00 22 05 8F 8C 04 51 07 00 00 04 B1 Received message is OK! Checksum is correct! 6024 receive Datastream Gauge! Receive GAUGE: 00 Message fail timeout Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 11404 ID panel receive! Send request PIDGauge Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BB 00 FF 47 59 31 19 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 64 Received message is OK! Checksum is correct! 11508 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 47 59 33 19 46 00 00супер. завтра буду склеивать скетчи
Ок. Спасибо. В верху кинул не верный скетч. вот верный подправленый
#include <Adafruit_GFX.h> #include <MCUFRIEND_kbv.h> #include <UTFTGLUE.h>//use GLUE class and constructor #include "TouchScreen.h" #include <stdint.h> #include <SPI.h> #include <EEPROM.h> //MCUFRIEND_kbv tft; #include "Fonts/Chosence_Bold16pt7b.h"; #define MINPRESSURE 200 #define MAXPRESSURE 1000 //pin 20 SCL , 21 SDA датчик реального времени #include <Wire.h> #include "RTClib.h" RTC_DS3231 rtc; UTFTGLUE myGLCD(0x1581,A2,A1,A3,A4,A0); //all dummy args const int XP = 6, XM = A2, YP = A1, YM = 7; const int TS_LEFT = 136, TS_RT = 907, TS_TOP = 139, TS_BOT = 942; TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); uint16_t ID; int x, y; char currentPage; float h; int h_last = 1; float t; int t_last = 1; bool Dvoet = 0; bool reNew = 0; #define BLACK 0x0000 #define WHITE 0xFFFF #define RED 0xF800 #define GREEN 0x07E0 #include <SoftwareSerial.h> #define TX_PCM 13 SoftwareSerial K_LINE_PCM (12, TX_PCM); //RХ,TХ #define PCM_address 0x11 // адрес PCM #define DIAG_address 0xF1 // адрес диагностики #define debugPCM // раскоментировать эту строку для отладки в Serial порту обмена с PCM //#define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени uint32_t prevRequest = 0; // таймер периодических запосов на PCM uint16_t RequestPeriod = 3500; // периодичность запросов на PCM uint32_t prevRESETheader=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timer; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t prev_NOanswer=0; // таймер контроля неответов от ЭБУ после подачи запросов bool NOanswer_timer = 0; // таймер контроля неответов от ЭБУ после подачи запросов byte noanswers = 0; // количество подряд неответов от ЭБУ uint32_t timerdelay = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool Delay = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) byte waitbyte_RX = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAY Delay = 0; timerdelay = curmillis // включение этого таймера byte delaybyte_TX = 1; // задержка между отправкой байт в запросах, мс byte header = 0; // состояние заголовка byte message_size = 0; // размер тела сообщения byte j = 3; // инкремент byte n = 3; // количество старт байт const byte bufsize = 150; // размер буфера принятого сообщения byte MessageRx_PCM [bufsize] = {0}; // буфер принятого сообщения byte crc =0; // байт контрольной суммы // возможные варианты запросов на ЭБУ: enum REQUEST { INIT, PID, DTCERASE, DTCREAD, PRESENT, }; // текстовки запросов для отладки char* textRequest[] = { "INIT", "PID_2101", "DTC_ERASE", "DTC_READ", "PRESENT", } ; // сами запросы byte PCM_Message_TX[][5] = { {1, 0x81, 0,0,0}, // запрос инициализации {2, 0x21,0x01, 0,0}, // запрос пид 2101 {3, 0x14,0xFF,0x00, 0}, // запрос на стирание ошибок {4, 0x18,0x00,0xFF,0x00 }, // запрос на чтение ошибок {1, 0x3E, 0,0,0}, // запрос присутствия }; byte request = INIT; // переменная, показывающая какой запрос будем делать //-------------------------------------------переменные бортовика float L100M = 0; float L100M_last = 1; //расход на 100 км измеренный за поездку float L100 = 0; float L100_last = 1; //мгновенный расход литров на 100км float LHor = 0; float LHor_last = 1; //мгновенный расход топлива литров в час float L100SR = 0; //расход литров на 100км измеренный раз в интервал kmL float L100SR_TFT = 0; float L100SR_TFT_last = 1; // самый средний из расходов на 100км, он выводится на экран int L100_Eeprom[11]= {10,10,10,10,10,10,10,10,10,10,10}; int FuelZamer[10]= {0}; // массив для измерения уровня (количества) топлива int ZamerNumber = 0; // номер замера уровня (количества) топлива int n_eeprom = 0; // текущий адрес ячейки еепром для записи расхода int MAF = 0; int MAF_last = 1; //26,27 байты Sensor de flujo de aire en masa float BoostPres = 0; float BoostPres_last = 1; //28,29 байты Presión de refuerzo int RPM = 0; int RPM_last = 1; //32,33 байты Velocidad del motor int EGRmg = 0; int EGRmg_last = 1; //34,35 байты Comando EGR (Comando de recirculación de gases de escape) float BoostPresCom = 0; float BoostPresCom_last = 1; //38,39 байты Comando de presión de refuerzo int Speed = 0; int Speed_last = 1; //44,45 байты Velocidad del vehículo float DesaInjQua = 0; float DesaInjQua_last = 1; //50,51 байты Cantidad de inyección deseada float InjQua = 0; float InjQua_last = 1; //52,53 байты Cantidad de la inyección float StaDaliv = 0; float StaDaliv_last = 1; //54,55 байты Inicio de la entrega int PumpRPM = 0; int PumpRPM_last = 1; //56,57 байты Velocidad de la bomba float EGRPul = 0; float EGRPul_last = 1; //62,63 байты Relación de impulsos EGR (recirculación de gases de escape float SolenPul = 0; float SolenPul_last = 1; //64,65 байты Velocidad de solenoide de control de nivel de remolino Relación de impulsos float SolenPre = 0; float SolenPre_last = 1; //70,71 байты Relación de impulsos Presión Electroválvula de presión float DesInj = 0; float DesInj_last = 1; //72,73 байты Inyección deseada Inicio float ActInj = 0; float ActInj_last = 1; //16,17 байты Inicio de la inyección real int TempAir = 0; int TempAir_last = 1; //74,75 байты Temperatura del aire de admisión int Temp = 0; int Temp_last = 1; //14,15 байты Temperatura del refrigerante int TempOil = 0; int TempOil_last = 1; //18,19 байты Temperatura del aceite del motor int TempFuel = 0; int TempFuel_last = 1; //58,59 байты Temperatura del combustible //все что касается топлива float Fuel = 0; //остаток топлива float Fuel2 = 0; float Fuel2_last = 1; //остаток мгновенного топлива байт 16 , датчика в баке int FuelIGN = 0; // количество топлвива в баке на момент включения зажигания int Fuel_last = 0; // для формул bool flagFuelIGN = 0; // флаг записан ли остаток топлива в момент вкл. зажигания float FuelTrip = 0; float FuelTrip_last = 1; // количество литров топлива, израсходованное за один цикл включения зажигания //все что касается километража float kmAge = 0; //пробег, полученный со щитка приборов int kmAgeIGN = 0; //пробег который был в момент включения зажигания int kmAge_last = 0; // для формул bool flagkmAgeIGN = 0; //флаг записан ли пробег в момент вкл. зажигания float kmTrip = 0; float kmTrip_last = 1; //пробег за один цикл включения зажигания int kmL = 10; // интервал, через который будет происходить обновление среднего расхода на 100км int km = 0; // переменная для расчетов int kmeeprom = 10; // интервал, через который будет происходить подсчет среднеарифмитического расхода L100SR_TFT int kmTFT = 0; // переменная для расчетов периодического подсчета среднеарифмитического расхода топлива L100SR_TFT int kmREFUELING = 0; int kmREFUELING_last = 1; // пробег до заправки на остатке топлива unsigned long prevWatch = 0; unsigned long prevDvoet = 0; unsigned long prevData = 0; void setup() { uint16_t ID = myGLCD.readID(); if (ID == 0xD3D3) ID = 0x1581; // write-only shield myGLCD.begin(ID); myGLCD.InitLCD(3); myGLCD.clrScr(); myGLCD.setFont(&Chosence_Bold16pt7b); //myGLCD.fillScreen(WHITE); //myGLCD.setTextColor(WHITE, BLACK); //myGLCD.setBackColor(BLACK); Wire.begin(); rtc.begin(); //загрузка стартовой страницы currentPage = '0'; drawHomeScreen(); //подсчет среднеарифметического усредненного расхода for (int i = 0; i < 11; i++) L100_Eeprom [i]= EEPROM.read(i); for (int i = 0; i < 11; i++) L100SR_TFT = L100SR_TFT + L100_Eeprom [i]; L100SR_TFT = (float)L100SR_TFT/110.0; if (L100SR_TFT<0) L100SR_TFT = 0; if (L100SR_TFT>99) L100SR_TFT = 99; // строка ниже используется для настройки даты и времени часов // раскоментировать, выставить времая и дату, залить в ардуино. в скетче закоментировать // обратно и залить еще раз, иначе каждый раз будет по новой выствлятся это же время и дата // (год, месяц, день, часы, минуты, секунды) //rtc.adjust(DateTime(2019, 7, 2, 10, 48, 0)); #if defined debugPCM or debugGAUGE Serial.begin(115200); #endif K_LINE_PCM.begin(10400); pinMode(TX_PCM, OUTPUT); } void loop() { curmillis = millis(); // снимок текущего времени if (curmillis - prevRequest > RequestPeriod && header == 0 ) { if (request == INIT) fastinit(); // при необходимости делаем переподключение к PCM else {sendMessagePCM(request); // отправляем на PCM текущий запрос if (request == PID) RequestPeriod = 600; if (request == DTCERASE || request == DTCREAD) RequestPeriod = 2500;} prevRequest = curmillis; } receivePCM (); // приём сообщений от PCM if (header == 0) Menu (); if (curmillis - prevWatch > 3000) { Watch (); prevWatch = curmillis;} //if (curmillis - prevDvoet > 500) { if (!Dvoet) {myGLCD.setTextColor(WHITE); } else {myGLCD.setTextColor(BLACK); } myGLCD.print(":", 290, 5); prevDvoet = curmillis; Dvoet=!Dvoet;} if (millis() - prevDvoet > 500) { if (!Dvoet) {myGLCD.print(":", 290, 5);} else {myGLCD.print(" ", 290, 5);} prevDvoet = millis(); Dvoet=!Dvoet;} }// end loop void fastinit() { digitalWrite (TX_PCM, HIGH); // bus idle delay(1500); digitalWrite (TX_PCM, LOW); // first part fastinit (25 ms LOW) delay(25); digitalWrite (TX_PCM, HIGH); // second part fastinit (25 ms HIGH) delay(25); K_LINE_PCM.begin(10400); sendMessagePCM(INIT); // send start communication message } void receivePCM () { if (K_LINE_PCM.available() ){ // первый старт байт if (header == 0 && Delay){TIMER_DELAY ; MessageRx_PCM[0]=K_LINE_PCM.read(); if (MessageRx_PCM[0]!=0xFF && bitRead (MessageRx_PCM[0],7)){header = 1; RESETheader_timer = 1; prevRESETheader = curmillis; #ifdef debugPCM Serial.print (F("Receive PCM: ")); printDebugRX(MessageRx_PCM[0]); #endif } } // второй старт байт if (header == 1 && Delay){TIMER_DELAY ; MessageRx_PCM[1]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX (MessageRx_PCM[1]); #endif if (MessageRx_PCM[1]==DIAG_address){ header = 2;} else { #ifdef debugPCM Serial.println(F(" PCM Message fail address")); #endif header = 0; RESETheader_timer = 0;}} // третий старт байт if (header == 2 && Delay){ TIMER_DELAY ; MessageRx_PCM[2]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX (MessageRx_PCM[2]); #endif if (MessageRx_PCM[2]==PCM_address){ message_size = MessageRx_PCM[0]; prevRESETheader = curmillis; if (MessageRx_PCM[0] !=0x80) {header = 4; bitWrite (message_size, 7 , 0);j=3;n=3;} else {header = 3; j=4;n=4;} if (message_size > bufsize) message_size = bufsize; crc = 0;} else {header = 0; #ifdef debugPCM Serial.println(F("PCM Message fail address")); #endif RESETheader_timer = 0;} } // если размер сообщения указан в дополнительном байте (нулевой байт 0x80) читаем этот дополнительный байт: if (header == 3 && Delay){ TIMER_DELAY ; prevRESETheader = curmillis; MessageRx_PCM[3]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX(MessageRx_PCM[3]); #endif message_size = MessageRx_PCM[3]; if (message_size > bufsize) message_size = bufsize; crc = 0; header = 4; } // пишем тело сообщения if (header == 4 && Delay && j< message_size+n+1) { MessageRx_PCM[j] = K_LINE_PCM.read(); prevRESETheader = curmillis; if (j<message_size+n) crc+= MessageRx_PCM[j]; // подсчёт КС if (j==message_size+n) header = 5; TIMER_DELAY ; #ifdef debugPCM printDebugRX(MessageRx_PCM[j]); #endif j++; } } // сообщение приняли, действуем if (header == 5) {TIMER_DELAY ; #ifdef debugPCM Serial.println(); #endif NOanswer_timer = 0; noanswers = 0; // сбрасываем таймер контроля неответов for(byte i = 0; i<n; i++) crc+=MessageRx_PCM[i]; // прибавляем к контрольной сумме старт байты // если контрольная сумма верна: if ( crc == MessageRx_PCM[message_size+n]) { #ifdef debugPCM Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем printDebugRX_CSgood(); #endif if (MessageRx_PCM[n]==0xC1 && MessageRx_PCM[n+1]==0x6B && MessageRx_PCM[n+2]==0x8F) { if (currentPage!=3) {request = PID; RequestPeriod = 70;} else request = PRESENT, RequestPeriod = 4000; prevRequest = curmillis; // receive good INIT } else if (MessageRx_PCM[n]==0x58) Troublecodes (); // DTC else if (MessageRx_PCM[n]==0x54 && MessageRx_PCM[n+1]==0xFF && MessageRx_PCM[n+2]==0x00){ request = PRESENT; RequestPeriod = 4000; prevRequest = curmillis;} // DTC are cleared else if (MessageRx_PCM[n]==0x61 && MessageRx_PCM[n+1]==0x01) {dataVars() ; RequestPeriod = 70; prevRequest = curmillis; } // receive DataStream } // если контрольная сумма не совпала: #ifdef debugPCM else Serial.println("CRC fail!!!" ); #endif message_size = 0; header=0; RESETheader_timer = 0; j=3; crc = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!Delay && curmillis - timerdelay > waitbyte_RX) Delay = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timer && curmillis - prevRESETheader > 200) { #ifdef debugPCM Serial.println(F("Message fail timeout")); #endif RESETheader_timer = 0; header = 0;} // если нет ответа после запроса: +1 к счетчику неответов. Если накопилось 6 и более: делаем реинит. if (request!=INIT && NOanswer_timer && curmillis - prev_NOanswer > RequestPeriod - RequestPeriod/10) { NOanswer_timer = 0; noanswers++; if (noanswers>=6) { noanswers = 0; request = INIT; RequestPeriod = 3500;} } }// end receivePCM void Troublecodes () { if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]==0x00){ myGLCD.clrScr(); drawscreen_three(); myGLCD.print("NO DTC", 180, 145); } // при получении сообщения о наличии ошибок DTC разберем сообщение выведем на экран ошибки if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]>0){ myGLCD.clrScr(); drawscreen_three(); for (int i=0; i<MessageRx_PCM[n+8-7]; i++ ) { int y = i*35; bool nolA=0; bool nolB =0; if (!bitRead(MessageRx_PCM[n+11-7+(i*3)],6) && bitRead(MessageRx_PCM[n+11-7+(i*3)],7)){ myGLCD.setTextColor(GREEN, BLACK); myGLCD.print(" -Passive-", 300, (75+y));} // если DTC пасивныый делаем цвет зеленый if (bitRead(MessageRx_PCM[n+11-7+(i*3)],7) && bitRead(MessageRx_PCM[n+11-7+(i*3)],6)) { myGLCD.setTextColor(RED, BLACK); myGLCD.print(" -Active-", 300, (75+y));} // если DTC активный, делаем цвет красный myGLCD.print("ERROR ", 50, (75+y)); myGLCD.printNumI((i+1), 150, (75+y)); if (!bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && !bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": P", 170, (75+y)); if (bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && !bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": C", 170, (75+y)); if (!bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": B", 170, (75+y)); if (bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": U", 170, (75+y)); if (MessageRx_PCM[n+9-7+(i*3)]==0x00) {myGLCD.print("00", 230, (75+y)); nolA = 1;} if (MessageRx_PCM[n+9-7+(i*3)]<=0x0F&&MessageRx_PCM[n+9-7+(i*3)]!=0) {myGLCD.print("0", 230, (75+y)); nolA = 1;} if (nolA)myGLCD.print(String (MessageRx_PCM[n+9-7+(i*3)],HEX), 246, (75+y)); else myGLCD.print(String (MessageRx_PCM[n+9-7+(i*3)],HEX), 230, (75+y)); if (MessageRx_PCM[n+10-7+(i*3)]==0x00) {myGLCD.print("00", 262, (75+y)); nolB = 1;} if (MessageRx_PCM[n+10-7+(i*3)]<=0x0F&&MessageRx_PCM[n+10-7+(i*3)]!=0) {myGLCD.print("0", 262, (75+y)); nolB = 1;} if (nolB)myGLCD.print(String (MessageRx_PCM[n+10-7+(i*3)]),HEX, 278, (75+y)); else myGLCD.print(String (MessageRx_PCM[n+10-7+(i*3)],HEX), 262, (75+y));}} request = PRESENT; RequestPeriod = 4000; prevRequest = curmillis; } void dataVars() { //Barom = MessageRx_PCM[39]; L100 = (float)LHor*100.0/(float)Speed; LHor = (float)RPM* (float)InjQua*2.00/1000.0*60.00/1000.0/0.85; MAF = ((MessageRx_PCM[n+22]*256)+MessageRx_PCM[n+23])/10; BoostPres = ((MessageRx_PCM[n+24]*256)+MessageRx_PCM[n+25])/1000.0; RPM = (MessageRx_PCM[n+35-7]*256)+MessageRx_PCM[n+36-7]; EGRmg = ((MessageRx_PCM[n+37-7]*256)+MessageRx_PCM[n+38-7])/10.0; BoostPresCom = ((MessageRx_PCM[n+41-7]*256)+MessageRx_PCM[n+42-7])/1000.0; Speed = ((MessageRx_PCM[n+47-7]*256)+MessageRx_PCM[n+48-7])/100; DesaInjQua = ((MessageRx_PCM[n+53-7]*256)+MessageRx_PCM[n+54-7])/100.0; InjQua = ((MessageRx_PCM[n+55-7]*256)+MessageRx_PCM[n+56-7])/100.0; StaDaliv = ((MessageRx_PCM[n+57-7]*256)+MessageRx_PCM[n+58-7])/100.0; PumpRPM = (MessageRx_PCM[n+59-7]*256)+MessageRx_PCM[n+60-7]; EGRPul = ((MessageRx_PCM[n+65-7]*256)+MessageRx_PCM[n+66-7])/100.0; SolenPul = ((MessageRx_PCM[n+67-7]*256)+MessageRx_PCM[n+68-7])/100.0; SolenPre = ((MessageRx_PCM[n+73-7]*256)+MessageRx_PCM[n+74-7])/100.0; DesInj = ((MessageRx_PCM[n+75-7]*3)+(MessageRx_PCM[n+76-7])/100.0)+0.3; ActInj = ((MessageRx_PCM[n+19-7]*3)+(MessageRx_PCM[n+20-7])/100.0)+0.3; //TempAir = ((MessageRx_PCM[n+77-7]*26)-278)+MessageRx_PCM[n+78-7]/10.0; //Temp = ((MessageRx_PCM[n+17-7]*26)-278)+MessageRx_PCM[n+18-7]/10.0; //TempOil = ((MessageRx_PCM[n+21-7]*26)-278)+MessageRx_PCM[n+22-7]/10.0; //TempFuel = ((MessageRx_PCM[n+61-7]*26)-278)+MessageRx_PCM[n+62-7]/10.0; //ниже идут расчетные формулы более точные чем те что закоментированы выше int A = 0; if (MessageRx_PCM[n+77-7]<=0x0A) A = 277; if (MessageRx_PCM[n+77-7]==0x0B || MessageRx_PCM[n+77-7]==0x0C) A = 278; if (MessageRx_PCM[n+77-7]>=0x0D) A = 279; double B = MessageRx_PCM[n+78-7]/10.0; double cel , drob ; drob = modf(B, &cel); if (drob>0.6) cel++; TempAir = ((MessageRx_PCM[n+77-7]*26)-A)+cel; if (MessageRx_PCM[n+17-7]<=0x0A) A = 277; if (MessageRx_PCM[n+17-7]==0x0B || MessageRx_PCM[n+17-7]==0x0C) A = 278; if (MessageRx_PCM[n+17-7]>=0x0D) A = 279; B = MessageRx_PCM[n+18-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; Temp = ((MessageRx_PCM[n+17-7]*26)-A)+cel; if (MessageRx_PCM[n+21-7]<=0x0A) A = 277; if (MessageRx_PCM[n+21-7]==0x0B || MessageRx_PCM[n+21-7]==0x0C) A = 278; if (MessageRx_PCM[n+21-7]>=0x0D) A = 279; B = MessageRx_PCM[n+22-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; TempOil = ((MessageRx_PCM[n+21-7]*26)-A)+cel; if (MessageRx_PCM[n+61-7]<=0x0A) A = 277; if (MessageRx_PCM[n+61-7]==0x0B || MessageRx_PCM[n+61-7]==0x0C) A = 278; if (MessageRx_PCM[n+61-7]>=0x0D) A = 279; B = MessageRx_PCM[n+62-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; TempFuel = ((MessageRx_PCM[n+61-7]*26)-A)+cel; //---------------------------------------------------------- //страниц HOME //---------------------------------------------------------- //myGLCD.setBackColor(RED); myGLCD.setTextColor(WHITE, BLACK); //myGLCD.setBackColor(RED); if ((Speed != Speed_last) || reNew) {myGLCD.printNumI(Speed, 360, 7, 3); Speed_last=Speed;} if (currentPage == '0') { if ((LHor != LHor_last) || reNew) {myGLCD.printNumF(LHor, 1, 75, 40, '.',4); LHor_last=LHor;} if ((L100 != L100_last) || reNew) {myGLCD.printNumF(L100, 1, 225, 40,'.',4 ); L100_last=L100;} if ((L100M != L100M_last) || reNew) {myGLCD.printNumF(L100M, 1, 75, 75,'.',4 ); L100M_last=L100M;} if ((L100SR_TFT != L100SR_TFT_last) || reNew) {myGLCD.printNumF(L100SR_TFT, 1, 225, 75,'.',4 ); L100SR_TFT_last=L100SR_TFT;} if ((kmREFUELING != kmREFUELING_last) || reNew) {myGLCD.printNumI(kmREFUELING, 90, 110,3 ); kmREFUELING_last=kmREFUELING;} //if (Fuel<53) if ((Fuel != Fuel_last) || reNew) {myGLCD.printNumF(Fuel, 1, 225, 110,'.',4); Fuel_last=Fuel;} //else myGLCD.print("MAX", 210, 110); if ((kmTrip != kmTrip_last) || reNew) {myGLCD.printNumF(kmTrip, 1, 60, 145,'.',5); kmTrip_last=kmTrip;} if ((FuelTrip != FuelTrip_last) || reNew) {myGLCD.printNumF(FuelTrip, 1, 210, 145,'.',5); FuelTrip_last=FuelTrip;} if ((PumpRPM != PumpRPM_last) || reNew) {myGLCD.printNumI(PumpRPM, 230, 180,4); PumpRPM_last=PumpRPM;} if ((RPM != RPM_last) || reNew) {myGLCD.printNumI(RPM, 230, 215,4); RPM_last=RPM;} if ((Fuel2 != Fuel2_last) || reNew) {myGLCD.printNumF(Fuel2, 1, 10, 215,'.',4); Fuel2_last=Fuel2;} if ((Temp != Temp_last) || reNew) {myGLCD.printNumI(Temp, 415, 40, 3); Temp_last=Temp;} if ((TempOil != TempOil_last) || reNew) {myGLCD.printNumI(TempOil, 415, 75, 3); TempOil_last=TempOil;} if ((TempFuel != TempFuel_last) || reNew) {myGLCD.printNumI(TempFuel, 415, 110,3); TempFuel_last=TempFuel;} //myGLCD.printNumI(sensors.getTempCByIndex(0), 415, 145 , 3); if ((t != t_last) || reNew) {myGLCD.printNumI(t, 415, 180, 3); t_last=t;} if ((TempAir != TempAir_last) || reNew) {myGLCD.printNumI(TempAir, 415, 215, 3); TempAir_last=TempAir;} reNew = 0; } //---------------------------------------------------------- //страниц INF1 //---------------------------------------------------------- if (currentPage == '1') { if ((StaDaliv != StaDaliv_last) || reNew) {myGLCD.printNumF(StaDaliv,1, 385, 40,'.', 4); StaDaliv_last=StaDaliv;} if ((DesInj != DesInj_last) || reNew) {myGLCD.printNumF(DesInj,1, 385, 75, '.', 4); DesInj_last=DesInj;} if ((ActInj != ActInj_last) || reNew) {myGLCD.printNumF(ActInj,1, 385, 110,'.', 4); ActInj_last=ActInj;} if ((DesaInjQua != DesaInjQua_last) || reNew) {myGLCD.printNumF(DesaInjQua,1, 385, 145,'.', 4);DesaInjQua_last=DesaInjQua;} if ((InjQua != InjQua_last) || reNew) {myGLCD.printNumF(InjQua,1, 385, 180,'.', 4); InjQua_last=InjQua;} if ((MAF != MAF_last) || reNew) {myGLCD.printNumI(MAF, 170, 215, 4); MAF_last=MAF;} if ((h != h_last) || reNew) {myGLCD.printNumF(h, 1, 430, 215, 3); h_last=h;} reNew = 0; } //---------------------------------------------------------- //страниц INF2 //---------------------------------------------------------- if (currentPage == '2') { if ((BoostPres != BoostPres_last) || reNew) {myGLCD.printNumF(BoostPres,1, 400, 40,'.', 4); BoostPres_last=BoostPres;} if ((BoostPresCom != BoostPresCom_last) || reNew) {myGLCD.printNumF(BoostPresCom,1, 400, 75,'.', 4); BoostPresCom_last=BoostPresCom;} if ((EGRmg != EGRmg_last) || reNew) {myGLCD.printNumI(EGRmg, 400, 110, 4); EGRmg_last=EGRmg;} if ((EGRPul != EGRPul_last) || reNew) {myGLCD.printNumF(EGRPul,1, 400, 145,'.', 4); EGRPul_last=EGRPul;} if ((SolenPul != SolenPul_last) || reNew) {myGLCD.printNumF(SolenPul, 1, 400, 180,'.', 4); SolenPul_last=SolenPul;} if ((SolenPre != SolenPre_last) || reNew) {myGLCD.printNumF(SolenPre, 0, 400, 215,'.', 4); SolenPre_last=SolenPre;} reNew = 0; } //reNew = 0; } void sendMessagePCM(const byte &command) { #ifdef debugPCM Serial.print (F("Send request ")); Serial.print (textRequest[command]); Serial.print (F(" to PCM ")); Serial.println (millis()); #endif if (command != INIT) {NOanswer_timer = 1; prev_NOanswer = curmillis;} //т.к. сейчас будем делать запрос, то запускаем таймер контроля неответов byte size = PCM_Message_TX[command][0]; const byte siZe = size+4; byte Mes[siZe]; byte Checksum = 0; for(byte i=0; i<siZe; i++) { if (i==0) {Mes[i]=size; bitWrite(Mes[i], 7 , 1);} if (i==1) Mes[i] = PCM_address; if (i==2) Mes[i] = DIAG_address; if (i==3) {for (byte t=1; t<size+1; t++ ) { Mes[i]=PCM_Message_TX [command][t]; Checksum+=Mes[i] ; K_LINE_PCM.write (Mes[i]); if (command == INIT) delay (5); else delay (delaybyte_TX); K_LINE_PCM.read(); i++;}} if (i!=siZe-1) Checksum+=Mes[i]; else Mes[i] = Checksum; K_LINE_PCM.write (Mes[i]); if (command == INIT) delay (5); else delay (delaybyte_TX); K_LINE_PCM.read(); } }// end sendMessagePCM #if defined debugPCM or debugGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));} #endif #ifdef debugPCM void printDebugRX_CSgood(){ if (MessageRx_PCM[n]==0xC1 && MessageRx_PCM[n+1]==0x6B && MessageRx_PCM[n+2]==0x8F) {Serial.println (F(" Initialization OK!!!!")); } else if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]==0x00) {Serial.println (F(" NO DTC "));} else if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1] >0x00) {Serial.println (F(" DTC is found!"));} else if (MessageRx_PCM[n]==0x54 && MessageRx_PCM[n+1]==0xFF && MessageRx_PCM[n+2]==0x00){Serial.println (F(" DTC CLEARED "));} else if (MessageRx_PCM[n]==0x61 && MessageRx_PCM[n+1]==0x01) {Serial.println (F(" Receive PCM DATAstream"));}} #endif void Menu () { TouchHOME(); if (currentPage == '0') { TouchINF1(); TouchINF2(); TouchCHECK(); } if (currentPage == '1') { TouchINF2(); TouchCHECK(); } if (currentPage == '2') { TouchINF1(); TouchCHECK(); } if (currentPage == '3') { TouchREAD(); TouchERASE(); }} void drawHomeScreen() { line() ; Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.drawLine(295,35,295,248); // линия вертикальная myGLCD.drawLine(145,35,145,178); // линия вертикальная myGLCD.drawLine(80,178,80,247); // линия вертикальная myGLCD.print("L/H", 10, 40); myGLCD.print("L/A", 148, 40); myGLCD.print("L/V", 10, 75); myGLCD.print("L/M", 148, 75); myGLCD.print("D/K", 10, 110); myGLCD.print("D/L", 148, 110); myGLCD.print("V/K", 10, 145); myGLCD.print("V/L", 148, 145); myGLCD.print("PUMP RPM", 82, 180); myGLCD.print("ENGI RPM", 82, 215); myGLCD.print("D/L/A", 10, 180); myGLCD.print("Motor C", 300, 40); myGLCD.print("OIL C", 300, 75); myGLCD.print("FUEL C", 300, 110); myGLCD.print("INTER C", 300, 145); myGLCD.print("EXTER C", 300, 180); myGLCD.print("INTAIR C", 300, 215); //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("INF 1", 55, 270); myGLCD.drawRoundRect (175, 255, 305, 310); myGLCD.print("INF 2", 215, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //------------------------------------------------- void drawscreen_one() { line() ; Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.print("Start of Delivery *CA:", 10, 40); myGLCD.print("Desir inject Start *CA:", 10, 75); myGLCD.print("Actua Inject Start *CA:", 10, 110); myGLCD.print("Desir Inject Quan mg/s:", 10, 145); myGLCD.print("Actu Inject Quant mg/s:", 10, 180); myGLCD.print("MAF mg/s:", 10, 215); myGLCD.print("Humedad %:", 255, 215); //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (175, 255, 305, 310); myGLCD.print("INF 2", 215, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //------------------------------------------------- void drawscreen_two() { line() ; Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.print("Boost Press Bar:", 10, 40); myGLCD.print("Boost Press Com Bar:", 10, 75); myGLCD.print("EGR command mg/s:", 10, 110); myGLCD.print("EGR Pulse Ratio %:", 10, 145); myGLCD.print("Solenoide Pulse %:", 10, 180); myGLCD.print("Solenoide Boost %:", 10, 215); //myGLCD.setColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("INF 1", 55, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //---------------------------------------------------------------------------- void drawscreen_three() { Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии красный myGLCD.drawLine(1,35,479,35); // линия горизонтальная myGLCD.drawLine(1,248,479,248); // линия горизонтальная //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("ERASE", 55, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("READ", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 5); reNew = 1; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //кнопки тач . координаты и переходы ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void TouchHOME(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) {if (p.x > 140 && p.x < 320 && p.y > 140 && p.y < 260 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (1, 1, 77, 37); currentPage = '0'; request = PID; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawHomeScreen(); x = 0; y = 0; p.z = 0;}}} void TouchINF1(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 150 && p.x < 450 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (15, 255, 145, 310); currentPage = '1'; request = PID; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawscreen_one(); x = 0; y = 0; p.z = 0;}}} void TouchINF2(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 450 && p.x < 680 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (175, 255, 305, 310); currentPage = '2'; request = PID; RequestPeriod = 600; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawscreen_two(); x = 0; y = 0; p.z = 0;}}} void TouchCHECK(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 690 && p.x < 950 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (335, 255, 465, 310); currentPage = '3'; // request = DTCREAD; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос чтения ошибок myGLCD.clrScr(); drawscreen_three(); x = 0; y = 0; p.z = 0;}}} void TouchREAD(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 690 && p.x < 950 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (335, 255, 465, 310); request = DTCREAD; RequestPeriod = 300; prevRequest = curmillis; // на PCM при нажатии этой кнопки посылается запрос чтения ошибок x = 0; y = 0; p.z = 0;}}} void TouchERASE(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 150 && p.x < 450 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) {myGLCD.drawRoundRect (15, 255, 145, 310); request = DTCERASE; RequestPeriod = 300; prevRequest = curmillis; // на PCM при нажатии этой кнопки посылается запрос удаления ошибок myGLCD.clrScr(); drawscreen_three(); myGLCD.print("DTC BORRADO", 180, 145); x = 0; y = 0; p.z = 0;}}} //////////////////////////////////////////////////////////////////////////////////////// //прорисовка линий /////////////////////////////////////////////////////////////////////////////////////// void line() { //myGLCD.setTextColor(RED); // цвет линии красный myGLCD.drawLine(1,35,479,35); // линия горизонтальная myGLCD.drawLine(1,73,479,73); // линия горизонтальная myGLCD.drawLine(1,108,479,108); // линия горизонтальная myGLCD.drawLine(1,143,479,143); // линия горизонтальная myGLCD.drawLine(1,178,479,178); // линия горизонтальная myGLCD.drawLine(1,212,479,212); // линия горизонтальная myGLCD.drawLine(1,248,479,248); // линия горизонтальная } void Watch (){ DateTime now = rtc.now(); int minut = now.minute(); int hour = now.hour(); int mon = now.month(); int date = now.day(); int Year = now.year(); static int minut_last; static int hour_last; static int mon_last; static int date_last; static int Year_last; myGLCD.setTextColor(WHITE, BLACK); //белый цвет цифры if (date != date_last || reNew){ myGLCD.printNumI(date, 85, 7, 2, '0'); date_last = date; } if (mon!=mon_last || reNew){myGLCD.printNumI(mon, 130, 7, 2, '0'); mon_last = mon; } if (Year!=Year_last || reNew) { myGLCD.printNumI(Year, 175, 7); Year_last = Year; } if (hour!=hour_last || reNew){ myGLCD.printNumI(hour, 255, 7, 2, '0'); hour_last = hour; } if (minut!=minut_last || reNew ){ myGLCD.printNumI(minut, 300, 7, 2, '0'); minut_last = minut; } }и вот 1912 который сразботал, панель
#define K_LINE_GAUGE Serial2 #define TX_gauge 16 const byte BAUD=200; // init baudrate const byte addressGUAGE = 0xB8; // init GAUGE address //#define debugPCM // раcкоментировать эту строку для отладки в Serial порту обмена с PCM #define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени uint32_t prevRESETheaderGAUGE=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timerGAUGE; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t timerdelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool DelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) uint32_t prevNoconnect = 0; // таймер периодической проверки наличия связи со щитком приборов byte waitbyte_RX_GAUGE = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAYGAUGE DelayGAUGE = 0; timerdelayGAUGE = curmillis // включение этого таймера byte NoconnectsGAUGE = 0 ; byte headerGAUGE = 0; // состояние заголовка byte message_sizeGAUGE = 0; // размер тела сообщения byte jGAUGE = 3; // инкремент byte nGAUGE = 3; // количество старт байт const byte bufsize = 150; byte MessageRx_GAUGE [bufsize] = {0}; // буфер принятого сообщения int ChecksumGAUGE =0; // байт контрольной суммы byte PIDgauge[] = {0x02, 0x11, 0x00, 0x13}; byte InitGauge = 0; void setup() { #ifdef debugGAUGE Serial.begin (115200); #endif } void loop() { curmillis = millis(); receiveGAUGE (); // приём сообщений от приборки } void receiveGAUGE () { if (K_LINE_GAUGE.available() ){ // первый старт байт if (headerGAUGE == 0 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[0]=K_LINE_GAUGE.read(); if ((InitGauge ==1 && MessageRx_GAUGE[0]==0x55) || InitGauge ==2 && MessageRx_GAUGE[0]!=0xFF && MessageRx_GAUGE[0]!=0x7F){headerGAUGE = 1; RESETheader_timerGAUGE = 1; prevRESETheaderGAUGE = curmillis; #ifdef debugGAUGE Serial.print (F("Receive GAUGE: ")); printDebugRX(MessageRx_GAUGE[0]); #endif } } // второй старт байт if (headerGAUGE == 1 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[1]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[1]); #endif if ( (InitGauge ==1 && MessageRx_GAUGE[1]==0x52) || (InitGauge ==2 && (MessageRx_GAUGE[1]==0xA0 || MessageRx_GAUGE[1]==0xA1))){ headerGAUGE = 2;} else { #ifdef debugGAUGE Serial.println(F(" GAUGE Message fail address")); #endif headerGAUGE = 0; RESETheader_timerGAUGE = 0;}} // третий старт байт if (headerGAUGE == 2 && DelayGAUGE){ TIMER_DELAYGAUGE ; MessageRx_GAUGE[2]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[2]); #endif if (InitGauge ==2 && (MessageRx_GAUGE[2]==0x48 || MessageRx_GAUGE[2]==0x04)){ message_sizeGAUGE = MessageRx_GAUGE[0]-2; prevRESETheaderGAUGE = curmillis; headerGAUGE = 4; jGAUGE=3; nGAUGE=3; if (message_sizeGAUGE > bufsize) message_sizeGAUGE = bufsize; ChecksumGAUGE = 0;} else if (InitGauge ==1 && MessageRx_GAUGE[2]==0x80) {InitGauge = 2; K_LINE_GAUGE.write(0x7F); delay (2); K_LINE_GAUGE.read(); headerGAUGE = 0; RESETheader_timerGAUGE = 0; #ifdef debugGAUGE Serial.println ("Gauge INIT is good!"); #endif } else {headerGAUGE = 0; #ifdef debugGAUGE Serial.println(F("GAUGE Message fail address")); #endif RESETheader_timerGAUGE = 0;} } // пишем тело сообщения if (headerGAUGE == 4 && DelayGAUGE && jGAUGE< message_sizeGAUGE+nGAUGE+1) { MessageRx_GAUGE[jGAUGE] = K_LINE_GAUGE.read(); prevRESETheaderGAUGE = curmillis; if (jGAUGE<message_sizeGAUGE+nGAUGE-1) ChecksumGAUGE+= MessageRx_GAUGE[jGAUGE]; // подсчёт КС if (jGAUGE==message_sizeGAUGE+nGAUGE) headerGAUGE = 5; TIMER_DELAYGAUGE ; #ifdef debugGAUGE printDebugRX(MessageRx_GAUGE[jGAUGE]); #endif jGAUGE++; } } // сообщение приняли, действуем if (headerGAUGE == 5) {TIMER_DELAYGAUGE ; #ifdef debugGAUGE Serial.println(); #endif for(byte i = 0; i<nGAUGE; i++) ChecksumGAUGE+=MessageRx_GAUGE[i]; // прибавляем к контрольной сумме старт байты int ChecksumG = ( ( unsigned int )MessageRx_GAUGE[message_sizeGAUGE+nGAUGE-1] << 8 ) | MessageRx_GAUGE[message_sizeGAUGE+nGAUGE]; // парсинг контрольной суммы из 2 последних байт // если контрольная сумма верна: if ( ChecksumGAUGE == ChecksumG) { NoconnectsGAUGE = 0; // сбрасываем на 0 отсутствие связи с панелью #ifdef debugGAUGE Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем #endif if (MessageRx_GAUGE[1]== 0xA0 && MessageRx_GAUGE[2]== 0x48) { #ifdef debugGAUGE Serial.println ("ID panel receive! Send request PIDGauge"); #endif for (byte i=0; i<sizeof(PIDgauge); i++) { K_LINE_GAUGE.write (PIDgauge[i]); delay (2); K_LINE_GAUGE.read();} } if (MessageRx_GAUGE[1]== 0xA1 && MessageRx_GAUGE[2]== 0x04) { #ifdef debugGAUGE Serial.println (" receive Datastream Gauge!"); #endif } } // если контрольная сумма не совпала: #ifdef debugGAUGE else Serial.println("CRC fail!!!" ); #endif message_sizeGAUGE = 0; headerGAUGE=0; RESETheader_timerGAUGE = 0; jGAUGE=3; ChecksumGAUGE = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!DelayGAUGE && curmillis - timerdelayGAUGE > waitbyte_RX_GAUGE) DelayGAUGE = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timerGAUGE && curmillis - prevRESETheaderGAUGE > 1000) { #ifdef debugGAUGE Serial.println(F("Message fail timeout")); #endif RESETheader_timerGAUGE = 0; headerGAUGE = 0;} if (curmillis - prevNoconnect > 500) {NoconnectsGAUGE ++ ; if (NoconnectsGAUGE>=8){ #ifdef debugGAUGE Serial.println (F(" Connect GAUGE failed!!! ")) ; #endif NoconnectsGAUGE = 0 ;InitGauge = 0 ; } prevNoconnect = curmillis; } if (InitGauge == 0) {InitBusGAUGE ();} }// end receiveGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));} void InitBusGAUGE () { #ifdef debugGAUGE Serial.println ("Send startsession - address Gauge"); #endif K_LINE_GAUGE.end(); byte boudrate = 1000/BAUD; pinMode(TX_gauge, OUTPUT); digitalWrite (TX_gauge, HIGH); delay (1500); // BUS IDLE digitalWrite (TX_gauge, LOW); delay (boudrate); // старт байт for (byte i=0; i<8; i++){digitalWrite (TX_gauge, bitRead(addressGUAGE, i)); delay (boudrate);}// биты тела адреса digitalWrite (TX_gauge, HIGH); delay (boudrate); // стоп байт K_LINE_GAUGE.begin(9600); InitGauge = 1; }заменил на 1912 вместо 1920
так для перфекционизма проверь 1912. Сделал инит, чтоб адрес панели и битрейт инита можно было вверху выбирать.
отчет. обрыв тоже работает отлично
Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 1847 ID panel receive! Send request PIDGauge Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 3B 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 65 Received message is OK! Checksum is correct! 1952 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 3D 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 66 Received message is OK! Checksum is correct! 2050 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 3E 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 68 Received message is OK! Checksum is correct! 2150 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 3F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 69 Received message is OK! Checksum is correct! 2249 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 40 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 68 Received message is OK! Checksum is correct! 2349 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 42 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6C Received message is OK! Checksum is correct! 2448 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 43 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6A Received message is OK! Checksum is correct! 2546 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 44 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6E Received message is OK! Checksum is correct! 2646 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 58 45 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6D Received message is OK! Checksum is correct! 2747 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 46 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 70 Received message is OK! Checksum is correct! 2844 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 45 58 47 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 72 Received message is OK! Checksum is correct! 2944 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 47 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 72 Received message is OK! Checksum is correct! 3044 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 44 58 48 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 70 Received message is OK! Checksum is correct! 3143 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 43 59 49 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 73 Received message is OK! Checksum is correct! 3243 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 4A 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 73 Received message is OK! Checksum is correct! 3340 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 4B 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 75 Received message is OK! Checksum is correct! 3440 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 4B 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 73 Received message is OK! Checksum is correct! 3539 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 4C 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 76 Received message is OK! Checksum is correct! 3639 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 4C 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 73 Received message is OK! Checksum is correct! 3738 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 44 59 4D 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 76 Received message is OK! Checksum is correct! 3838 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 4D 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 74 Received message is OK! Checksum is correct! 3936 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 4E 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 78 Received message is OK! Checksum is correct! 4035 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 4F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 76 Received message is OK! Checksum is correct! 4134 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 4F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 4234 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 4F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 76 Received message is OK! Checksum is correct! 4334 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 50 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 4433 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 50 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 78 Received message is OK! Checksum is correct! 4533 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 51 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 4630 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 51 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 4730 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 51 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 4830 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 43 58 52 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 4929 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 43 58 52 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 5028 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 52 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 5126 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7D Received message is OK! Checksum is correct! 5226 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 5325 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7D Received message is OK! Checksum is correct! 5427 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 5524 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 44 58 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 5624 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 5724 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B0 00 FF 45 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 5823 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 5920 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 6020 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7E Received message is OK! Checksum is correct! 6120 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 6219 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7E Received message is OK! Checksum is correct! 6319 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 6418 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 6518 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 6616 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 81 Received message is OK! Checksum is correct! 6715 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 43 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 6814 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7D Received message is OK! Checksum is correct! 6914 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 43 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 7014 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7E Received message is OK! Checksum is correct! 7113 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 7213 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7E Received message is OK! Checksum is correct! 7310 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 7410 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 56 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 7510 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 44 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 7609 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 7708 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 45 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 82 Received message is OK! Checksum is correct! 7806 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 7906 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 81 Received message is OK! Checksum is correct! 8005 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 8107 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 82 Received message is OK! Checksum is correct! 8204 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 81 Received message is OK! Checksum is correct! 8304 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 81 Received message is OK! Checksum is correct! 8403 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 45 59 57 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 82 Received message is OK! Checksum is correct! 8501 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 57 1A 47 00 00 00 22 05 8F 8C 04 51 07 00 00 05 82 Received message is OK! Checksum is correct! 8600 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 57 1A 47 00 00 00 22 05 8F 8C 04 51 07 00 00 05 82 Received message is OK! Checksum is correct! 8700 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 19 00 FF 09 59 57 1A 47 00 00 00 22 05 8F 8C 04 51 07 00 00 04 00 CRC fail!!! Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 19490 ID panel receive! Send request PIDGauge Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 38 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 62 Received message is OK! Checksum is correct! 19596 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 39 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 63 Received message is OK! Checksum is correct! 19694 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 3B 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 66 Received message is OK! Checksum is correct! 19793 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 3C 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 65 Received message is OK! Checksum is correct! 19893 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 45 58 3E 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 68 Received message is OK! Checksum is correct! 19992 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 3F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 68 Received message is OK! Checksum is correct! 20090 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 40 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6A Received message is OK! Checksum is correct! 20190 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 41 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6B Received message is OK! Checksum is correct! 20291 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 42 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6C Received message is OK! Checksum is correct! 20388 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 43 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6D Received message is OK! Checksum is correct! 20488 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 44 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6E Received message is OK! Checksum is correct! 20588 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 58 45 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 6E Received message is OK! Checksum is correct! 20687 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 46 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 70 Received message is OK! Checksum is correct! 20787 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 47 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 71 Received message is OK! Checksum is correct! 20884 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 48 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 73 Received message is OK! Checksum is correct! 20984 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 49 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 71 Received message is OK! Checksum is correct! 21084 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 4A 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 74 Received message is OK! Checksum is correct! 21183 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 4A 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 73 Received message is OK! Checksum is correct! 21282 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 4B 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 75 Received message is OK! Checksum is correct! 21382 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 58 4C 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 74 Received message is OK! Checksum is correct! 21480 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 45 59 4C 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 78 Received message is OK! Checksum is correct! 21579 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 4D 1B 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 76 Received message is OK! Checksum is correct! 21679 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 4D 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 75 Received message is OK! Checksum is correct! 21778 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 4E 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 77 Received message is OK! Checksum is correct! 21878 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 45 59 4E 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 21978 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 4F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 77 Received message is OK! Checksum is correct! 22077 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B6 00 FF 44 59 4F 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 22176 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 50 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 22276 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 50 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 22374 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 51 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 22473 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 51 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 22573 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 51 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 22672 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 43 59 52 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 22770 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 52 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7B Received message is OK! Checksum is correct! 22870 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 58 52 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 22971 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 23068 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B4 00 FF 44 59 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7D Received message is OK! Checksum is correct! 23168 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 58 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7A Received message is OK! Checksum is correct! 23268 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 45 59 53 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 23367 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 23467 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 44 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7D Received message is OK! Checksum is correct! 23564 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B1 00 FF 45 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7C Received message is OK! Checksum is correct! 23664 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 54 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 23763 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B2 00 FF 45 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7E Received message is OK! Checksum is correct! 23863 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B5 00 FF 44 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 80 Received message is OK! Checksum is correct! 23962 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B3 00 FF 45 59 55 1A 46 00 00 00 22 05 8F 8C 04 51 07 00 00 05 7F Received message is OK! Checksum is correct! 24062 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00ок, это чтоб другим проще повторить, а то адреса панели могут отличаться
склеил
//------------все для связи по K-line (тут настраиваем UARTы к-лайников, адреса блоков, скорость инита и отладку) #include <SoftwareSerial.h> #define TX_PCM 13 SoftwareSerial K_LINE_PCM (12, TX_PCM); //RХ,TХ //UART на котором висит K_line к PCM #define K_LINE_GAUGE Serial2 //UART на котором висит K_line к приборке #define TX_gauge 16 //TX UARTa на котором висит K_line к приборке #define PCM_address 0x11 // адрес PCM #define DIAG_address 0xF1 // адрес диагностики const byte BAUD=200; // init baudrate - скорость инита при подключении к приборке const byte addressGUAGE = 0xB8;// init GAUGE address - адрес щитка приборов при ините (установке связи) //#define debugPCM // раскоментировать эту строку для отладки в Serial порту обмена с PCM #define debugGAUGE // раскоментировать эту строку для отладки в Serial порту обмена co щитком приборов uint32_t curmillis = 0; // снимок текущего времени //------------------------------------------переменные для организации протокола связи с PCM uint32_t prevRequest = 0; // таймер периодических запосов на PCM uint16_t RequestPeriod = 3500; // периодичность запросов на PCM uint32_t prevRESETheader=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timer; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t prev_NOanswer=0; // таймер контроля неответов от ЭБУ после подачи запросов bool NOanswer_timer = 0; // таймер контроля неответов от ЭБУ после подачи запросов byte noanswers = 0; // количество подряд неответов от ЭБУ uint32_t timerdelay = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool Delay = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) byte waitbyte_RX = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAY Delay = 0; timerdelay = curmillis // включение этого таймера byte delaybyte_TX = 1; // задержка между отправкой байт в запросах, мс byte header = 0; // состояние заголовка byte message_size = 0; // размер тела сообщения byte j = 3; // инкремент byte n = 3; // количество старт байт const byte bufsize = 150; // размер буфера принятого сообщения byte MessageRx_PCM [bufsize] = {0}; // буфер принятого сообщения byte crc =0; // байт контрольной суммы // возможные варианты запросов на ЭБУ: enum REQUEST {INIT, PID, DTCERASE, DTCREAD, PRESENT,}; // текстовки запросов для отладки char* textRequest[] = {"INIT", "PID_2101", "DTC_ERASE", "DTC_READ", "PRESENT",} ; // сами запросы byte PCM_Message_TX[][5] = { {1, 0x81, 0,0,0}, // запрос инициализации {2, 0x21,0x01, 0,0}, // запрос пид 2101 {3, 0x14,0xFF,0x00, 0}, // запрос на стирание ошибок {4, 0x18,0x00,0xFF,0x00 }, // запрос на чтение ошибок {1, 0x3E, 0,0,0}, // запрос присутствия }; byte request = INIT; // переменная, показывающая какой запрос будем делать //------------------------------------------ переменные для организации протокола связи со щитком приборов uint32_t prevRESETheaderGAUGE=0; // таймер сброса сообщения, если данные оборвались посередине сообщения bool RESETheader_timerGAUGE; // таймер сброса сообщения, если данные оборвались посередине сообщения uint32_t timerdelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) bool DelayGAUGE = 0; // таймер ожидания байт (для успевания появления данных в буфере UART) uint32_t prevNoconnect = 0; // таймер периодической проверки наличия связи со щитком приборов byte waitbyte_RX_GAUGE = 1; // задержка, мс для успевания появления данных в буфере RX // (подрегулировать в зависимости от уровня жизнидеятельности на Марсе) #define TIMER_DELAYGAUGE DelayGAUGE = 0; timerdelayGAUGE = curmillis // включение этого таймера uint32_t prevInitbusGauge = 0; // таймер для инита щитка приборов byte NoconnectsGAUGE = 0 ; // счетчик неответов от щитка приборов byte headerGAUGE = 0; // состояние заголовка byte message_sizeGAUGE = 0; // размер тела сообщения byte jGAUGE = 3; // инкремент byte nGAUGE = 3; // количество старт байт int ChecksumGAUGE =0; // байт контрольной суммы byte InitGauge = 0; // автомат состояния инита щитка приборов const byte bufsizeG = 150; // размер буфера принятого сообщения byte MessageRx_GAUGE [bufsizeG] = {0}; // буфер принятого сообщения byte PIDgauge[] = {0x02,0x11,0x00,0x13}; // запрос параметоров щитка приборов //-------------------------------------------переменные бортовика float L100M = 0; float L100M_last = 1; //расход на 100 км измеренный за поездку float L100 = 0; float L100_last = 1; //мгновенный расход литров на 100км float LHor = 0; float LHor_last = 1; //мгновенный расход топлива литров в час float L100SR = 0; //расход литров на 100км измеренный раз в интервал kmL float L100SR_TFT = 0; float L100SR_TFT_last = 1; // самый средний из расходов на 100км, он выводится на экран int L100_Eeprom[11]= {10,10,10,10,10,10,10,10,10,10,10}; int FuelZamer[10]= {0}; // массив для измерения уровня (количества) топлива int ZamerNumber = 0; // номер замера уровня (количества) топлива int n_eeprom = 0; // текущий адрес ячейки еепром для записи расхода int MAF = 0; int MAF_last = 1; //26,27 байты Sensor de flujo de aire en masa float BoostPres = 0; float BoostPres_last = 1; //28,29 байты Presión de refuerzo int RPM = 0; int RPM_last = 1; //32,33 байты Velocidad del motor int EGRmg = 0; int EGRmg_last = 1; //34,35 байты Comando EGR (Comando de recirculación de gases de escape) float BoostPresCom = 0; float BoostPresCom_last = 1;//38,39 байты Comando de presión de refuerzo int Speed = 0; int Speed_last = 1; //44,45 байты Velocidad del vehículo float DesaInjQua = 0; float DesaInjQua_last = 1; //50,51 байты Cantidad de inyección deseada float InjQua = 0; float InjQua_last = 1; //52,53 байты Cantidad de la inyección float StaDaliv = 0; float StaDaliv_last = 1; //54,55 байты Inicio de la entrega int PumpRPM = 0; int PumpRPM_last = 1; //56,57 байты Velocidad de la bomba float EGRPul = 0; float EGRPul_last = 1; //62,63 байты Relación de impulsos EGR (recirculación de gases de escape float SolenPul = 0; float SolenPul_last = 1; //64,65 байты Velocidad de solenoide de control de nivel de remolino Relación de impulsos float SolenPre = 0; float SolenPre_last = 1; //70,71 байты Relación de impulsos Presión Electroválvula de presión float DesInj = 0; float DesInj_last = 1; //72,73 байты Inyección deseada Inicio float ActInj = 0; float ActInj_last = 1; //16,17 байты Inicio de la inyección real int TempAir = 0; int TempAir_last = 1; //74,75 байты Temperatura del aire de admisión int Temp = 0; int Temp_last = 1; //14,15 байты Temperatura del refrigerante int TempOil = 0; int TempOil_last = 1; //18,19 байты Temperatura del aceite del motor int TempFuel = 0; int TempFuel_last = 1; //58,59 байты Temperatura del combustible //все что касается топлива float Fuel = 0; //остаток топлива float Fuel2 = 0; float Fuel2_last = 1; //остаток мгновенного топлива байт 16 , датчика в баке int FuelIGN = 0; // количество топлвива в баке на момент включения зажигания int Fuel_last = 0; // для формул bool flagFuelIGN = 0; // флаг записан ли остаток топлива в момент вкл. зажигания float FuelTrip = 0; float FuelTrip_last = 1; // количество литров топлива, израсходованное за один цикл включения зажигания //все что касается километража float kmAge = 0; //пробег, полученный со щитка приборов int kmAgeIGN = 0; //пробег который был в момент включения зажигания int kmAge_last = 0; // для формул bool flagkmAgeIGN = 0; //флаг записан ли пробег в момент вкл. зажигания float kmTrip = 0; float kmTrip_last = 1; //пробег за один цикл включения зажигания int kmL = 10; // интервал, через который будет происходить обновление среднего расхода на 100км int km = 0; // переменная для расчетов int kmeeprom = 10; // интервал, через который будет происходить подсчет среднеарифмитического расхода L100SR_TFT int kmTFT = 0; // переменная для расчетов периодического подсчета среднеарифмитического расхода топлива L100SR_TFT int kmREFUELING = 0; int kmREFUELING_last = 1; // пробег до заправки на остатке топлива unsigned long prevWatch = 0; unsigned long prevDvoet = 0; unsigned long prevData = 0; //----------------------------------------------для экрана #include <Adafruit_GFX.h> #include <MCUFRIEND_kbv.h> #include <UTFTGLUE.h>//use GLUE class and constructor #include "TouchScreen.h" #include <stdint.h> #include <SPI.h> #include <EEPROM.h> //MCUFRIEND_kbv tft; #include "Fonts/Chosence_Bold16pt7b.h"; #define MINPRESSURE 200 #define MAXPRESSURE 1000 //pin 20 SCL , 21 SDA датчик реального времени #include <Wire.h> #include "RTClib.h" RTC_DS3231 rtc; UTFTGLUE myGLCD(0x1581,A2,A1,A3,A4,A0); //all dummy args const int XP = 6, XM = A2, YP = A1, YM = 7; const int TS_LEFT = 136, TS_RT = 907, TS_TOP = 139, TS_BOT = 942; TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); uint16_t ID; int x, y; char currentPage; float h; int h_last = 1; float t; int t_last = 1; bool Dvoet = 0; bool reNew = 0; #define BLACK 0x0000 #define WHITE 0xFFFF #define RED 0xF800 #define GREEN 0x07E0 void setup() { uint16_t ID = myGLCD.readID(); if (ID == 0xD3D3) ID = 0x1581; // write-only shield myGLCD.begin(ID); myGLCD.InitLCD(3); myGLCD.clrScr(); myGLCD.setFont(&Chosence_Bold16pt7b); //myGLCD.fillScreen(WHITE); //myGLCD.setTextColor(WHITE, BLACK); //myGLCD.setBackColor(BLACK); Wire.begin(); rtc.begin(); //загрузка стартовой страницы currentPage = '0'; drawHomeScreen(); //подсчет среднеарифметического усредненного расхода for (int i = 0; i < 11; i++) L100_Eeprom [i]= EEPROM.read(i); for (int i = 0; i < 11; i++) L100SR_TFT = L100SR_TFT + L100_Eeprom [i]; L100SR_TFT = (float)L100SR_TFT/110.0; if (L100SR_TFT<0) L100SR_TFT = 0; if (L100SR_TFT>99) L100SR_TFT = 99; // строка ниже используется для настройки даты и времени часов // раскоментировать, выставить времая и дату, залить в ардуино. в скетче закоментировать // обратно и залить еще раз, иначе каждый раз будет по новой выствлятся это же время и дата // (год, месяц, день, часы, минуты, секунды) //rtc.adjust(DateTime(2019, 7, 2, 10, 48, 0)); #if defined debugPCM or defined debugGAUGE Serial.begin(115200); #endif K_LINE_PCM.begin(10400); pinMode(TX_PCM, OUTPUT); } void loop() { curmillis = millis(); // снимок текущего времени if (curmillis - prevRequest > RequestPeriod && header == 0 ) { if (request == INIT) fastinit(); // при необходимости делаем переподключение к PCM else {sendMessagePCM(request); // отправляем на PCM текущий запрос if (request == PID) RequestPeriod = 600; if (request == DTCERASE || request == DTCREAD) RequestPeriod = 2500;} prevRequest = curmillis; } receivePCM (); // приём сообщений от PCM receiveGAUGE (); // приём сообщений от щитка приборов if (header == 0) {Menu ();} if (curmillis - prevWatch > 4000) { Watch (); prevWatch = curmillis; Trip ();} //if (curmillis - prevDvoet > 500) { if (!Dvoet) {myGLCD.setTextColor(WHITE); } else {myGLCD.setTextColor(BLACK); } myGLCD.print(":", 290, 5); prevDvoet = curmillis; Dvoet=!Dvoet;} if (millis() - prevDvoet > 500) { if (!Dvoet) {myGLCD.print(":", 290, 5);} else {myGLCD.print(" ", 290, 5);} prevDvoet = millis(); Dvoet=!Dvoet;} }// end loop void Trip () { if (flagkmAgeIGN){ FuelTrip = FuelIGN - Fuel; if (kmAge>kmAgeIGN) kmTrip = kmAge - kmAgeIGN; if (kmAge<kmAgeIGN) kmTrip = 2000 - (kmAgeIGN - kmAge); // 2000 это через сколько км у тебя суточный пробег сбрасывается на ноль, поменяй если другое число if (kmAge==kmAgeIGN) kmTrip = 0; //подсчет расхода на 100км за поездку L100M = ((float)FuelTrip*100.00)/(float)kmTrip; if (L100M<0) L100M = 0; if (L100M>99) L100M = 99; // ниже цикл считает среднеарифметический расход из еепром раз в пробег, указанный в переменной kmeeprom if (kmTrip-kmTFT>kmeeprom) {kmTFT = kmTrip; // тут считаем среднеарифметический усредненного расход из ячеек еепром for (int i = 0; i < 11; i++) L100_Eeprom [i]= EEPROM.read(i); for (int i = 0; i < 11; i++) L100SR_TFT = L100SR_TFT + L100_Eeprom [i]; L100SR_TFT = (float)L100SR_TFT/110.00; if (L100SR_TFT<0) L100SR_TFT = 0; if (L100SR_TFT>99) L100SR_TFT = 99;} // ниже цикл считает расход топлива за пробег, указанный в переменной kmL, здесь же запись в ячейки еепром if (kmTrip-km>kmL) {km=kmTrip; L100SR = ((float)(Fuel_last-Fuel)*100.00)/(float)kmL; // расход/100км - обновляется раз в 10км, меняется км в int kmL = 10; Fuel_last = Fuel; // сохранение параметров с последнего измерениея if (L100SR<0) L100SR = 0; if (L100SR>99) L100SR = 99; //расчет остатка километров в баке if (L100SR>0) kmREFUELING=((float)Fuel*100.0)/(float)L100SR; //если средний расход больше нуля, то расчитывать км в баке из него else kmREFUELING=((float)Fuel*100.00)/(float)L100SR_TFT; //если ноль или ментше то расчитывать км в баке с устредненного расхода // тут записываем L100SR последовательно в одну из 11 ячеек еепром //EEPROM.write (12,n_eeprom); // ЗДЕСЬ ВНИМАТЕЛЬНО. ЗАГРУЗИТЬ ПРОШИВКУ С ЭТОЙ СТРОКОЙ ОДИН РАЗ, ПОТОМ ЗАКОМЕНТИРОВАТЬ И ЕЩЁ РАЗ ЗАГРУЗИТЬ n_eeprom = EEPROM.read (12); // в ячейке 12 хранится № текущей ячейки для записи расхода, чтобы где остановился при выкл питания, от туда и продолжил EEPROM.write(n_eeprom, L100SR*10); n_eeprom++; if (n_eeprom>10) n_eeprom=0; EEPROM.write (12,n_eeprom); }}} void fastinit() { digitalWrite (TX_PCM, HIGH); // bus idle delay(1500); digitalWrite (TX_PCM, LOW); // first part fastinit (25 ms LOW) delay(25); digitalWrite (TX_PCM, HIGH); // second part fastinit (25 ms HIGH) delay(25); K_LINE_PCM.begin(10400); sendMessagePCM(INIT); // send start communication message } void receivePCM () { if (K_LINE_PCM.available() ){ // первый старт байт if (header == 0 && Delay){TIMER_DELAY ; MessageRx_PCM[0]=K_LINE_PCM.read(); if (MessageRx_PCM[0]!=0xFF && bitRead (MessageRx_PCM[0],7)){header = 1; RESETheader_timer = 1; prevRESETheader = curmillis; #ifdef debugPCM Serial.print (F("Receive PCM: ")); printDebugRX(MessageRx_PCM[0]); #endif } } // второй старт байт if (header == 1 && Delay){TIMER_DELAY ; MessageRx_PCM[1]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX (MessageRx_PCM[1]); #endif if (MessageRx_PCM[1]==DIAG_address){ header = 2;} else { #ifdef debugPCM Serial.println(F(" PCM Message fail address")); #endif header = 0; RESETheader_timer = 0;}} // третий старт байт if (header == 2 && Delay){ TIMER_DELAY ; MessageRx_PCM[2]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX (MessageRx_PCM[2]); #endif if (MessageRx_PCM[2]==PCM_address){ message_size = MessageRx_PCM[0]; prevRESETheader = curmillis; if (MessageRx_PCM[0] !=0x80) {header = 4; bitWrite (message_size, 7 , 0);j=3;n=3;} else {header = 3; j=4;n=4;} if (message_size > bufsize) message_size = bufsize; crc = 0;} else {header = 0; #ifdef debugPCM Serial.println(F("PCM Message fail address")); #endif RESETheader_timer = 0;} } // если размер сообщения указан в дополнительном байте (нулевой байт 0x80) читаем этот дополнительный байт: if (header == 3 && Delay){ TIMER_DELAY ; prevRESETheader = curmillis; MessageRx_PCM[3]=K_LINE_PCM.read(); #ifdef debugPCM printDebugRX(MessageRx_PCM[3]); #endif message_size = MessageRx_PCM[3]; if (message_size > bufsize) message_size = bufsize; crc = 0; header = 4; } // пишем тело сообщения if (header == 4 && Delay && j< message_size+n+1) { MessageRx_PCM[j] = K_LINE_PCM.read(); prevRESETheader = curmillis; if (j<message_size+n) crc+= MessageRx_PCM[j]; // подсчёт КС if (j==message_size+n) header = 5; TIMER_DELAY ; #ifdef debugPCM printDebugRX(MessageRx_PCM[j]); #endif j++; } } // сообщение приняли, действуем if (header == 5) {TIMER_DELAY ; #ifdef debugPCM Serial.println(); #endif NOanswer_timer = 0; noanswers = 0; // сбрасываем таймер контроля неответов for(byte i = 0; i<n; i++) crc+=MessageRx_PCM[i]; // прибавляем к контрольной сумме старт байты // если контрольная сумма верна: if ( crc == MessageRx_PCM[message_size+n]) { #ifdef debugPCM Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем printDebugRX_CSgood(); #endif if (MessageRx_PCM[n]==0xC1 && MessageRx_PCM[n+1]==0x6B && MessageRx_PCM[n+2]==0x8F) { if (currentPage!=3) {request = PID; RequestPeriod = 70;} else request = PRESENT, RequestPeriod = 4000; prevRequest = curmillis; // receive good INIT } else if (MessageRx_PCM[n]==0x58) Troublecodes (); // DTC else if (MessageRx_PCM[n]==0x54 && MessageRx_PCM[n+1]==0xFF && MessageRx_PCM[n+2]==0x00){ request = PRESENT; RequestPeriod = 4000; prevRequest = curmillis;} // DTC are cleared else if (MessageRx_PCM[n]==0x61 && MessageRx_PCM[n+1]==0x01) {dataVars() ; RequestPeriod = 70; prevRequest = curmillis; } // receive DataStream } // если контрольная сумма не совпала: #ifdef debugPCM else Serial.println("CRC fail!!!" ); #endif message_size = 0; header=0; RESETheader_timer = 0; j=3; crc = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!Delay && curmillis - timerdelay > waitbyte_RX) Delay = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timer && curmillis - prevRESETheader > 200) { #ifdef debugPCM Serial.println(F("Message fail timeout")); #endif RESETheader_timer = 0; header = 0;} // если нет ответа после запроса: +1 к счетчику неответов. Если накопилось 6 и более: делаем реинит. if (request!=INIT && NOanswer_timer && curmillis - prev_NOanswer > RequestPeriod - RequestPeriod/10) { NOanswer_timer = 0; noanswers++; if (noanswers>=6) { noanswers = 0; request = INIT; RequestPeriod = 3500;} } }// end receivePCM void Troublecodes () { if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]==0x00){ myGLCD.clrScr(); drawscreen_three(); myGLCD.print("NO DTC", 180, 145); } // при получении сообщения о наличии ошибок DTC разберем сообщение выведем на экран ошибки if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]>0){ myGLCD.clrScr(); drawscreen_three(); for (int i=0; i<MessageRx_PCM[n+8-7]; i++ ) { int y = i*35; bool nolA=0; bool nolB =0; if (!bitRead(MessageRx_PCM[n+11-7+(i*3)],6) && bitRead(MessageRx_PCM[n+11-7+(i*3)],7)){ myGLCD.setTextColor(GREEN, BLACK); myGLCD.print(" -Passive-", 300, (75+y));} // если DTC пасивныый делаем цвет зеленый if (bitRead(MessageRx_PCM[n+11-7+(i*3)],7) && bitRead(MessageRx_PCM[n+11-7+(i*3)],6)) { myGLCD.setTextColor(RED, BLACK); myGLCD.print(" -Active-", 300, (75+y));} // если DTC активный, делаем цвет красный myGLCD.print("ERROR ", 50, (75+y)); myGLCD.printNumI((i+1), 150, (75+y)); if (!bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && !bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": P", 170, (75+y)); if (bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && !bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": C", 170, (75+y)); if (!bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": B", 170, (75+y)); if (bitRead(MessageRx_PCM[n+9-7+(i*3)],6) && bitRead(MessageRx_PCM[n+9-7+(i*3)],7)) myGLCD.print(": U", 170, (75+y)); if (MessageRx_PCM[n+9-7+(i*3)]==0x00) {myGLCD.print("00", 230, (75+y)); nolA = 1;} if (MessageRx_PCM[n+9-7+(i*3)]<=0x0F&&MessageRx_PCM[n+9-7+(i*3)]!=0) {myGLCD.print("0", 230, (75+y)); nolA = 1;} if (nolA)myGLCD.print(String (MessageRx_PCM[n+9-7+(i*3)],HEX), 246, (75+y)); else myGLCD.print(String (MessageRx_PCM[n+9-7+(i*3)],HEX), 230, (75+y)); if (MessageRx_PCM[n+10-7+(i*3)]==0x00) {myGLCD.print("00", 262, (75+y)); nolB = 1;} if (MessageRx_PCM[n+10-7+(i*3)]<=0x0F&&MessageRx_PCM[n+10-7+(i*3)]!=0) {myGLCD.print("0", 262, (75+y)); nolB = 1;} if (nolB)myGLCD.print(String (MessageRx_PCM[n+10-7+(i*3)]),HEX, 278, (75+y)); else myGLCD.print(String (MessageRx_PCM[n+10-7+(i*3)],HEX), 262, (75+y));}} request = PRESENT; RequestPeriod = 4000; prevRequest = curmillis; } void dataVars() { //Barom = MessageRx_PCM[39]; L100 = (float)LHor*100.0/(float)Speed; LHor = (float)RPM* (float)InjQua*2.00/1000.0*60.00/1000.0/0.85; MAF = ((MessageRx_PCM[n+22]*256)+MessageRx_PCM[n+23])/10; BoostPres = ((MessageRx_PCM[n+24]*256)+MessageRx_PCM[n+25])/1000.0; RPM = (MessageRx_PCM[n+35-7]*256)+MessageRx_PCM[n+36-7]; EGRmg = ((MessageRx_PCM[n+37-7]*256)+MessageRx_PCM[n+38-7])/10.0; BoostPresCom = ((MessageRx_PCM[n+41-7]*256)+MessageRx_PCM[n+42-7])/1000.0; Speed = ((MessageRx_PCM[n+47-7]*256)+MessageRx_PCM[n+48-7])/100; DesaInjQua = ((MessageRx_PCM[n+53-7]*256)+MessageRx_PCM[n+54-7])/100.0; InjQua = ((MessageRx_PCM[n+55-7]*256)+MessageRx_PCM[n+56-7])/100.0; StaDaliv = ((MessageRx_PCM[n+57-7]*256)+MessageRx_PCM[n+58-7])/100.0; PumpRPM = (MessageRx_PCM[n+59-7]*256)+MessageRx_PCM[n+60-7]; EGRPul = ((MessageRx_PCM[n+65-7]*256)+MessageRx_PCM[n+66-7])/100.0; SolenPul = ((MessageRx_PCM[n+67-7]*256)+MessageRx_PCM[n+68-7])/100.0; SolenPre = ((MessageRx_PCM[n+73-7]*256)+MessageRx_PCM[n+74-7])/100.0; DesInj = ((MessageRx_PCM[n+75-7]*3)+(MessageRx_PCM[n+76-7])/100.0)+0.3; ActInj = ((MessageRx_PCM[n+19-7]*3)+(MessageRx_PCM[n+20-7])/100.0)+0.3; //TempAir = ((MessageRx_PCM[n+77-7]*26)-278)+MessageRx_PCM[n+78-7]/10.0; //Temp = ((MessageRx_PCM[n+17-7]*26)-278)+MessageRx_PCM[n+18-7]/10.0; //TempOil = ((MessageRx_PCM[n+21-7]*26)-278)+MessageRx_PCM[n+22-7]/10.0; //TempFuel = ((MessageRx_PCM[n+61-7]*26)-278)+MessageRx_PCM[n+62-7]/10.0; //ниже идут расчетные формулы более точные чем те что закоментированы выше int A = 0; if (MessageRx_PCM[n+77-7]<=0x0A) A = 277; if (MessageRx_PCM[n+77-7]==0x0B || MessageRx_PCM[n+77-7]==0x0C) A = 278; if (MessageRx_PCM[n+77-7]>=0x0D) A = 279; double B = MessageRx_PCM[n+78-7]/10.0; double cel , drob ; drob = modf(B, &cel); if (drob>0.6) cel++; TempAir = ((MessageRx_PCM[n+77-7]*26)-A)+cel; if (MessageRx_PCM[n+17-7]<=0x0A) A = 277; if (MessageRx_PCM[n+17-7]==0x0B || MessageRx_PCM[n+17-7]==0x0C) A = 278; if (MessageRx_PCM[n+17-7]>=0x0D) A = 279; B = MessageRx_PCM[n+18-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; Temp = ((MessageRx_PCM[n+17-7]*26)-A)+cel; if (MessageRx_PCM[n+21-7]<=0x0A) A = 277; if (MessageRx_PCM[n+21-7]==0x0B || MessageRx_PCM[n+21-7]==0x0C) A = 278; if (MessageRx_PCM[n+21-7]>=0x0D) A = 279; B = MessageRx_PCM[n+22-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; TempOil = ((MessageRx_PCM[n+21-7]*26)-A)+cel; if (MessageRx_PCM[n+61-7]<=0x0A) A = 277; if (MessageRx_PCM[n+61-7]==0x0B || MessageRx_PCM[n+61-7]==0x0C) A = 278; if (MessageRx_PCM[n+61-7]>=0x0D) A = 279; B = MessageRx_PCM[n+62-7]/10.0; drob = modf(B, &cel); if (drob>0.6) cel++; TempFuel = ((MessageRx_PCM[n+61-7]*26)-A)+cel; //---------------------------------------------------------- //страниц HOME //---------------------------------------------------------- //myGLCD.setBackColor(RED); myGLCD.setTextColor(WHITE, BLACK); //myGLCD.setBackColor(RED); if ((Speed != Speed_last) || reNew) {myGLCD.printNumI(Speed, 360, 7, 3); Speed_last=Speed;} if (currentPage == '0') { if ((LHor != LHor_last) || reNew) {myGLCD.printNumF(LHor, 1, 75, 40, '.',4); LHor_last=LHor;} if ((L100 != L100_last) || reNew) {myGLCD.printNumF(L100, 1, 225, 40,'.',4 ); L100_last=L100;} if ((L100M != L100M_last) || reNew) {myGLCD.printNumF(L100M, 1, 75, 75,'.',4 ); L100M_last=L100M;} if ((L100SR_TFT != L100SR_TFT_last) || reNew) {myGLCD.printNumF(L100SR_TFT, 1, 225, 75,'.',4 ); L100SR_TFT_last=L100SR_TFT;} if ((kmREFUELING != kmREFUELING_last) || reNew) {myGLCD.printNumI(kmREFUELING, 90, 110,3 ); kmREFUELING_last=kmREFUELING;} //if (Fuel<53) if ((Fuel != Fuel_last) || reNew) {myGLCD.printNumF(Fuel, 1, 225, 110,'.',4); Fuel_last=Fuel;} //else myGLCD.print("MAX", 210, 110); if ((kmTrip != kmTrip_last) || reNew) {myGLCD.printNumF(kmTrip, 1, 60, 145,'.',5); kmTrip_last=kmTrip;} if ((FuelTrip != FuelTrip_last) || reNew) {myGLCD.printNumF(FuelTrip, 1, 210, 145,'.',5); FuelTrip_last=FuelTrip;} if ((PumpRPM != PumpRPM_last) || reNew) {myGLCD.printNumI(PumpRPM, 230, 180,4); PumpRPM_last=PumpRPM;} if ((RPM != RPM_last) || reNew) {myGLCD.printNumI(RPM, 230, 215,4); RPM_last=RPM;} if ((Fuel2 != Fuel2_last) || reNew) {myGLCD.printNumF(Fuel2, 1, 10, 215,'.',4); Fuel2_last=Fuel2;} if ((Temp != Temp_last) || reNew) {myGLCD.printNumI(Temp, 415, 40, 3); Temp_last=Temp;} if ((TempOil != TempOil_last) || reNew) {myGLCD.printNumI(TempOil, 415, 75, 3); TempOil_last=TempOil;} if ((TempFuel != TempFuel_last) || reNew) {myGLCD.printNumI(TempFuel, 415, 110,3); TempFuel_last=TempFuel;} //myGLCD.printNumI(sensors.getTempCByIndex(0), 415, 145 , 3); if ((t != t_last) || reNew) {myGLCD.printNumI(t, 415, 180, 3); t_last=t;} if ((TempAir != TempAir_last) || reNew) {myGLCD.printNumI(TempAir, 415, 215, 3); TempAir_last=TempAir;} reNew = 0; } //---------------------------------------------------------- //страниц INF1 //---------------------------------------------------------- if (currentPage == '1') { if ((StaDaliv != StaDaliv_last) || reNew) {myGLCD.printNumF(StaDaliv,1, 385, 40,'.', 4); StaDaliv_last=StaDaliv;} if ((DesInj != DesInj_last) || reNew) {myGLCD.printNumF(DesInj,1, 385, 75, '.', 4); DesInj_last=DesInj;} if ((ActInj != ActInj_last) || reNew) {myGLCD.printNumF(ActInj,1, 385, 110,'.', 4); ActInj_last=ActInj;} if ((DesaInjQua != DesaInjQua_last) || reNew) {myGLCD.printNumF(DesaInjQua,1, 385, 145,'.', 4);DesaInjQua_last=DesaInjQua;} if ((InjQua != InjQua_last) || reNew) {myGLCD.printNumF(InjQua,1, 385, 180,'.', 4); InjQua_last=InjQua;} if ((MAF != MAF_last) || reNew) {myGLCD.printNumI(MAF, 170, 215, 4); MAF_last=MAF;} if ((h != h_last) || reNew) {myGLCD.printNumF(h, 1, 430, 215, 3); h_last=h;} reNew = 0; } //---------------------------------------------------------- //страниц INF2 //---------------------------------------------------------- if (currentPage == '2') { if ((BoostPres != BoostPres_last) || reNew) {myGLCD.printNumF(BoostPres,1, 400, 40,'.', 4); BoostPres_last=BoostPres;} if ((BoostPresCom != BoostPresCom_last) || reNew) {myGLCD.printNumF(BoostPresCom,1, 400, 75,'.', 4); BoostPresCom_last=BoostPresCom;} if ((EGRmg != EGRmg_last) || reNew) {myGLCD.printNumI(EGRmg, 400, 110, 4); EGRmg_last=EGRmg;} if ((EGRPul != EGRPul_last) || reNew) {myGLCD.printNumF(EGRPul,1, 400, 145,'.', 4); EGRPul_last=EGRPul;} if ((SolenPul != SolenPul_last) || reNew) {myGLCD.printNumF(SolenPul, 1, 400, 180,'.', 4); SolenPul_last=SolenPul;} if ((SolenPre != SolenPre_last) || reNew) {myGLCD.printNumF(SolenPre, 0, 400, 215,'.', 4); SolenPre_last=SolenPre;} reNew = 0; } //reNew = 0; } void sendMessagePCM(const byte &command) { #ifdef debugPCM Serial.print (F("Send request ")); Serial.print (textRequest[command]); Serial.print (F(" to PCM ")); Serial.println (millis()); #endif if (command != INIT) {NOanswer_timer = 1; prev_NOanswer = curmillis;} //т.к. сейчас будем делать запрос, то запускаем таймер контроля неответов byte size = PCM_Message_TX[command][0]; const byte siZe = size+4; byte Mes[siZe]; byte Checksum = 0; for(byte i=0; i<siZe; i++) { if (i==0) {Mes[i]=size; bitWrite(Mes[i], 7 , 1);} if (i==1) Mes[i] = PCM_address; if (i==2) Mes[i] = DIAG_address; if (i==3) {for (byte t=1; t<size+1; t++ ) { Mes[i]=PCM_Message_TX [command][t]; Checksum+=Mes[i] ; K_LINE_PCM.write (Mes[i]); if (command == INIT) delay (5); else delay (delaybyte_TX); K_LINE_PCM.read(); i++;}} if (i!=siZe-1) Checksum+=Mes[i]; else Mes[i] = Checksum; K_LINE_PCM.write (Mes[i]); if (command == INIT) delay (5); else delay (delaybyte_TX); K_LINE_PCM.read(); } }// end sendMessagePCM void receiveGAUGE () { if (K_LINE_GAUGE.available() ){ // первый старт байт if (headerGAUGE == 0 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[0]=K_LINE_GAUGE.read(); if ((InitGauge ==1 && MessageRx_GAUGE[0]==0x55) || (InitGauge ==2 && MessageRx_GAUGE[0]!=0xFF && MessageRx_GAUGE[0]!=0x7F) || (InitGauge ==3 && MessageRx_GAUGE[0]!=0xFF && MessageRx_GAUGE[0]!=0x7F) ) {headerGAUGE = 1; RESETheader_timerGAUGE = 1; prevRESETheaderGAUGE = curmillis; #ifdef debugGAUGE Serial.print (F("Receive GAUGE: ")); printDebugRX(MessageRx_GAUGE[0]); #endif } } // второй старт байт if (headerGAUGE == 1 && DelayGAUGE){TIMER_DELAYGAUGE ; MessageRx_GAUGE[1]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[1]); #endif if ( (InitGauge ==1 && MessageRx_GAUGE[1]==0x52) || (InitGauge ==2 && (MessageRx_GAUGE[1]==0xA0 || MessageRx_GAUGE[1]==0xF0)) || (InitGauge == 3 && MessageRx_GAUGE[1]==0xA1)){ headerGAUGE = 2;} else { #ifdef debugGAUGE Serial.println(F(" GAUGE Message fail address")); #endif headerGAUGE = 0; RESETheader_timerGAUGE = 0;}} // третий старт байт if (headerGAUGE == 2 && DelayGAUGE){ TIMER_DELAYGAUGE ; MessageRx_GAUGE[2]=K_LINE_GAUGE.read(); #ifdef debugGAUGE printDebugRX (MessageRx_GAUGE[2]); #endif if ((InitGauge ==2 && (MessageRx_GAUGE[2]==0x48 || MessageRx_GAUGE[2]==0x55 || MessageRx_GAUGE[2]==0xAA)) || (InitGauge == 3 && MessageRx_GAUGE[2]==0x04)){ message_sizeGAUGE = MessageRx_GAUGE[0]-2; prevRESETheaderGAUGE = curmillis; headerGAUGE = 4; jGAUGE=3; nGAUGE=3; if (message_sizeGAUGE > bufsizeG) message_sizeGAUGE = bufsizeG; ChecksumGAUGE = 0;} else if (InitGauge ==1 && MessageRx_GAUGE[2]==0x80) {InitGauge = 2; K_LINE_GAUGE.write(0x7F); delay (2); K_LINE_GAUGE.read(); headerGAUGE = 0; RESETheader_timerGAUGE = 0; #ifdef debugGAUGE Serial.println ("Gauge INIT is good!"); #endif } else {headerGAUGE = 0; #ifdef debugGAUGE Serial.println(F("GAUGE Message fail address")); #endif RESETheader_timerGAUGE = 0;} } // пишем тело сообщения if (headerGAUGE == 4 && DelayGAUGE && jGAUGE< message_sizeGAUGE+nGAUGE+1) { MessageRx_GAUGE[jGAUGE] = K_LINE_GAUGE.read(); prevRESETheaderGAUGE = curmillis; if (jGAUGE<message_sizeGAUGE+nGAUGE-1) ChecksumGAUGE+= MessageRx_GAUGE[jGAUGE]; // подсчёт КС if (jGAUGE==message_sizeGAUGE+nGAUGE) headerGAUGE = 5; TIMER_DELAYGAUGE ; #ifdef debugGAUGE printDebugRX(MessageRx_GAUGE[jGAUGE]); #endif jGAUGE++; } } // сообщение приняли, действуем if (headerGAUGE == 5) {TIMER_DELAYGAUGE ; #ifdef debugGAUGE Serial.println(); #endif for(byte i = 0; i<nGAUGE; i++) ChecksumGAUGE+=MessageRx_GAUGE[i]; // прибавляем к контрольной сумме старт байты int ChecksumG = ( ( unsigned int )MessageRx_GAUGE[message_sizeGAUGE+nGAUGE-1] << 8 ) | MessageRx_GAUGE[message_sizeGAUGE+nGAUGE]; // парсинг контрольной суммы из 2 последних байт // если контрольная сумма верна: if ( ChecksumGAUGE == ChecksumG) { NoconnectsGAUGE = 0; // сбрасываем на 0 отсутствие связи с панелью #ifdef debugGAUGE Serial.print (F("Received message is OK! Checksum is correct!")); Serial.print (F(" ")); Serial.println (millis()); // Если КС совпала, тут чёнибудь нужное делаем #endif if (MessageRx_GAUGE[1]== 0xA0 && MessageRx_GAUGE[2]== 0x48) { #ifdef debugGAUGE Serial.println ("ID panel receive! Send request PIDGauge"); #endif InitGauge = 3; for (byte i=0; i<sizeof(PIDgauge); i++) { K_LINE_GAUGE.write (PIDgauge[i]); delay (1); K_LINE_GAUGE.read();} } if (MessageRx_GAUGE[1]== 0xF0 && (MessageRx_GAUGE[2]== 0xAA || MessageRx_GAUGE[2]== 0x55)) { #ifdef debugGAUGE Serial.println ("receive present from Gauge. I send PID to Gauge"); #endif InitGauge = 3; for (byte i=0; i<sizeof(PIDgauge); i++) { K_LINE_GAUGE.write (PIDgauge[i]); delay (1); K_LINE_GAUGE.read();} } if (MessageRx_GAUGE[1]== 0xA1 && MessageRx_GAUGE[2]== 0x04) { #ifdef debugGAUGE Serial.println (" receive Datastream Gauge!"); #endif Fuel2 = MessageRx_GAUGE[nGAUGE + 16]/2.0; if (!flagFuelIGN) { Fuel = MessageRx_GAUGE[nGAUGE + 16]/2.0; kmREFUELING=((float)Fuel*100.00)/(float)L100SR_TFT;} //стартовая запись литров в баке для подсчета затраченных литро else Fuel = MessageRx_GAUGE[nGAUGE + 17]/2.0; //для усреднения болтания в баке закоментировать эту строку, а раскоментировать ниже //для усреднения болтания топлива в баке, раскоментировать, высчитывает среднее /*else { FuelZamer[ZamerNumber] = MessageRxGauge[17]/2.00; if (ZamerNumber==9) { Fuel = 0 ; for (int i = 0; i < 10; i++) Fuel = Fuel + FuelZamer[i]; Fuel = (float)Fuel/10.0;} ZamerNumber++; if (ZamerNumber>9) ZamerNumber = 0;} */ kmAge = (MessageRx_GAUGE[nGAUGE + 23]+(MessageRx_GAUGE[nGAUGE + 24]*256))/10.0; //суточный пробег с панели приборов //бак у меня на 59 литров, а датчик показывает максимально 53 литра. для этого эта формула //если у вас тоже датчик имеет лимит то подправте 53 на свой лимит. //если ваш датчик показывает одинаково с полным баком то закоментировать три нижние строки. if (Fuel<53){ if (!flagkmAgeIGN) { kmAgeIGN = kmAge; flagkmAgeIGN =1;} if (!flagFuelIGN) { FuelIGN = Fuel; Fuel_last = Fuel; flagFuelIGN = 1;}} } } // если контрольная сумма не совпала: #ifdef debugGAUGE else Serial.println("CRC fail!!!" ); #endif message_sizeGAUGE = 0; headerGAUGE=0; RESETheader_timerGAUGE = 0; jGAUGE=3; ChecksumGAUGE = 0; } // таймер ожидания байт (для успевания появления данных в буфере UART) if (!DelayGAUGE && curmillis - timerdelayGAUGE > waitbyte_RX_GAUGE) DelayGAUGE = 1; // таймер сброса целостности сообщения (если данные оборвались посередине сообщения) if (RESETheader_timerGAUGE && curmillis - prevRESETheaderGAUGE > 1000) { #ifdef debugGAUGE Serial.println(F("Message fail timeout")); #endif RESETheader_timerGAUGE = 0; headerGAUGE = 0;} if (curmillis - prevNoconnect > 500) {NoconnectsGAUGE ++ ; if (NoconnectsGAUGE>=8){ #ifdef debugGAUGE Serial.println (F(" Connect GAUGE failed!!! ")) ; #endif NoconnectsGAUGE = 0 ;InitGauge = 0 ; } prevNoconnect = curmillis; } InitBusGAUGE (); }// end receiveGAUGE void InitBusGAUGE () { if (InitGauge == 0){ #ifdef debugGAUGE Serial.println ("Send startsession - address Gauge"); #endif K_LINE_GAUGE.end(); pinMode(TX_gauge, OUTPUT); digitalWrite (TX_gauge, HIGH); // BUS IDLE InitGauge = 5; prevInitbusGauge = curmillis; } if (InitGauge == 5 && curmillis - prevInitbusGauge>1500) {InitGauge = 6;} // BUS IDLE if (InitGauge == 6) { byte boudrate = 1000/BAUD; digitalWrite (TX_gauge, LOW); delay (boudrate); // старт бит for (byte i=0; i<8; i++){digitalWrite (TX_gauge, bitRead(addressGUAGE, i)); delay (boudrate);} // биты тела адреса digitalWrite (TX_gauge, HIGH); delay (boudrate); // стоп бит K_LINE_GAUGE.begin(9600); InitGauge = 1; } } #if defined debugPCM or defined debugGAUGE void printDebugRX (const byte &inbyte) {if (inbyte<=15) Serial.print(F("0")); Serial.print (inbyte, HEX); Serial.print (F(" "));} #endif #ifdef debugPCM void printDebugRX_CSgood(){ if (MessageRx_PCM[n]==0xC1 && MessageRx_PCM[n+1]==0x6B && MessageRx_PCM[n+2]==0x8F) {Serial.println (F(" Initialization OK!!!!")); } else if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1]==0x00) {Serial.println (F(" NO DTC "));} else if (MessageRx_PCM[n]==0x58 && MessageRx_PCM[n+1] >0x00) {Serial.println (F(" DTC is found!"));} else if (MessageRx_PCM[n]==0x54 && MessageRx_PCM[n+1]==0xFF && MessageRx_PCM[n+2]==0x00){Serial.println (F(" DTC CLEARED "));} else if (MessageRx_PCM[n]==0x61 && MessageRx_PCM[n+1]==0x01) {Serial.println (F(" Receive PCM DATAstream"));}} #endif void Menu () { TouchHOME(); if (currentPage == '0') { TouchINF1(); TouchINF2(); TouchCHECK(); } if (currentPage == '1') { TouchINF2(); TouchCHECK(); } if (currentPage == '2') { TouchINF1(); TouchCHECK(); } if (currentPage == '3') { TouchREAD(); TouchERASE(); }} void drawHomeScreen() { line() ; Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.drawLine(295,35,295,248); // линия вертикальная myGLCD.drawLine(145,35,145,178); // линия вертикальная myGLCD.drawLine(80,178,80,247); // линия вертикальная myGLCD.print("L/H", 10, 40); myGLCD.print("L/A", 148, 40); myGLCD.print("L/V", 10, 75); myGLCD.print("L/M", 148, 75); myGLCD.print("D/K", 10, 110); myGLCD.print("D/L", 148, 110); myGLCD.print("V/K", 10, 145); myGLCD.print("V/L", 148, 145); myGLCD.print("PUMP RPM", 82, 180); myGLCD.print("ENGI RPM", 82, 215); myGLCD.print("D/L/A", 10, 180); myGLCD.print("Motor C", 300, 40); myGLCD.print("OIL C", 300, 75); myGLCD.print("FUEL C", 300, 110); myGLCD.print("INTER C", 300, 145); myGLCD.print("EXTER C", 300, 180); myGLCD.print("INTAIR C", 300, 215); //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("INF 1", 55, 270); myGLCD.drawRoundRect (175, 255, 305, 310); myGLCD.print("INF 2", 215, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //------------------------------------------------- void drawscreen_one() { line() ; Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.print("Start of Delivery *CA:", 10, 40); myGLCD.print("Desir inject Start *CA:", 10, 75); myGLCD.print("Actua Inject Start *CA:", 10, 110); myGLCD.print("Desir Inject Quan mg/s:", 10, 145); myGLCD.print("Actu Inject Quant mg/s:", 10, 180); myGLCD.print("MAF mg/s:", 10, 215); myGLCD.print("Humedad %:", 255, 215); //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (175, 255, 305, 310); myGLCD.print("INF 2", 215, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //------------------------------------------------- void drawscreen_two() { line() ; Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии и текста красный myGLCD.print("Boost Press Bar:", 10, 40); myGLCD.print("Boost Press Com Bar:", 10, 75); myGLCD.print("EGR command mg/s:", 10, 110); myGLCD.print("EGR Pulse Ratio %:", 10, 145); myGLCD.print("Solenoide Pulse %:", 10, 180); myGLCD.print("Solenoide Boost %:", 10, 215); //myGLCD.setColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("INF 1", 55, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("CHECK", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 7); myGLCD.print("Km/h", 410, 7); reNew = 1; } //---------------------------------------------------------------------------- void drawscreen_three() { Watch (); //myGLCD.print(":", 290, 5); myGLCD.print("/", 115, 7); myGLCD.print("/", 160, 7); myGLCD.setTextColor(RED, BLACK); // цвет линии красный myGLCD.drawLine(1,35,479,35); // линия горизонтальная myGLCD.drawLine(1,248,479,248); // линия горизонтальная //myGLCD.setTextColor(RED); myGLCD.drawRoundRect (15, 255, 145, 310); myGLCD.print("ERASE", 55, 270); myGLCD.drawRoundRect (335, 255, 465, 310); myGLCD.print("READ", 365, 270); myGLCD.drawRoundRect (1, 1, 77, 37); myGLCD.print("HOME", 10, 5); reNew = 1; } ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //кнопки тач . координаты и переходы ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void TouchHOME(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) {if (p.x > 140 && p.x < 320 && p.y > 140 && p.y < 260 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (1, 1, 77, 37); currentPage = '0'; request = PID; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawHomeScreen(); x = 0; y = 0; p.z = 0;}}} void TouchINF1(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 150 && p.x < 450 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (15, 255, 145, 310); currentPage = '1'; request = PID; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawscreen_one(); x = 0; y = 0; p.z = 0;}}} void TouchINF2(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 450 && p.x < 680 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (175, 255, 305, 310); currentPage = '2'; request = PID; RequestPeriod = 600; prevRequest = curmillis; // на PCM в этом окне посылается запрос текущих параметров myGLCD.clrScr(); drawscreen_two(); x = 0; y = 0; p.z = 0;}}} void TouchCHECK(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 690 && p.x < 950 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (335, 255, 465, 310); currentPage = '3'; // request = DTCREAD; RequestPeriod = 10; prevRequest = curmillis; // на PCM в этом окне посылается запрос чтения ошибок myGLCD.clrScr(); drawscreen_three(); x = 0; y = 0; p.z = 0;}}} void TouchREAD(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 690 && p.x < 950 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) { myGLCD.drawRoundRect (335, 255, 465, 310); request = DTCREAD; RequestPeriod = 300; prevRequest = curmillis; // на PCM при нажатии этой кнопки посылается запрос чтения ошибок x = 0; y = 0; p.z = 0;}}} void TouchERASE(){ TSPoint p = ts.getPoint(); pinMode(XM, OUTPUT); pinMode(YP, OUTPUT); if (p.z > 10 && p.z < 1000) { if (p.x > 150 && p.x < 450 && p.y > 770 && p.y < 890 && p.z > MINPRESSURE && p.z < MAXPRESSURE) {myGLCD.drawRoundRect (15, 255, 145, 310); request = DTCERASE; RequestPeriod = 300; prevRequest = curmillis; // на PCM при нажатии этой кнопки посылается запрос удаления ошибок myGLCD.clrScr(); drawscreen_three(); myGLCD.print("DTC BORRADO", 180, 145); x = 0; y = 0; p.z = 0;}}} //////////////////////////////////////////////////////////////////////////////////////// //прорисовка линий /////////////////////////////////////////////////////////////////////////////////////// void line() { //myGLCD.setTextColor(RED); // цвет линии красный myGLCD.drawLine(1,35,479,35); // линия горизонтальная myGLCD.drawLine(1,73,479,73); // линия горизонтальная myGLCD.drawLine(1,108,479,108); // линия горизонтальная myGLCD.drawLine(1,143,479,143); // линия горизонтальная myGLCD.drawLine(1,178,479,178); // линия горизонтальная myGLCD.drawLine(1,212,479,212); // линия горизонтальная myGLCD.drawLine(1,248,479,248); // линия горизонтальная } void Watch (){ DateTime now = rtc.now(); int minut = now.minute(); int hour = now.hour(); int mon = now.month(); int date = now.day(); int Year = now.year(); static int minut_last; static int hour_last; static int mon_last; static int date_last; static int Year_last; myGLCD.setTextColor(WHITE, BLACK); //белый цвет цифры if (date != date_last || reNew){ myGLCD.printNumI(date, 85, 7, 2, '0'); date_last = date; } if (mon!=mon_last || reNew){myGLCD.printNumI(mon, 130, 7, 2, '0'); mon_last = mon; } if (Year!=Year_last || reNew) { myGLCD.printNumI(Year, 175, 7); Year_last = Year; } if (hour!=hour_last || reNew){ myGLCD.printNumI(hour, 255, 7, 2, '0'); hour_last = hour; } if (minut!=minut_last || reNew ){ myGLCD.printNumI(minut, 300, 7, 2, '0'); minut_last = minut; } }панель не показывает идет сбой вот отчет
Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 Message fail timeout Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 GAUGE Message fail address Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 14991 ID panel receive! Send request PIDGauge Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 31 GAUGE Message fail address Receive GAUGE: 2D 20 GAUGE Message fail address Receive GAUGE: 34 35 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 32 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 02 2E GAUGE Message fail address Receive GAUGE: 68 00 GAUGE Message fail address Receive GAUGE: F3 82 GAUGE Message fail address Receive GAUGE: FE 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 31 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 10 GAUGE Message fail address Receive GAUGE: 01 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 10 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 10 06 GAUGE Message fail address Receive GAUGE: F0 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 06 06 GAUGE Message fail address Receive GAUGE: F0 10 GAUGE Message fail address Receive GAUGE: 01 06 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 10 GAUGE Message fail address Receive GAUGE: 06 55 GAUGE Message fail address Receive GAUGE: 01 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 26486 ID panel receive! Send request PIDGauge Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 34 GAUGE Message fail address Receive GAUGE: 39 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 02 GAUGE Message fail address Receive GAUGE: CC C4 GAUGE Message fail address Receive GAUGE: 06 6E GAUGE Message fail address Receive GAUGE: 60 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 06 GAUGE Message fail address Receive GAUGE: F0 10 GAUGE Message fail address Receive GAUGE: 01 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: F0 06 GAUGE Message fail address Receive GAUGE: F0 14 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 14 GAUGE Message fail address Receive GAUGE: 06 10 GAUGE Message fail address Receive GAUGE: 01 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 10 F0 GAUGE Message fail address Receive GAUGE: 14 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 06 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 Connect GAUGE failed!!! Send startsession - address Gauge Message fail timeoutзакоментируй GAUGE отладку и раскоментируй PCM (вверху скетча), посмотрим как PCM себя ведёт
вроде все ок вот
Send request INIT to PCM 10681 Receive PCM: 83 F1 11 C1 6B 8F 40 Received message is OK! Checksum is correct! 11468 Initialization OK!!!! Send request PID_2101 to PCM 11540 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6B 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 48 03 A2 00 02 14 Received message is OK! Checksum is correct! 11756 Receive PCM DATAstream Send request PID_2101 to PCM 14865 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 AD 08 01 20 00 00 01 85 0C 48 03 A2 00 02 15 Received message is OK! Checksum is correct! 15068 Receive PCM DATAstream Send request PID_2101 to PCM 15284 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BA 00 00 0C F2 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 12 Received message is OK! Checksum is correct! 15541 Receive PCM DATAstream Send request PID_2101 to PCM 15757 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BA 00 00 0C F2 A0 00 01 90 00 00 AD 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 12 Received message is OK! Checksum is correct! 16051 Receive PCM DATAstream Send request PID_2101 to PCM 16267 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BA 00 00 0C F2 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 48 03 A2 00 02 0C Received message is OK! Checksum is correct! 16476 Receive PCM DATAstream Send request PID_2101 to PCM 16715 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3F 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B A4 00 00 00 00 08 BA 00 00 0C F2 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 57 Received message is OK! Checksum is correct! 16926 Receive PCM DATAstream Send request PID_2101 to PCM 17142 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 62 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 48 03 A2 00 02 12 Received message is OK! Checksum is correct! 17440 Receive PCM DATAstream Send request PID_2101 to PCM 17657 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 14 Received message is OK! Checksum is correct! 17918 Receive PCM DATAstream Send request PID_2101 to PCM 18135 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C9 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B A2 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 57 Received message is OK! Checksum is correct! 18394 Receive PCM DATAstream Send request PID_2101 to PCM 18610 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 13 Received message is OK! Checksum is correct! 18824 Receive PCM DATAstream Send request PID_2101 to PCM 19063 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 14 Received message is OK! Checksum is correct! 19277 Receive PCM DATAstream Send request PID_2101 to PCM 19493 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 14 Received message is OK! Checksum is correct! 19806 Receive PCM DATAstream Send request PID_2101 to PCM 20022 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 6A 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 62 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 13 Received message is OK! Checksum is correct! 20269 Receive PCM DATAstream Send request PID_2101 to PCM 20485 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6C 00 00 0C C8 00 00 02 6A 00 00 00 00 04 39 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 AD 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 15 Received message is OK! Checksum is correct! 20741 Receive PCM DATAstream Send request PID_2101 to PCM 20957 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 6A 00 00 00 00 04 37 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 AD 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 12 Received message is OK! Checksum is correct! 21171 Receive PCM DATAstream Send request PID_2101 to PCM 21410 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C8 00 00 02 69 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 62 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 15 Received message is OK! Checksum is correct! 21626 Receive PCM DATAstream Send request PID_2101 to PCM 21842 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 6A 00 00 00 00 04 39 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 0F Received message is OK! Checksum is correct! 22144 Receive PCM DATAstream Send request PID_2101 to PCM 22360 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 69 00 00 0C C8 00 00 02 6A 00 00 00 00 04 39 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B A2 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 50 Received message is OK! Checksum is correct! 22618 Receive PCM DATAstream Send request PID_2101 to PCM 22992 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6C 00 00 0C C7 00 00 02 69 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 10 Received message is OK! Checksum is correct! 23288 Receive PCM DATAstream Send request PID_2101 to PCM 23682 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 69 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 48 03 A2 00 02 0F Received message is OK! Checksum is correct! 23915 Receive PCM DATAstream Send request PID_2101 to PCM 24131 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 69 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 13 Received message is OK! Checksum is correct! 24422 Receive PCM DATAstream Send request PID_2101 to PCM 24638 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 0D Received message is OK! Checksum is correct! 24891 Receive PCM DATAstream Send request PID_2101 to PCM 25107 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 69 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 12 Received message is OK! Checksum is correct! 25373 Receive PCM DATAstream Send request PID_2101 to PCM 25589 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C7 00 00 02 69 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 12 Received message is OK! Checksum is correct! 25795 Receive PCM DATAstream Send request PID_2101 to PCM 26035 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 1E 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 48 03 A3 00 02 CB Received message is OK! Checksum is correct! 26254 Receive PCM DATAstream Send request PID_2101 to PCM 26470 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 1E 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 CC Received message is OK! Checksum is correct! 26770 Receive PCM DATAstream Send request PID_2101 to PCM 26986 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C4 00 00 02 69 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 AD 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 10 Received message is OK! Checksum is correct! 27246 Receive PCM DATAstream Send request PID_2101 to PCM 27462 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 67 00 00 0C C5 00 00 02 69 00 00 00 00 04 39 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B A1 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 AD 08 01 20 00 00 01 85 0C 4A 03 A3 00 02 4E Received message is OK! Checksum is correct! 27723 Receive PCM DATAstream Send request PID_2101 to PCM 28098 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 39 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 01 20 00 00 01 85 0C 4A 03 A2 00 02 0B Received message is OK! Checksum is correct! 28347 Receive PCM DATAstream Send request PID_2101 to PCM 28718 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 69 00 00 0C C5 00 00 02 68 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 1E 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 00 20 00 00 01 85 0C 4B 03 A2 00 02 CB Received message is OK! Checksum is correct! 29001 Receive PCM DATAstream Send request PID_2101 to PCM 29399 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 69 00 00 0C C5 00 00 02 69 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 00 20 00 00 01 85 0C 4B 03 A3 00 02 10 Received message is OK! Checksum is correct! 29611 Receive PCM DATAstream Send request PID_2101 to PCM 29827 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BB 00 00 0C F4 A0 00 01 90 00 00 A9 08 00 20 00 00 01 85 0C 4A 03 A3 00 02 0E Received message is OK! Checksum is correct! 30127 Receive PCM DATAstream Send request PID_2101 to PCM 30520 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 3E 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BC 00 00 0C F7 A0 00 01 90 00 00 AD 08 00 20 00 00 01 86 0C 4B 03 A2 00 02 1A Received message is OK! Checksum is correct! 30752 Receive PCM DATAstream Send request PID_2101 to PCM 31169 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 69 00 00 0C C5 00 00 02 69 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 60 00 00 00 00 08 BC 00 00 0C F7 A0 00 01 90 00 00 A9 08 00 20 00 00 01 86 0C 4B 03 A2 00 02 10 Received message is OK! Checksum is correct! 31372 Receive PCM DATAstream Send request PID_2101 to PCM 31769 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 69 00 00 0C C5 00 00 02 68 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 62 00 00 00 00 08 BC 00 00 0C F7 A0 00 01 90 00 00 A9 08 00 20 00 00 01 86 0C 4B 03 A2 00 02 11 Received message is OK! Checksum is correct! 31980 Receive PCM DATAstream Send request PID_2101 to PCM 32196 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 69 00 00 0C C7 00 00 02 69 00 00 00 00 04 3C 00 00 00 00 32 C8 03 A2 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BC 00 00 0C F7 A0 00 01 90 00 00 AD 08 00 20 00 00 01 86 0C 4B 03 A3 00 02 17 Received message is OK! Checksum is correct! 32500 Receive PCM DATAstream Send request PID_2101 to PCM 32716 Receive PCM: 80 F1 11 4C 61 01 00 00 00 00 00 00 00 00 0D 6B 00 00 0C C5 00 00 02 69 00 00 00 00 04 3A 00 00 00 00 32 C8 03 A3 04 29 03 20 E5 62 00 00 00 00 0B 5F 00 00 00 00 08 BC 00 00 0C F7 A0 00 01 90 00 00 AD 08 00 20 00 00 01 86 0C 4B 03 A2 00 02 15 Received message is OK! Checksum is correct! 32971щас попробую поправить
переставь пока строки 231 и 230 местами
не помогло, тоже самое
поправил 1929
не выводит но в терминале иногда пробивает
Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 Message fail timeout Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 20 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 20 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 30 31 34 20 34 39 39 33 30 20 34 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 2D A0 48 54 20 32 34 34 31 39 CRC fail!!! Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 36 39 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 35 31 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 34 GAUGE Message fail address Receive GAUGE: 39 30 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 39 33 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: 2D A0 48 20 31 36 31 20 39 31 31 32 20 30 30 30 2D A0 48 54 34 35 31 30 31 31 31 32 20 30 30 30 2D A0 48 20 34 36 31 30 30 A0 20 31 36 31 34 CRC fail!!! Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 2D GAUGE Message fail address Receive GAUGE: 36 31 GAUGE Message fail address Receive GAUGE: 20 39 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 34 39 39 33 30 20 30 20 31 30 30 30 30 30 30 F0 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 CRC fail!!! Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 32 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 2D A0 48 32 31 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 34 31 39 39 20 31 33 30 31 20 30 34 32 20 20 30 Connect GAUGE failed!!! Send startsession - address Gauge Message fail timeout Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 55 GAUGE Message fail address Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 24007 ID panel receive! Send request PIDGauge Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 32 GAUGE Message fail address Receive GAUGE: 20 11 GAUGE Message fail address Receive GAUGE: 11 03 GAUGE Message fail address Receive GAUGE: FE 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 55 06 GAUGE Message fail address Receive GAUGE: F0 14 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 14 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 55 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 10 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 10 F0 GAUGE Message fail address Receive GAUGE: 10 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 10 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 01 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 14 06 GAUGE Message fail address Receive GAUGE: 06 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 35359 ID panel receive! Send request PIDGauge Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 20 GAUGE Message fail address Receive GAUGE: 39 30 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 GAUGE Message fail address Receive GAUGE: 2D A0 GAUGE Message fail address Receive GAUGE: 48 54 GAUGE Message fail address Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: E0 88 GAUGE Message fail address Receive GAUGE: 04 03 GAUGE Message fail address Receive GAUGE: FE 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 31 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 14 06 GAUGE Message fail address Receive GAUGE: 10 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 06 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 14 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 55 06 GAUGE Message fail address Receive GAUGE: F0 14 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 14 06 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 06 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 14 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 06 06 GAUGE Message fail address Receive GAUGE: F0 55 GAUGE Message fail address Receive GAUGE: 10 14 GAUGE Message fail address Receive GAUGE: 10 01 GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Receive GAUGE: 14 10 GAUGE Message fail address Receive GAUGE: 01 7F GAUGE Message fail address Receive GAUGE: 06 F0 GAUGE Message fail address Receive GAUGE: 55 10 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gaugeстрока 66 попробуй waitbyte_RX_GAUGE=0 сделать
неа, в конце тоже глянь
Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 Message fail timeout Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: 2D A0 48 32 31 39 35 36 30 20 31 34 20 34 39 39 33 30 20 34 20 31 30 30 30 30 30 30 F0 2D A0 48 54 20 32 34 34 31 35 36 20 34 30 20 39 39 31 CRC fail!!! Receive GAUGE: 33 20 GAUGE Message fail address Receive GAUGE: 30 32 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 2D GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 36 31 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 2D 31 GAUGE Message fail address Receive GAUGE: 36 34 GAUGE Message fail address Receive GAUGE: 20 39 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 39 GAUGE Message fail address Receive GAUGE: 35 30 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 31 30 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 36 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 32 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 2D GAUGE Message fail address Receive GAUGE: A0 31 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 20 39 GAUGE Message fail address Receive GAUGE: 33 20 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 32 20 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 08 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 35 30 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 34 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 31 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 32 31 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 08 2D GAUGE Message fail address Receive GAUGE: A0 48 GAUGE Message fail address Receive GAUGE: 54 20 GAUGE Message fail address Receive GAUGE: 32 34 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 35 GAUGE Message fail address Receive GAUGE: 36 30 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 34 30 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 34 31 GAUGE Message fail address Receive GAUGE: 39 39 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 33 30 GAUGE Message fail address Receive GAUGE: 31 20 GAUGE Message fail address Receive GAUGE: 33 32 GAUGE Message fail address Receive GAUGE: 39 30 GAUGE Message fail address Receive GAUGE: 34 20 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 52 80 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 28731 ID panel receive! Send request PIDGauge Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: F0 2D GAUGE Message fail address Receive GAUGE: A0 54 GAUGE Message fail address Receive GAUGE: 20 32 GAUGE Message fail address Receive GAUGE: 34 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 35 36 GAUGE Message fail address Receive GAUGE: 30 20 GAUGE Message fail address Receive GAUGE: 31 34 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 20 34 GAUGE Message fail address Receive GAUGE: 31 39 GAUGE Message fail address Receive GAUGE: 39 20 GAUGE Message fail address Receive GAUGE: 31 33 GAUGE Message fail address Receive GAUGE: 30 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 34 32 GAUGE Message fail address Receive GAUGE: 20 31 GAUGE Message fail address Receive GAUGE: 20 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 30 GAUGE Message fail address Receive GAUGE: 30 11 GAUGE Message fail address Receive GAUGE: 00 13 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 FF 52 4F 47 00 00 07 8C 04 13 07 00 00 05 FB 23 A1 FF 19 00 07 04 CRC fail!!! Receive GAUGE: 13 07 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 05 F9 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BC FF 51 4F 47 00 00 95 07 CD 8C 04 13 07 00 00 05 FA 23 A1 04 00 CRC fail!!! Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 04 GAUGE Message fail address Receive GAUGE: 10 B8 GAUGE Message fail address Receive GAUGE: 00 FF GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 4F 23 GAUGE Message fail address Receive GAUGE: 04 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: BC 4F GAUGE Message fail address Receive GAUGE: 19 47 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FB 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 4F 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F7 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 4F 19 GAUGE Message fail address Receive GAUGE: CD 13 GAUGE Message fail address Receive GAUGE: 05 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 FF GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 4F 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 95 CD GAUGE Message fail address Receive GAUGE: 04 07 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F7 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BC 00 GAUGE Message fail address Receive GAUGE: 50 4F GAUGE Message fail address Receive GAUGE: 19 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FB 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: A1 00 GAUGE Message fail address Receive GAUGE: BA 53 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 07 CD GAUGE Message fail address Receive GAUGE: 8C 04 GAUGE Message fail address Receive GAUGE: 13 07 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BC 00 FF 50 00 00 04 10 BB 00 FF 52 50 4F 19 47 00 00 00 95 07 CD CRC fail!!! Receive GAUGE: 8C 04 GAUGE Message fail address Receive GAUGE: 13 07 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 05 FA GAUGE Message fail address Receive GAUGE: 23 23 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 BC GAUGE Message fail address Receive GAUGE: 50 47 GAUGE Message fail address Receive GAUGE: 95 8C GAUGE Message fail address Receive GAUGE: 07 FA GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 04 00 50 00 95 8C 00 F7 23 A1 04 00 00 00 00 00 07 04 00 23 A1 04 00 00 00 00 00 04 FF 4F CRC fail!!! Receive GAUGE: 00 07 GAUGE Message fail address Receive GAUGE: 04 00 GAUGE Message fail address Receive GAUGE: F6 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 FF GAUGE Message fail address Receive GAUGE: 4F 00 GAUGE Message fail address Receive GAUGE: 07 04 GAUGE Message fail address Receive GAUGE: 00 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 B8 GAUGE Message fail address Receive GAUGE: 52 19 GAUGE Message fail address Receive GAUGE: 00 CD GAUGE Message fail address Receive GAUGE: 13 00 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 BB 51 19 00 CD 13 00 23 A1 04 00 00 00 00 00 10 FF 19 00 07 04 00 00 10 FF 4F 00 07 04 00 23 CRC fail!!! Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 10 GAUGE Message fail address Receive GAUGE: 52 19 GAUGE Message fail address Receive GAUGE: 00 CD GAUGE Message fail address Receive GAUGE: 13 05 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 BC 50 47 00 8C 07 05 23 A1 04 00 00 00 00 00 B8 53 19 00 CD 13 00 23 A1 04 00 00 00 BC CRC fail!!! Receive GAUGE: 52 47 GAUGE Message fail address Receive GAUGE: 00 8C GAUGE Message fail address Receive GAUGE: 05 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: 23 A1 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: BC Connect GAUGE failed!!! Send startsession - address Gauge Message fail timeout Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 52 80 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 52 80 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 52 80 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 52 80 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 52 80 GAUGE Message fail addressстоп на экране есть данные, уже нету, появляется через какето время. но какието не коректные
опять пропускает байты. пробуй строка 232 такая: if (header == 0 && headerGAUGE==0) {Menu ();}
неа, тоже самое
waitbyte_RX_GAUGE= пробуй 3 или больше поставить
также пробуй строку 384 закомментировать
дает некий результат . данные появляются но не кортектные, и частые сбои.
3 мс
4 мс
7 мс там есть в одном месте хороший прорыв
Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 11727 ID panel receive! Send request PIDGauge Receive GAUGE: 13 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F7 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 07 04 GAUGE Message fail address Receive GAUGE: 00 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 1A 00 GAUGE Message fail address Receive GAUGE: 00 07 GAUGE Message fail address Receive GAUGE: CD 04 GAUGE Message fail address Receive GAUGE: 13 00 GAUGE Message fail address Receive GAUGE: 05 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 47 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 95 GAUGE Message fail address Receive GAUGE: 07 CD GAUGE Message fail address Receive GAUGE: 8C 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 51 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FB 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 51 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FB 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 51 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 51 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 51 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 24952 ID panel receive! Send request PIDGauge Receive GAUGE: 13 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 47 GAUGE Message fail address Receive GAUGE: 00 CD GAUGE Message fail address Receive GAUGE: 07 05 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 51 50 50 1A 00 00 95 07 04 13 00 05 23 A1 04 00 00 00 00 CRC fail!!! Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 51 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F7 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 51 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 51 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 51 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Connect GAUGE failed!!! Send startsession - address Gauge Connect GAUGE failed!!! Send startsession - address Gauge Receive GAUGE: 55 52 80 Gauge INIT is good! Receive GAUGE: 2D A0 48 54 20 32 34 34 31 39 35 36 30 20 31 34 30 30 20 34 31 39 39 20 31 33 30 31 20 30 34 32 20 31 20 30 30 30 30 30 30 30 30 30 30 08 F0 Received message is OK! Checksum is correct! 35170 ID panel receive! Send request PIDGauge Receive GAUGE: 13 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: 04 00 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 50 50 GAUGE Message fail address Receive GAUGE: 1A 47 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 07 GAUGE Message fail address Receive GAUGE: 8C 04 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: F8 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 95 GAUGE Message fail address Receive GAUGE: 07 CD GAUGE Message fail address Receive GAUGE: 8C 04 GAUGE Message fail address Receive GAUGE: 13 07 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 05 F9 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 52 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F9 Received message is OK! Checksum is correct! 35876 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 35952 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F9 Received message is OK! Checksum is correct! 36027 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 36147 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 50 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 36222 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 50 51 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 36297 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 36372 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 36502 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 36578 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 36685 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 36760 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 50 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 36860 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 36958 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F7 Received message is OK! Checksum is correct! 37057 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F7 Received message is OK! Checksum is correct! 37979 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 38054 receive Datastream Gauge! Receive GAUGE: 23 A1 FA GAUGE Message fail address Receive GAUGE: 50 00 GAUGE Message fail address Receive GAUGE: 95 8C GAUGE Message fail address Receive GAUGE: 00 FA GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 50 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F9 Received message is OK! Checksum is correct! 38158 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F7 Received message is OK! Checksum is correct! 38234 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 50 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 38308 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F7 Received message is OK! Checksum is correct! 38384 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 50 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 38481 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 38556 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F9 Received message is OK! Checksum is correct! 39096 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 51 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F7 Received message is OK! Checksum is correct! 39170 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 23 A1 04 00 00 00 00 00 00 00 04 10 B8 00 51 50 50 1A 47 00 00 00 95 07 CD CRC fail!!! Receive GAUGE: 8C 04 GAUGE Message fail address Receive GAUGE: 13 07 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 05 F8 GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 39336 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B8 00 FF 52 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F9 Received message is OK! Checksum is correct! 39412 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 39491 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F9 Received message is OK! Checksum is correct! 39588 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 BA 00 FF 51 50 50 1A 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 FA Received message is OK! Checksum is correct! 39664 receive Datastream Gauge! Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 00 04 10 B9 00 FF 51 50 50 19 47 00 00 00 95 07 CD 8C 04 13 07 00 00 05 F8 Received message is OK! Checksum is correct! 39739 receive Datastream Gauge! Receive GAUGE: 23 Message fail timeout Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 FA GAUGE Message fail address Receive GAUGE: 23 A1 04 00 00 00 00 00 00 00 00 00 10 00 FF 50 1A 47 00 00 07 CD 04 13 00 05 23 A1 04 00 00 00 00 00 00 00 00 CRC fail!!! Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 CD GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B8 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 52 50 GAUGE Message fail address Receive GAUGE: 50 19 GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: F9 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: BA 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail address Receive GAUGE: 50 1A GAUGE Message fail address Receive GAUGE: 47 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 95 07 GAUGE Message fail address Receive GAUGE: CD 8C GAUGE Message fail address Receive GAUGE: 04 13 GAUGE Message fail address Receive GAUGE: 07 00 GAUGE Message fail address Receive GAUGE: 00 05 GAUGE Message fail address Receive GAUGE: FA 23 GAUGE Message fail address Receive GAUGE: A1 04 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 00 00 GAUGE Message fail address Receive GAUGE: 04 10 GAUGE Message fail address Receive GAUGE: B9 00 GAUGE Message fail address Receive GAUGE: 51 50 GAUGE Message fail addressпримерно так
закоментил 384, чутка лучше
оставь 1 мс и пробуй 1943
глянь пока выше отчет закоментил 384 но это 4 мс
понятно. ладно потом панель всё таки придётся по другой схеме делать
ок. при таком действии перестали выводится данные на экран
так и должно быть, экран и тач же больше всего тормозили обмен по к-лайн . Вот я их и убил
попробуй одновременно закоментить строку 384 и 232