⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stream.c

📁 可以对北京汽车所产生的故障进行诊断的电脑解码器
💻 C
📖 第 1 页 / 共 2 页
字号:
               case 2  : //Throttle  position        Int(x*(99/255)) 	2[%] Byte4
                         Sum = (float)TagStr.strread[6]*(99/255);
                         sprintf(tmpstr,"%3.0f%%",Sum);
                         break;
               case 3  : //Injector  pulse  width  262*x/65535           	3.1[ms] Byte5~byte6
                         Sum = 262*(float)TagStr.strread[7]/65535;
                         sprintf(tmpstr,"%4.1fms",Sum);
                         break;
               case 4  : //Spark     advance        X          	3[  ] Byte7
                         Sum = (float)TagStr.strread[9];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 5  : //Coolant temperature     K=119/191,x0=39.87;K*x-x0	3[ C] Byte8
                         Sum = 119/191*(float)TagStr.strread[10] - 39.87;
                         sprintf(tmpstr,"%3.0fC",Sum);
                         break;
               case 6  : //Intake  air   temp  K=119/191,x0=39.87;K*x-x0	3[ C] Byte9
                         Sum = 119/191*(float)TagStr.strread[11] - 39.87;
                         sprintf(tmpstr,"%3.0fC", Sum);
                         break;
               case 7  : //Battery   voltage  (7.9*x)/255+8	2.1[v] Byte10
                         Sum = (7.9*(float)TagStr.strread[12])/255+8;
                         sprintf(tmpstr,"%5.1fV",Sum);
                         break;
               case 8  : //Oxygen   sensor   (1530*x)/255	4[v] Byte11
                         Sum = (1530*(float)TagStr.strread[13])/255;
                         sprintf(tmpstr,"%4.0fV",Sum);
                         break;
               case 9  : //ISC actuator duty 100*x/255	3[v] Byte12
                         Sum = 100*(float)TagStr.strread[14]/255;
                         sprintf(tmpstr,"%3.0fV",Sum);
                         break;
               case 10 : //Normal  idle  speed If x>9999 then x=9999;1831*4096/x	[rpm] Byte13~Byte14
                         Sum = 1831.0*4096.0/(float)TagStr.strread[15];
                         if( Sum > 9999 )    Sum = 9999;
                         sprintf(tmpstr,"%4.0frpm",Sum);
                         break;
               case 11 : //Normal    TPS   99*x/255	2[%] Byte15
                         Sum = 99*(float)TagStr.strread[17]/255;
                         sprintf(tmpstr,"%5.2f%%", Sum );
                         break;
               case 12 : //Barometric pressure 937*x/255+103	4[mb] Byte16
                         Sum = 937*(float)TagStr.strread[18]/255 + 103;
                         sprintf(tmpstr,"%4.0fmb",Sum);
                         break;
               case 13 : //ISA   adapted If x>=80H;   20*x/3-1600If x<80H;    396*X/127+100 	2 [%] Byte17
                         if( TagStr.strread[19] >= 0x80 )
                         {
                              Sum = 20*(float)TagStr.strread[19]/3-1600;
                         }
                         else
                         {
                              Sum = 396*(float)TagStr.strread[19]/127+100;
                         }
                         sprintf(tmpstr,"%3.0f%%",Sum);
                         break;
               case 14 : //A/F regulation loop   199*x/255	3[%] Byte18
                         Sum = 199*(float)TagStr.strread[20]/255;
                         sprintf(tmpstr,"%3.0f%%",Sum);
                         break;
               case 15 : //C/L correction(MUL)  433*x/104-433	3[%] Byte19
                         Sum = 433*(float)TagStr.strread[21]/104-433;
                         sprintf(tmpstr,"%3.0f%%",Sum);
                         break;
               case 16 : //C/L correction(ADD)  100*X/64-100	3[%] Byte20
                         Sum = 100*(float)TagStr.strread[22]/64-100;
                         sprintf(tmpstr,"%3.0f%%",Sum);
                         break;
               case 17 : //ESC retard CYL. #1   If [21].7=1,else,+;  x=[21].0~6	3[ ] Byte21
                         Sum = (float)TagStr.strread[23];
                         sprintf(tmpstr,"%3.0fC",Sum);
                         break;
               case 18 : //ESC retard CYL. #2   If [21].7=1,else,+;  x=[21].0~6	3[ ] Byte22
                         Sum = (float)TagStr.strread[24];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 19 : //ESC retard CYL. #3   If [21].7=1,else,+;  x=[21].0~6	3[ ] Byte23
                         Sum = (float)TagStr.strread[25];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 20 : //ESC retard CYL. #4   If [21].7=1,else,+;  x=[21].0~6	3[ ] Byte24
                         Sum = (float)TagStr.strread[26];
                         sprintf(tmpstr,"%3.0f",Sum);
                         break;
               case 21 : //A/C compressure      If [25].1=1,ON,else, OFF	ON/OFF Byte25
                         if( TagStr.strread[27]&0x02 )
                         {
                              sprintf(tmpstr," ON");
                         }
                         else
                         {
                              sprintf(tmpstr,"OFF");
                         }
                         break;
               case 22 : //CO pot on            IF x=128,  Err; Else  x*2.5/255+2.5	1.2[v] Byte28
                         if( TagStr.strread[30] == 128 )
                         {
                              sprintf(tmpstr,"  Err",Sum);
                         }
                         else
                         {
                              Sum = (float)TagStr.strread[30]*2.5/255+2.5;
                              sprintf(tmpstr,"%4.1fV",Sum);
                         }
                         break;
               case 23 : //Cranking  signal     If  [32].3=1,OFF,else, ON 	ON/OFF Byte32c
                          if( TagStr.strread[34]&0x08 )
                         {
                              sprintf(tmpstr," ON");
                         }
                         else
                         {
                              sprintf(tmpstr,"OFF");
                         }
                         break;
               case 24 : //Transaxle  type      If  [33].3=1,A/T,else,M/T	A/T/M/T Byte33
                         if( TagStr.strread[35]&0x02 )
                         {
                              sprintf(tmpstr,"A/T");
                         }
                         else
                         {
                              sprintf(tmpstr,"M/T");
                         }
                         break;
               case 25 : //Idle  condition      If  [34].0=1,ON,else,OFF 	ON/OFF Byte34
                         if( TagStr.strread[36]&0x01 )
                         {
                              sprintf(tmpstr," ON");
                         }
                         else
                         {
                              sprintf(tmpstr,"OFF");
                         }
                         break;
               case 26 : //A/C  thermo   swith      If  [35].2=1,ON,else,OFF  	ON/OFF Byte35
                         if( TagStr.strread[37]&0x01 )
                         {
                              sprintf(tmpstr," ON");
                         }
                         else
                         {
                              sprintf(tmpstr,"OFF");
                         }
                         break;
               default:  break;
          }
     }
     //显示数据流项目
     SetCursor( 20-strlen(tmpstr),line );
     PutStr( (UCHAR*)tmpstr );
}
/*
**---------------------------------------------------------------------------------------
* 数据流帮助信息
**---------------------------------------------------------------------------------------
*/
void StreamHelp(unsigned char strnum)
{
#ifdef DEBUGMODE
     DebugString( "StreamHelp()" );
#endif
     //在此处添加各系统的数据流帮助文本
     unsigned char *HStreamENGISO[] =
     {
          "发动机负荷",            //ENGLOAD
          "发动机转速",            //ENG.S
          "节气门位置",            //TP
          "喷油脉宽",              //IPW
          "点火提前角",            //ESA
          "水温",                  //ACT
          "进气温度",              //IAT
          "电瓶电压",              //B.VOL

          "氧传感器",              //O2S
          "怠速阀开度",            //ISC AD
          "标称怠速",              //NORIS
          "标称节气门位置",        //NORTPS
          "大气压力",              //BARO
          "怠速阀自适用记忆",      //ISA AD
          "混合气浓度",            //A/F RL
          "车辆载荷修正(减)",      //C/LCT(MUL)

          "车辆载荷修正(加)",      //C/LCT(ADD)
          "#1 缸点火延迟",         //SD.1CYL
          "#2 缸点火延迟",         //SD.2CYL
          "#3 缸点火延迟",         //SD.3CYL
          "#4 缸点火延迟",         //SD.4CYL
          "空调压力开关",          //A/CCSW
          "怠速CO电位计",          //Copoton
          "曲轴位置信号",          // CKPS

          "驱动桥类型",            // TT
          "怠速状况",              // IC
          "空调温控开关"           // A/C TSW
     };
     unsigned char Userline = 0;
     unsigned char StartL = 0;     //当前起始行
     ScreenInit( W_TEXT );
     strnum -= 1;
     if( SysID == ENGISO )             //北京吉普 -> 引擎系统
     {
          AddString( HStreamENGISO[strnum] );
     }
     while( ScreenAct( &StartL, &Userline ) != W_RETURN );
}
//----------------------------------------------------------------- End Of File ----------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -