CAN_Communication_Matrix.h 102 KB
Newer Older
崔立宝's avatar
崔立宝 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307
/*****************************************************************************************************************************************************************************
  文 件 名:CAN_Communication_Matrix.h
  功能描述:BZ3组合仪表CAN通信矩阵
  作    者:张暄
  版    本:V1.0
  日    期:2016.11.8
 *****************************************************************************************************************************************************************************/

#ifndef CAN_COMMUNICATION_MATRIX_H_
#define CAN_COMMUNICATION_MATRIX_H_

#include "stdint.h"
//#include "Non_volatile_Memorys.h"
//----fhl--20190510----------------------------------------------------------------
//#define Power_Version_24             1
//#define Power_Version_12             2
#define Test             1
#define Normal           2
//#define  CODEMODE             Test
#define  CODEMODE             Normal


//#if (NVM_CONFIG_POWER==1)
//#define Power_Mod                    Power_Version_24
//#define Power_Mod                    Power_Version_12



//#define Version_WEI             1      // 潍柴
//#define Version_KANG            2      // 康明斯   
//#define Version_YU              3      // 玉柴
//#define Version_DA              4      // 大柴

//#if (NVM_CONFIG_WEI!=0)
//#define ModVersion     Version_WEI
//#elif  (NVM_CONFIG_KANG!=0)
//#define ModVersion     Version_KANG
//#elif  (NVM_CONFIG_YU!=0)
//#define ModVersion     Version_YU
//#elif  (NVM_CONFIG_DA!=0)
//#define ModVersion     Version_DA


#pragma MESSAGE DISABLE C1106

/*****************************************************************************************************************************************************************************/
/*报文及信号定义 Intel
 *****************************************************************************************************************************************************************************/ 
/*****************************************10FF1021*****************************************************************************************************************************
ID  : 0x10FF1021           
报文: BCM_ExternalLight
信号: |-Rx 
|- 
 ******************************************10FF1021***************************************************************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t         :  1;       //0 
    uint8_t   S09   :  1;       //1 
    uint8_t   S01   :  2;       //2-3 
    uint8_t   S02   :  2;       //4-5 
    uint8_t         :  2;       //6-7 

    uint8_t         :  8;       //8-15

    uint8_t         :  8;       //16-23

    uint8_t         :  2;	      //24-25 
    uint8_t   S03   :  2;	      //26-27 
    uint8_t   S04   :  2;	      //28-29 
    uint8_t   S05   :  2;	      //30-31

    uint8_t         :  8;       //32-39

    uint8_t         :  7;       //40-46 
    uint8_t   S06   :  1;       //47-47 
    uint8_t         :  4;       //48-51
    uint8_t   S07   :  1;       //52-52 
    uint8_t         :  3;       //53-55 
    uint8_t         :  8;       //56-63
	} Sig;

} CANMsg10FF1021Union;

extern volatile CANMsg10FF1021Union             CANMsg10FF1021;
extern volatile uint8_t                         CANMsg10FF1021Status;

#define BCM_ExternalLight          		   	      0x10FF1021
#define BCM_ExternalLight_STATUS       		      CANMsg10FF1021Status
//-------------------10FF1021---------------------
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define BCM_ICM_Alarm              CANMsg10FF1021.Sig.S09        //仪表报警提示                              1       1 
#define RearFogSts                 CANMsg10FF1021.Sig.S01        //后雾灯                                    2       2                                                                 
#define FrontFogSts                CANMsg10FF1021.Sig.S02        //前雾灯                                    4       2  
#define RHTurnSignalSts            CANMsg10FF1021.Sig.S03        //右转向灯                                  26      2                                                                 
#define LHTurnSignalSts            CANMsg10FF1021.Sig.S04        //左转向灯                                  28      2 
#define HazardLightSts		       	 CANMsg10FF1021.Sig.S05        //警示灯
#define BreakLightWarning		       CANMsg10FF1021.Sig.S06        //制动灯断丝报警                                                         
#define Auxiliary_sign_LaneChange	 CANMsg10FF1021.Sig.S07        //变道辅助标志位
static const uint8_t  CANMsg10FF1021Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10FF1021Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10FF1021Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};    

/******************************************************************************
  ID名称:BCM_StatusNBC
ID:0x10FF7521
报文:BCM_StatusNBC
信号:
|- PsngrDoorSts   	  	副驾驶侧车门状态   
|- DriveDoorSts		    	驾驶侧车门状态
|- RearviewMirrorDefSts 后视镜除霜状态
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t          	:  8;   // b00_07            
    uint8_t           :  8;   // b10_17 
    uint8_t           :  4;   // b20_23
    uint8_t   S01   	:  2;   // DriveDoorSts
    uint8_t   S02   	:  2;   // PsngrDoorSts
    uint8_t          	:  8;   // b30_37
    uint8_t         	:  6;   // b40_45               
    uint8_t   S03     :  2;   // RearviewMirrorDefSts
    uint8_t           :  8;   // b50_57 
    uint8_t         	:  8;   // b60_67 
    uint8_t          	:  8;   // b70_77
	}Sig; 
} CANMsg10FF7521Union;

extern volatile CANMsg10FF7521Union             CANMsg10FF7521;
extern volatile uint8_t     CANMsg10FF7521Status;

#define BCM_StatusNBC          		   	      0x10FF7521
#define BCM_StatusNBC_STATUS       		    CANMsg10FF7521Status
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define DriveDoorSts_can		    	CANMsg10FF7521.Sig.S01        // 副驾驶侧车门状态                                                               
#define PsngrDoorSts_can		    	CANMsg10FF7521.Sig.S02        // 驾驶侧车门状态
#define RearviewMirrorDefSts	CANMsg10FF7521.Sig.S03        // 后视镜除霜状态                                                              

static const uint8_t  CANMsg10FF7521Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10FF7521Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10FF7521Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/***********************************10FF1017*******************************************
  ID名称:BCM_Msg2
ID:0x10FF1017
报文:BCM_Msg2
信号:
|- PositionLightSts   	位置灯   
|- HighBeamSts			    远光灯
|- LowBeamSts           近光灯
 ***********************************10FF1017*******************************************/
typedef union
{
  uint8_t Msg[8];
  struct
  {		
    uint8_t   S04   	:  2;   // b00_01   
    uint8_t         	:  6;   // b02_07              
    uint8_t   S01     :  2;   // LowBeamSts
    uint8_t   S02     :  2;   // HighBeamSts
    uint8_t   S03   	:  2;   // PositionLightSts
    uint8_t         	:  2;   // b16_17 
    uint8_t          	:  8;   //  b20_27 
    uint8_t          	:  8;   // b30_37               
    uint8_t           :  8;   //b40_47   
    uint8_t           :  8;   // b50_57
    uint8_t          	:  8;   // b60_67
    uint8_t         	:  8;   //b70_77  
	}Sig; 
} CANMsg10FF1017Union;

extern volatile CANMsg10FF1017Union             CANMsg10FF1017;
extern volatile uint8_t                   CANMsg10FF1017Status;

#define BCM_Msg2          		   	      0x10FF1017
#define BCM_Msg2_STATUS       		    CANMsg10FF1017Status
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define Brake_Switch			  	CANMsg10FF1017.Sig.S04         //  刹车制动 
#define LowBeamSts			  	CANMsg10FF1017.Sig.S01         //  近光灯                                                             
#define HighBeamSts			  	CANMsg10FF1017.Sig.S02         //  远光灯
#define PositionLightSts_can		CANMsg10FF1017.Sig.S03         //  位置灯                                                           

static const uint8_t  CANMsg10FF1017Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10FF1017Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10FF1017Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:BCM_TPMS
ID:0x18FEF433
报文:BCM_TPMS
信号:
|- TireLocation   	        	Tire Location   
|- TirePressure		           	Tire Pressure
|- TireTemp                   Tire Temperature
|- CTIWheelSensSts          	CTI Wheel Sensor Status  
|- TireLeakSts		            Tire Leakage Status
|- TireHighTempWarning        Tire High Temperature Warning
|- TirePressureState         	The State of Tire Pressure  
|- TirePressureThresholdDet		The Pressure Threshold Detection
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t   S01 	  :  2;   // TireLocation   
    uint8_t   S10   	:  2;   // TireIDStudy	
    uint8_t         	:  4;   // 
    uint8_t   S02     :  8;   // TirePressure
    uint8_t   S03L    :  8;   // TireTempL
    uint8_t   S03H  	:  8;   // TireTempH

    uint8_t   S04   	:  2;   // CTIWheelSensSts
    uint8_t   S05   	:  2;   // TireLeakSts
    uint8_t   S06   	:  2;   // TireHighTempWarning              
    uint8_t   S07     :  2;   // TirePressureState 
    uint8_t           :  8;   // 
    uint8_t         	:  8;   // 
    uint8_t         	:  4;   // 
    uint8_t   S09   	:  3;   // TirePressureThresholdDet
    uint8_t         	:  1;   // 
	}Sig; 
} CANMsg18FEF433Union;

extern volatile CANMsg18FEF433Union             CANMsg18FEF433 ;
extern volatile uint8_t     CANMsg18FEF433Status;

#define BCM_TPMS          		   	      0x18FEF433
#define BCM_TPMS_STATUS       		    CANMsg18FEF433Status
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define TireLocation			        CANMsg18FEF433.Sig.S01            //  Tire Location                                                          
#define TirePressure			        CANMsg18FEF433.Sig.S02            //  Tire Pressure
#define TireTempL				          CANMsg18FEF433.Sig.S03L           //  Tire Temperature
#define TireTempH				          CANMsg18FEF433.Sig.S03H           //  Tire Temperature
#define CTIWheelSensSts			      CANMsg18FEF433.Sig.S04            //  CTI Wheel Sensor Status                                             
#define TireLeakSts				        CANMsg18FEF433.Sig.S05            //  Tire Leakage Status              
#define TireHighTempWarning		    CANMsg18FEF433.Sig.S06            //  Tire High Temperature Warning
#define TirePressureState		      CANMsg18FEF433.Sig.S07            //   The State of Tire Pressure                                                          
#define TirePressureThresholdDet	CANMsg18FEF433.Sig.S09            //   The Pressure Threshold Detection  
#define TireIDStudy             	CANMsg18FEF433.Sig.S10            //   TireIDStudy                                                              

static const uint8_t  CANMsg18FEF433Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF433Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF433Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:BCM_PEPS_MSG1
ID:0x08FF00DD
报文:BCM_PEPS_MSG1
信号:
|- PepslcuAlarm   		PEPS仪表报警提示   
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t          	:  8;   //    
    uint8_t         	:  4;   // 	
    uint8_t   S01     :  4;   // PepslcuAlarm
    uint8_t           :  8;   // 
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   //               
    uint8_t           :  8;   //    
	}Sig; 
} CANMsg08FF00DDUnion;

extern volatile CANMsg08FF00DDUnion             CANMsg08FF00DD;
extern volatile uint8_t     CANMsg08FF00DDStatus;

#define BCM_PEPS_MSG1          		   	      0x08FF00DD
#define BCM_PEPS_MSG1_STATUS       		    CANMsg08FF00DDStatus
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define PepslcuAlarm			CANMsg08FF00DD.Sig.S01           //	PEPS仪表报警提示                                                              

static const uint8_t  CANMsg08FF00DDInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg08FF00DDTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg08FF00DDMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:NWM_BCM
ID:0x18FFA021
报文:NWM_BCM
信号:
|- BCM_Sleep_Indicator   	BCM网络管理报文

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   S01   	:  3;   // BCM_Sleep_Indicator  
    uint8_t         	:  5;   // 	
    uint8_t           :  8;   // 
    uint8_t           :  8;   // 
    uint8_t          	:  8;   // 
    uint8_t         	:  8;   // 
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   //               
    uint8_t           :  8;   //    
	}Sig; 
} CANMsg18FFA021Union;

extern volatile CANMsg18FFA021Union             CANMsg18FFA021;
extern volatile uint8_t     CANMsg18FFA021Status;

#define NWM_BCM          		   	      0x18FFA021
#define NWM_BCM_STATUS       		    CANMsg18FFA021Status
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define BCM_Sleep_Indicator			CANMsg18FFA021.Sig.S01              //	BCM网络管理报文                                                         

static const uint8_t  CANMsg18FFA021Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FFA021Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FFA021Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:TCO1
ID:0x18FE6CEE
报文:TCO1
信号:
|- Tachograph_Vehicle_Speed   	车速

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t           	:  8;   // 	 
    uint8_t             :  8;   // 
    uint8_t             :  8;   // 
    uint8_t           	:  8;   // 
    uint8_t           	:  8;   // 
    uint8_t           	:  8;   // 
    uint8_t   S01L    	:  8;   // Tachograph_Vehicle_SpeedL              
    uint8_t   S01H      :  8;   // Tachograph_Vehicle_SpeedH  
	}Sig; 
} CANMsg18FE6CEEUnion;

extern volatile CANMsg18FE6CEEUnion             CANMsg18FE6CEE;
extern volatile uint8_t     CANMsg18FE6CEEStatus;

#define TCO1          		   	      0x18FE6CEE
#define TCO1_STATUS       		    CANMsg18FE6CEEStatus
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define Tachograph_Vehicle_SpeedL			CANMsg18FE6CEE.Sig.S01L     //车速                                                                  
#define Tachograph_Vehicle_SpeedH			CANMsg18FE6CEE.Sig.S01H     //车速 

static const uint8_t  CANMsg18FE6CEEInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE6CEETimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE6CEEMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:VDHR
ID:0x18FEC117
报文:VDHR
信号:
|- High_Resolution_Total_Vehicle_Distance   	总里程

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t    S01   	:  8;   // High_Resolution_Total_Vehicle_Distance_LL 
    uint8_t    S02    :  8;   // High_Resolution_Total_Vehicle_Distance_LH
    uint8_t    S03    :  8;   // High_Resolution_Total_Vehicle_Distance_HL
    uint8_t    S04   	:  8;   // High_Resolution_Total_Vehicle_Distance_HH
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   //               
    uint8_t           :  8;   //  
	}Sig; 
} CANMsg18FEC117Union;

extern volatile CANMsg18FEC117Union             CANMsg18FEC117;
extern volatile uint8_t     CANMsg18FEC117Status;

#define VDHR          		   	      0x18FEC117
#define VDHR_STATUS       		    CANMsg18FEC117Status
//------信号名------------------------------定义------------------注释------------------------------------起始位--长度--
#define High_Resolution_Total_Vehicle_Distance_LL			CANMsg18FEC117.Sig.S01       // 总里程                                                               
#define High_Resolution_Total_Vehicle_Distance_LH			CANMsg18FEC117.Sig.S02       // 总里程 
#define High_Resolution_Total_Vehicle_Distance_HL			CANMsg18FEC117.Sig.S03       // 总里程 
#define High_Resolution_Total_Vehicle_Distance_HH			CANMsg18FEC117.Sig.S04       // 总里程 

static const uint8_t  CANMsg18FEC117Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEC117Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEC117Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:AIR1
ID:0x18FEAE17
报文:AIR1
信号:
|- FrontBarometricPress   	前桥气压
|- RearBarometricPress    	后桥气压

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t         	:  8;   //  
    uint8_t           :  8;   // 
    uint8_t   S01     :  8;   // FrontBarometricPress
    uint8_t   S02    	:  8;   // RearBarometricPress
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   // 
    uint8_t          	:  8;   //               
    uint8_t           :  8;   //  
	}Sig; 
} CANMsg18FEAE17Union;

extern volatile CANMsg18FEAE17Union             CANMsg18FEAE17;
extern volatile uint8_t     CANMsg18FEAE17Status;

#define AIR1          		   	      0x18FEAE17
#define AIR1_STATUS       		    CANMsg18FEAE17Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define FrontBarometricPress			CANMsg18FEAE17.Sig.S01     // 前桥气压                                                                  
#define RearBarometricPress				CANMsg18FEAE17.Sig.S02     // 后桥气压

static const uint8_t  CANMsg18FEAE17Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEAE17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEAE17Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:PGNRQ
ID:0x18EA0021
报文:PGNRQ
信号:
|- LeastSignificantBytePGN   	PNG低字节
|- MidbytePGN   			      	PNG中字节
|- MostSignificantBytePGN    	PNG高字节 

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // LeastSignificantBytePGN
		uint8_t   b10_17    :  8;   // MidbytePGN
		uint8_t   b20_27    :  8;   // MostSignificantBytePGN
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77    :  8;   //  
	}Sig; 
} CANMsg18EA0021Union;

extern volatile CANMsg18EA0021Union             CANMsg18EA0021;
extern volatile uint8_t     CANMsg18EA0021Status;

#define PGNRQ          		   	      0x18EA0021
#define PGNRQ_STATUS       		    CANMsg18EA0021Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define LeastSignificantBytePGN			CANMsg18EA0021.Sig.b00_07    //  PNG低字节                                                                 
#define MidbytePGN					      	CANMsg18EA0021.Sig.b10_17    //  PNG中字节
#define MostSignificantBytePGN			CANMsg18EA0021.Sig.b20_27    //  PNG高字节 

static const uint8_t  CANMsg18EA0021Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18EA0021Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18EA0021Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:NWM_ICM
ID:0x18FEF717
报文:NWM_ICM
信号:
|- ICM_Sleep_Indicator   	ICM网络管理报文

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_02 	:  3;   // ICM_Sleep_Indicator
		uint8_t   b03_07 	:  5;   // 
		uint8_t   b10_17  :  8;   // 
		uint8_t   b20_27  :  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEF717Union;

extern volatile CANMsg18FEF717Union             CANMsg18FEF717;
extern volatile uint8_t     CANMsg18FEF717Status;

#define NWM_ICM          		   	      0x18FEF717
#define NWM_ICM_STATUS       		    CANMsg18FEF717Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define ICM_Sleep_Indicator				CANMsg18FEF717.Sig.b00_02     //ICM网络管理报文                                                                  

static const uint8_t  CANMsg18FEF717Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF717Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF717Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ETCS
ID:0x18FEC317
报文:ETCS
信号:
|- ReverseGear   	倒挡信号(康明斯接收)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_10 	:  1;   // ReverseGear
		uint8_t   b11_17  :  7;   // 
		uint8_t   b20_27  :  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEC317Union;

extern volatile CANMsg18FEC317Union             CANMsg18FEC317;
extern volatile uint8_t     CANMsg18FEC317Status;

#define ETCS          		   	      0x18FEC317
#define ETCS_STATUS       		    CANMsg18FEC317Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define ReverseGear				CANMsg18FEC317.Sig.b10_10           //	倒挡信号(康明斯接收)                                                            

static const uint8_t  CANMsg18FEC317Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEC317Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEC317Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ICM_1
ID:0x18FE8E17
报文:ICM_1
信号:
|- LowBrakeLuidLevel	   	制动液位低
|- SafetyBeltSt			    	主驾安全带状态
|- TankLevel				      油箱液位
|- MaintainSignal			    保养信号
|- AverageFuelConsumption	平均油耗

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_00 	:  1;   // LowBrakeLuidLevel
		uint8_t   b01_01 	:  1;   // SafetyBeltSt
		uint8_t   b02_04  :  3;   // TankLevel
		uint8_t   b05_05  :  1;   // MaintainSignal
		uint8_t   b06_07 	:  2;   // 
		uint8_t   b10_17 	:  8;   // AverageFuelConsumption_LL
		uint8_t   b20_27 	:  8;   // AverageFuelConsumption_LH
		uint8_t   b30_37 	:  8;   // AverageFuelConsumption_HL
		uint8_t   b40_47 	:  8;   // AverageFuelConsumption_HH
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FE8E17Union;

extern volatile CANMsg18FE8E17Union             CANMsg18FE8E17;
extern volatile uint8_t     CANMsg18FE8E17Status;

#define ICM_1          		   	      0x18FE8E17
#define ICM_1_STATUS       		    CANMsg18FE8E17Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define LowBrakeLuidLevel		    	CANMsg18FE8E17.Sig.b00_00    //  制动液位低
#define SafetyBeltSt			      	CANMsg18FE8E17.Sig.b01_01    //  主驾安全带状态
#define TankLevel				        	CANMsg18FE8E17.Sig.b50_57    //  油箱液位
#define MaintainSignal			    	CANMsg18FE8E17.Sig.b05_05    //  保养信号
#define AverageFuelConsumption_LL	CANMsg18FE8E17.Sig.b10_17    //  平均油耗
#define AverageFuelConsumption_LH	CANMsg18FE8E17.Sig.b20_27    //  平均油耗
#define AverageFuelConsumption_HL	CANMsg18FE8E17.Sig.b30_37    //  平均油耗
#define AverageFuelConsumption_HH	CANMsg18FE8E17.Sig.b40_47    //  平均油耗                                                               

static const uint8_t  CANMsg18FE8E17Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE8E17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE8E17Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ICM_2
ID:0x18FEF117
报文:ICM_2
信号:
|- ParkingBrakeSwitch		驻车制动开关(康明斯接收)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   // 
		uint8_t   b02_03 	:  2;   // ParkingBrakeSwitch
		uint8_t   b04_07  :  4;   //   
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEF117Union;

extern volatile CANMsg18FEF117Union             CANMsg18FEF117;
extern volatile uint8_t     CANMsg18FEF117Status;

#define ICM_2          		   	      0x18FEF117
#define ICM_2_STATUS       		      CANMsg18FEF117Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define ParkingBrakeSwitch		    	CANMsg18FEF117.Sig.b02_03    //  驻车制动开关(康明斯接收)


static const uint8_t  CANMsg18FEF117Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF117Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF117Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ICM_3
ID:0x18FF0A17
报文:ICM_3
信号:
|- CabLockSt		驾驶室锁止(康明斯接收)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_05 	:  6;   // 
		uint8_t   b06_07 	:  2;   // CabLockSt  
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FF0A17Union;

extern volatile CANMsg18FF0A17Union             CANMsg18FF0A17;
extern volatile uint8_t     CANMsg18FF0A17Status;

#define ICM_3          		   	      0x18FF0A17
#define ICM_3_STATUS       		    CANMsg18FF0A17Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define CabLockSt		CANMsg18FF0A17.Sig.b06_07              //驾驶室锁止(康明斯接收)

static const uint8_t  CANMsg18FF0A17Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF0A17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF0A17Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:NWM_TBOX
ID:0x18EFCD27
报文:NWM_TBOX
信号:
|- TBOX_Sleep_Indicator		TBOX网络管理报文

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_02 	:  3;   // TBOX_Sleep_Indicator
		uint8_t   b03_07 	:  5;   //  
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77    :  8;   //  
	}Sig; 
} CANMsg18EFCD27Union;

extern volatile CANMsg18EFCD27Union             CANMsg18EFCD27;
extern volatile uint8_t                   CANMsg18EFCD27Status;

#define NWM_TBOX          		   	      0x18EFCD27
#define NWM_TBOX_STATUS       		    CANMsg18EFCD27Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define TBOX_Sleep_Indicator		CANMsg18EFCD27.Sig.b00_02       //	TBOX网络管理报文

static const uint8_t  CANMsg18EFCD27Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18EFCD27Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18EFCD27Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ADAS_1
ID:0x10F007E8
报文:ADAS_1
信号:
|- Right_LDW		右侧车道偏离
|- Left_LDW			左侧车道偏离
|- FCW				  前碰预警

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_03 	:  4;   // 
		uint8_t   b04_04 	:  1;   // Right_LDW 
		uint8_t   b05_05 	:  1;   // 
		uint8_t   b06_06 	:  1;   // Left_LDW
		uint8_t   b07_07 	:  1;   // 
		uint8_t   b10_10 	:  1;   // FCW
		uint8_t   b11_17 	:  7;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77    :  8;   //  
	}Sig; 
} CANMsg10F007E8Union;

extern volatile CANMsg10F007E8Union             CANMsg10F007E8;
extern volatile uint8_t                   CANMsg10F007E8Status;

#define ADAS_1          		   	      0x10F007E8
#define ADAS_1_STATUS       		    CANMsg10F007E8Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Right_LDW			CANMsg10F007E8.Sig.b04_04       //  右侧车道偏离
#define Left_LDW			CANMsg10F007E8.Sig.b06_06       //  左侧车道偏离
#define FCW				  	CANMsg10F007E8.Sig.b10_10       //  前碰预警

static const uint8_t  CANMsg10F007E8Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10F007E8Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg10F007E8Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ADAS_2
ID:0x18FE5BE8
报文:ADAS_2
信号:
|- Right_Lane_Tracking		右车道跟踪
|- Leftt_Lane_Tracking		左车道跟踪
|- LDW_Disable			    	车道偏离预警未启用
|- Headway_Warning		  	车距监测报警
|- PCW					        	行人碰撞
|- Headway_Measurement		车距监测时间数值
|- ADAS_Error_Active	   	Error Active
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   // 
		uint8_t   b02_03 	:  2;   // Right_Lane_Tracking
		uint8_t   b04_05 	:  2;   // Leftt_Lane_Tracking
		uint8_t   b06_06 	:  1;   // LDW_Disable
		uint8_t   b07_07 	:  1;   // 
		
		uint8_t   b10_14 	:  5;   // 
		uint8_t   b15_16 	:  2;   // Headway_Warning
		uint8_t   b17_17 	:  1;   // 
		
		uint8_t   b20_20 	:  1;   // PCW
		uint8_t   b21_21 	:  1;   // Ped_In_Zone
		uint8_t   b21_25 	:  4;   // 
		uint8_t   b26_26 	:  1;   // ADAS_Maintenance
		uint8_t   b27_27 	:  1;   //  ADAS_Failsafe
		
		uint8_t   b30_30 	:  1;   // 
		uint8_t   b31_37 	:  7;   // Headway_Measurement
		
		uint8_t   b40_40 	:  1;   // ADAS_Error_Active
		uint8_t   b41_47 	:  7;   // ADAS_Error_Code
		
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FE5BE8Union;

extern volatile CANMsg18FE5BE8Union             CANMsg18FE5BE8;
extern volatile uint8_t     CANMsg18FE5BE8Status;

#define ADAS_2          		   	      0x18FE5BE8
#define ADAS_2_STATUS       		    CANMsg18FE5BE8Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Right_Lane_Tracking			CANMsg18FE5BE8.Sig.b02_03       // 右车道跟踪
#define Leftt_Lane_Tracking			CANMsg18FE5BE8.Sig.b04_05       // 左车道跟踪
#define LDW_Disable					    CANMsg18FE5BE8.Sig.b06_06       // 车道偏离预警未启用 
#define Headway_Warning				  CANMsg18FE5BE8.Sig.b15_16       // 车距监测报警
#define PCW							        CANMsg18FE5BE8.Sig.b20_20       // 行人碰撞
#define Ped_In_Zone							CANMsg18FE5BE8.Sig.b21_21       // Ped in zone
#define ADAS_Maintenance				CANMsg18FE5BE8.Sig.b26_26       // 维修信息
#define ADAS_Failsafe						CANMsg18FE5BE8.Sig.b27_27       // Failsafe
#define Headway_Measurement			CANMsg18FE5BE8.Sig.b31_37       // 车距监测时间数值
#define ADAS_Error_Active			  CANMsg18FE5BE8.Sig.b40_40       // Error Active
#define ADAS_Error_Code			  CANMsg18FE5BE8.Sig.b41_47       // ADAS_Error_Code

static const uint8_t  CANMsg18FE5BE8Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE5BE8Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE5BE8Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EEC1
ID:0x0CF00400
报文:EEC1
信号:
|- Engine_Speed				发送机转速 (玉柴、潍柴、大柴、锡柴、云内)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // Engine_SpeedL
		uint8_t   b40_47 	:  8;   // Engine_SpeedH	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg0CF00400Union;

extern volatile CANMsg0CF00400Union             CANMsg0CF00400;
extern volatile uint8_t     CANMsg0CF00400Status;

#define EEC1          		   	      0x0CF00400
#define EEC1_STATUS       		    CANMsg0CF00400Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Engine_SpeedL			CANMsg0CF00400.Sig.b30_37      // 发送机转速
#define Engine_SpeedH			CANMsg0CF00400.Sig.b40_47      // 发送机转速   (玉柴、潍柴、大柴、锡柴、云内)

static const uint8_t  CANMsg0CF00400Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg0CF00400Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg0CF00400Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ET1
ID:0x18FEEE00
报文:ET1
信号:
|- Engine_Coolant_Temp			冷却液温度

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // Engine_Coolant_Temp
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEEE00Union;

extern volatile CANMsg18FEEE00Union             CANMsg18FEEE00;
extern volatile uint8_t     CANMsg18FEEE00Status; 

#define ET1          		   	      0x18FEEE00
#define ET1_STATUS       		    CANMsg18FEEE00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Engine_Coolant_Temp			CANMsg18FEEE00.Sig.b00_07       //冷却液温度

static const uint8_t  CANMsg18FEEE00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEEE00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEEE00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EFLP1
ID:0x18FEEF00
报文:EFLP1
信号:
|- EngOilPress			机油压力(玉柴、潍柴、大柴、锡柴、云内)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // EngOilPress
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEEF00Union;

extern volatile CANMsg18FEEF00Union             CANMsg18FEEF00;
extern volatile uint8_t     CANMsg18FEEF00Status;

#define EFLP1          		   	      0x18FEEF00
#define EFLP1_STATUS       		    CANMsg18FEEF00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EngOilPress		CANMsg18FEEF00.Sig.b30_37    //机油压力(玉柴/潍柴/大柴/锡柴/云内)
static const uint8_t  CANMsg18FEEF00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEEF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEEF00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:AT1T1L
ID:0x18FE5600
报文:AT1T1L
信号:
|- Aftrtrtmnt1SCRCatalystTankLevel		尿素液位值/反应剂余量
|- Urealevelalarm_Kang				      	尿素液位报警(康明斯)
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // Aftrtrtmnt1SCRCatalystTankLevel
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		uint8_t   b40_44 	:  5;   // 
		uint8_t   b45_47 	:  3;   // Urealevelalarm_Kang	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FE5600Union;

extern volatile CANMsg18FE5600Union             CANMsg18FE5600;
extern volatile uint8_t     CANMsg18FE5600Status;

#define AT1T1L          		   	      0x18FE5600
#define AT1T1L_STATUS       		    CANMsg18FE5600Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Aftrtrtmnt1SCRCatalystTankLevel		CANMsg18FE5600.Sig.b00_07     // 尿素液位值/反应剂余量
//#if ModVersion == Version_KANG
#define Urealevelalarm_KANG					      CANMsg18FE5600.Sig.b45_47     // 尿素液位报警(康明斯)

static const uint8_t  CANMsg18FE5600Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE5600Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE5600Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:OI
ID:0x18FEFF00
报文:OI
信号:
|- Urealevelalarm_Yu		        	尿素液位报警(玉柴)
|- DriverAlarmSystem			       驾驶员报警系统(潍柴)
|- DrivabilityRestrictionsystem  驾驶性能限制系统(潍柴)
 ******************************************************************************/
/*typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		
		uint8_t   b10_12 	:  3;   // Urealevelalarm_Yu
		//uint8_t   b10_12 	:  3;	// DriverAlarmSystem 此信号需与五征确认
		uint8_t   b13_15 	:  3;   // DrivabilityRestrictionsystem
		uint8_t   b16_17 	:  2;   // 
		
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 
		
		uint8_t   b40_44 	:  5;   // 
		uint8_t   b45_47 	:  3;   // 	
		
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEFF00Union;

extern volatile CANMsg18FEFF00Union             CANMsg18FEFF00;
extern volatile uint8_t     CANMsg18FEFF00Status;

#define OI          		   	      0x18FEFF00
#define OI_STATUS       		    CANMsg18FEFF00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--

static const uint8_t  CANMsg18FEFF00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEFF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEFF00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};  */

/******************************************************************************
  ID名称:WFI    
ID:0x18FEFF17
报文:
信号:
|- WaterInFuelIndicator		燃料中有水指示(锡柴)
|- 

 ******************************************************************************/
/*typedef union
  {
  uint8_t Msg[8];
  struct
  {		
  uint8_t   b00_01 	:  2;   // WaterInFuelIndicator
  uint8_t   b02_07 	:  6;   // 
  uint8_t   b10_12 	:  3;   // 
  uint8_t   b13_15 	:  3;   // 
  uint8_t   b16_17 	:  2;   // 
  uint8_t   b20_27 	:  8;   // 
  uint8_t   b30_37 	:  8;   // 	
  uint8_t   b40_47 	:  5;   // 	
  uint8_t   b50_57 	:  8;   // 
  uint8_t   b60_67 	:  8;   //               
  uint8_t   b70_77    :  8;   //  
  }Sig; 
  } CANMsg18FEFF17Union;

  extern volatile CANMsg18FEFF17Union             CANMsg18FEFF17;
  extern volatile uint8_t     CANMsg18FEFF17Status;

#define WFI_XI          		   	      0x18FEFF17
#define WFI_XI_STATUS       		    CANMsg18FEFF17Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define WaterInFuelIndicator_XI	       	CANMsg18FEFF17.Sig.b00_01      // 燃料中有水指示(锡柴)
*/

static const uint8_t  CANMsg18FEFF17Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEFF17Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEFF17Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};  

/******************************************************************************
  ID名称:SHUTDN
ID:0x18FEE400
报文:SHUTDN
信号:
|- EngWaitToStartLamp		发动机预热指示灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_31 	:  2;   // EngWaitToStartLamp
		uint8_t   b32_37 	:  6;   // 
		uint8_t   b40_44 	:  5;   // 
		uint8_t   b45_47 	:  3;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEE400Union;

extern volatile CANMsg18FEE400Union             CANMsg18FEE400;
extern volatile uint8_t     CANMsg18FEE400Status;

#define SHUTDN          		   	      0x18FEE400
#define SHUTDN_STATUS       		    CANMsg18FEE400Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EngWaitToStartLamp		CANMsg18FEE400.Sig.b30_31       //发动机预热指示灯

static const uint8_t  CANMsg18FEE400Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEE400Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEE400Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:WFI_DA    
ID:0x18FF7400
报文:
信号:
|- DriverAlarmSystem  		驾驶员报警系统(大柴、锡柴)

 ******************************************************************************/
typedef union
  {
  uint8_t Msg[8];
  struct
  {		
  uint8_t   b00_02 	:  3;   // DriverAlarmSystem
  uint8_t   b03_07 	:  5;   // 
  uint8_t   b10_17 	:  8;   // 
  uint8_t   b20_27 	:  8;   // 
  uint8_t   b30_37 	:  8;   // 	
  uint8_t   b40_47 	:  8;   // 	
  uint8_t   b50_57 	:  8;   // 
  uint8_t   b60_67 	:  8;   //               
  uint8_t   b70_77  :  8;   //  
  }Sig; 
  } CANMsg18FF7400Union;

  extern volatile CANMsg18FF7400Union             CANMsg18FF7400;
  extern volatile uint8_t     CANMsg18FF7400Status;

#define WFI_DA          		   	      0x18FF7400
#define WFI_DA_STATUS       		    CANMsg18FF7400Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define DriverAlarmSystem_DA			  CANMsg18FF7400.Sig.b00_02      // 驾驶员报警系统(大柴、锡柴)

static const uint8_t  CANMsg18FF7400Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF7400Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF7400Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; 
/******************************************************************************
  ID名称:WFI    此ID与前面的OI的ID相同,需要修改
ID:0x18FEFF00
报文:
信号:
|- WaterInFuelIndicator		燃料中有水指示 (康明斯、玉柴、潍柴、云内)
|- DriverAlarmSystem  		驾驶员报警系统(康明斯)

 ******************************************************************************/
typedef union
  {
  uint8_t Msg[8];
  struct
  {		
  uint8_t   b00_01 	:  2;   // WaterInFuelIndicator
  uint8_t   b02_07 	:  6;   // 
  uint8_t   b10_12 	:  3;   // DriverAlarmSystem
  uint8_t   b13_15 	:  3;   // 
  uint8_t   b16_17 	:  2;   // 
  uint8_t   b20_27 	:  8;   // 
  uint8_t   b30_37 	:  8;   // 	
  uint8_t   b40_47 	:  5;   // 	
  uint8_t   b50_57 	:  8;   // 
  uint8_t   b60_67 	:  8;   //               
  uint8_t   b70_77    :  8;   //  
  }Sig; 
  } CANMsg18FEFF00Union;

  extern volatile CANMsg18FEFF00Union             CANMsg18FEFF00;
  extern volatile uint8_t     CANMsg18FEFF00Status;

#define WFI          		   	      0x18FEFF00
#define WFI_STATUS       		    CANMsg18FEFF00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define WaterInFuelIndicator	       	CANMsg18FEFF00.Sig.b00_01      // 燃料中有水指示(康明斯、玉柴、潍柴、云内)
#define DriverAlarmSystem_KANGWEI			CANMsg18FEFF00.Sig.b10_12      // 驾驶员报警系统(康明斯、潍柴)
#define Urealevelalarm_YU		          CANMsg18FEFF00.Sig.b10_12         //  尿素液位报警(玉柴)
#define DrivabilityRestrictionsystem	CANMsg18FEFF00.Sig.b13_15         //  驾驶性能限制系统(潍柴)
#define DriverAlarmSystem_YUN	        CANMsg18FEFF00.Sig.b13_15         //  驾驶员报警系统(云内)

static const uint8_t  CANMsg18FEFF00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEFF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEFF00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};  

/******************************************************************************
  ID名称:MFD1   
ID:0x18FF0800
报文:MFD1
信号:
|- OBDMalfunctionindLamp	   	OBD灯状态(MIL灯)(潍柴)
|- EngineMalfunctionLamp  		发动机系统一般故障(潍柴)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_31 	:  2;   // OBDMalfunctionindLamp
		uint8_t   b32_33 	:  2;   // EngineMalfunctionLamp
		uint8_t   b34_37 	:  4;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //               
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FF0800Union;

extern volatile CANMsg18FF0800Union             CANMsg18FF0800;
extern volatile uint8_t     CANMsg18FF0800Status;

#define MFD1          		   	      0x18FF0800
#define MFD1_STATUS       		    CANMsg18FF0800Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EngineMalfunctionLamp_WEI		CANMsg18FF0800.Sig.b32_33     //  发动机系统一般故障(潍柴)
#define OBDMalfunctionindLamp_WEI		CANMsg18FF0800.Sig.b30_31     //  OBD灯状态(MIL灯)(潍柴)

static const uint8_t  CANMsg18FF0800Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF0800Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF0800Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:DPFC1   
ID:0x18FD7C00
报文:DPFC1
信号:
|- DPF_Lamp_Status				DPF再生指示灯状态(康明斯/玉柴、锡柴)
//|- DPF_Lamp_Status			DPF再生指示灯状态(潍柴) 
|- DPF_Forbidden_Lamp			DPF禁止主动再生(玉柴/潍柴)
|- ExhaustHighTempLamp			高排气温度报警灯(康明斯)
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_02 	:  3;   // DPF_Lamp_Status
		uint8_t   b03_07 	:  5;   // 
		
		uint8_t   b10_13 	:  4;   // 
		uint8_t   b14_17 	:  4;   // DPF_Need_Status

		uint8_t   b20_21 	:  2;   // DPF_Forbidden_Lamp
		uint8_t   b22_23 	:  2;   // 
		uint8_t   b24_27 	:  4;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_61 	:  2;   //  
		uint8_t   b62_64 	:  3;   // ExhaustHighTempLamp 
		uint8_t   b65_67 	:  3;   // 
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FD7C00Union;

extern volatile CANMsg18FD7C00Union             CANMsg18FD7C00;
extern volatile uint8_t     CANMsg18FD7C00Status;

#define DPFC1          		   	      0x18FD7C00
#define DPFC1_STATUS       		    CANMsg18FD7C00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define DPF_Lamp_Status				  CANMsg18FD7C00.Sig.b00_02      //  DPF再生指示灯状态 
#define DPF_Need_Status				  CANMsg18FD7C00.Sig.b14_17      //  DPF需要再生状态(大柴/锡柴) 
#define DPF_Forbidden_Lamp_YUWEI	  CANMsg18FD7C00.Sig.b20_21      //  DPF禁止主动再生(玉柴/潍柴)
#define DPF_Forbidden_Lamp_YUN		  CANMsg18FD7C00.Sig.b22_23      //  DPF禁止主动再生(云内)
#define ExhaustHighTempLamp			  CANMsg18FD7C00.Sig.b62_64      //  高排气温度报警灯(康明斯、云内)

static const uint8_t  CANMsg18FD7C00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD7C00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD7C00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:DPFC1_DA   
ID:0x18E0FF00
信号:
|- DPF_Forbidden_Lamp			DPF禁止主动再生(大柴、锡柴)
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_51 	:  2;   // DPF_Forbidden_Lamp
  	uint8_t   b52_57 	:  6;   // 
		uint8_t   b60_67 	:  8;   //  
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18E0FF00Union;

extern volatile CANMsg18E0FF00Union             CANMsg18E0FF00;
extern volatile uint8_t     CANMsg18E0FF00Status;

#define DPFC1_DA          		   	      0x18E0FF00
#define DPFC1_DA_STATUS       		    CANMsg18E0FF00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define DPF_Forbidden_Lamp_DA			CANMsg18E0FF00.Sig.b50_51      //  DPF禁止主动再生(大柴、锡柴)

static const uint8_t  CANMsg18E0FF00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18E0FF00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18E0FF00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
  ID名称:ERC1_WEI   
ID:0x18F0000F
报文:ERC1_WEI
信号:
|- Retarder_Request_BreakLight_WEI		排气制动灯(潍柴)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_31 	:  2;   // 	
		uint8_t   b32_33 	:  2;   // Retarder_Request_BreakLight_WEI
		uint8_t   b34_37 	:  4;   // 
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18F0000FUnion;

extern volatile CANMsg18F0000FUnion             CANMsg18F0000F;
extern volatile uint8_t     CANMsg18F0000FStatus;

#define ERC1_WEI          		   	      0x18F0000F
#define ERC1_WEI_STATUS       		    CANMsg18F0000FStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Retarder_Request_BreakLight_WEI			CANMsg18F0000F.Sig.b32_33    //排气制动灯(潍柴)

static const uint8_t  CANMsg18F0000FInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18F0000FTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18F0000FMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ERC1_YU   
ID:0x18FD070F
报文:ERC1_YU
信号:
|- Retarder_Request_BreakLight_YU		排气制动灯(玉柴)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_11 	:  2;   // Retarder_Request_BreakLight_YU
		uint8_t   b12_17 	:  6;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FD070FUnion;

extern volatile CANMsg18FD070FUnion             CANMsg18FD070F;
extern volatile uint8_t     CANMsg18FD070FStatus;

#define ERC1_YU          		   	      0x18FD070F
#define ERC1_YU_STATUS       		    CANMsg18FD070FStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Retarder_Request_BreakLight_YU			CANMsg18FD070F.Sig.b10_11   //排气制动灯(玉柴)

static const uint8_t  CANMsg18FD070FInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD070FTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD070FMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:ERC1_EXR   
ID:0x18F00029
报文:ERC1_YU
信号:
|- Retarder_Request_BreakLight_YU		排气制动灯(大柴、云内、锡柴)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // 
		uint8_t   b10_17 	:  8;   // Retarder_Request_BreakLight_YU
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18F00029Union;

extern volatile CANMsg18F00029Union             CANMsg18F00029;
extern volatile uint8_t     CANMsg18F00029Status;

#define ERC1_EXR          		   	      0x18F00029
#define ERC1_EXR_STATUS       		    CANMsg18F00029Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Retarder_Request_BrakeLight			CANMsg18F00029.Sig.b10_17   //排气制动灯(大柴、云内、锡柴)

static const uint8_t  CANMsg18F00029Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18F00029Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18F00029Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
  ID名称:ERC1_KANG   
ID:0x18FD0700
报文:ERC1_KANG
信号:
|- Retarder_Request_BreakLight_KANG		排气制动灯(康明斯)

 ******************************************************************************/
/*typedef union
  {
  uint8_t Msg[8];
  struct
  {		
  uint8_t   b00_07 	:  8;   // 
  uint8_t   b10_11 	:  2;   // Retarder_Request_BreakLight_KANG
  uint8_t   b12_17 	:  6;   // 
  uint8_t   b20_27 	:  8;   // 
  uint8_t   b30_37 	:  8;   // 	
  uint8_t   b40_47 	:  8;   // 	
  uint8_t   b50_57 	:  8;   // 
  uint8_t   b60_67 	:  8;   //  	
  uint8_t   b70_77    :  8;   //  
  }Sig; 
  } CANMsg18FD0700Union;

  extern volatile CANMsg18FD0700Union             CANMsg18FD0700;
  extern volatile uint8_t     CANMsg18FD0700Status;

#define ERC1_KANG          		   	      0x18FD0700
#define ERC1_KANG_STATUS       		    CANMsg18FD0700Status
//------信号名---------------定义-----------注释-----------------起始位--长度--


static const uint8_t  CANMsg18FD0700Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD0700Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD0700Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};    */

/******************************************************************************
  ID名称:DLCC1               ID冲突
ID:0x18FD0700
报文:DLCC1
信号:
|- EngineMalfunctionLamp		发动机系统一般故障(康明斯,大柴)    
|- DriverAlarmSystem		  	驾驶员报警系统(玉柴)
|- EngineSeriousFailure			发动机系统严重故障(康明斯)
|- OBDMalfunctionindLamp		OBD灯状态(MIL灯)(康明斯/玉柴/大柴)
|- EngOilPressWaringLamp		机油压力低报警灯(玉柴)
|- EngCoolantTempWarningLamp    发动机水温报警灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   //  EngineMalfunctionLamp  发动机系统一般故障(云内)
		uint8_t   b02_03 	:  2;   // EngineMalfunctionLamp/DriverAlarmSystem
		uint8_t   b04_05 	:  2;	// EngineSeriousFailure	
		uint8_t   b06_07 	:  2;	// OBDMalfunctionindLamp
		uint8_t   b10_11 	:  2;   // 
		uint8_t   b12_13 	:  2;   // 
		uint8_t   b14_15 	:  2;   // EngOilPressWaringLamp
		uint8_t   b16_17 	:  2;   // EngCoolantTempWarningLamp
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FD0700Union;

extern volatile CANMsg18FD0700Union             CANMsg18FD0700;
extern volatile uint8_t     CANMsg18FD0700Status;

#define DLCC1          		   	      0x18FD0700
#define DLCC1_STATUS       		    CANMsg18FD0700Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EngineMalfunctionLamp_YUN		CANMsg18FD0700.Sig.b00_01      //  发动机系统一般故障(云内/潍柴)
#define EngineMalfunctionLamp_DAKANG		CANMsg18FD0700.Sig.b02_03      //  发动机系统一般故障(大柴、锡柴、康明斯)
#define DriverAlarmSystem_YU				CANMsg18FD0700.Sig.b02_03      //  驾驶员报警系统(玉柴)
#define EngineSeriousFailure			CANMsg18FD0700.Sig.b04_05      //  发动机系统严重故障(康明斯)
#define OBDMalfunctionindLamp_KANGYU		CANMsg18FD0700.Sig.b06_07      //  OBD灯状态(MIL灯)(康明斯、玉柴、大柴、锡柴、云内)
#define Retarder_Request_BreakLight_KANG			CANMsg18FD0700.Sig.b10_11    //排气制动灯(康明斯)
#define EngOilPressWaringLamp			CANMsg18FD0700.Sig.b14_15      //  机油压力低报警灯(玉柴、锡柴) 
#define EngCoolantTempWarningLamp	CANMsg18FD0700.Sig.b16_17      //  发动机水温报警灯(康明斯/玉柴/潍柴)

static const uint8_t  CANMsg18FD0700Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD0700Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FD0700Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EIMI   
ID:0x18FB8500
报文?
信号:
|- Stop_Start_System_Public		起停系统状态指示灯命令(康明斯)

 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_03 	:  4;   //   Stop_Start_System_Public
		uint8_t   b04_07 	:  4;   // 
		uint8_t   b10_11 	:  2;   // 
		uint8_t   b12_17 	:  6;   // 
		uint8_t   b20_27 	:  8;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	
		uint8_t   b50_57 	:  8;   // 
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FB8500Union;

extern volatile CANMsg18FB8500Union             CANMsg18FB8500;
extern volatile uint8_t     CANMsg18FB8500Status;

#define EIMI          		   	      0x18FB8500
#define EIMI_STATUS       		    CANMsg18FB8500Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Stop_Start_System_Public			CANMsg18FB8500.Sig.b00_03    //起停系统状态指示灯命令(康明斯)

static const uint8_t  CANMsg18FB8500Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FB8500Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FB8500Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:LFC   
ID:0x18FEE900
报文?
信号:
|- CumulativeOilConsumOneway
CumulativeOilConsumption
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //CumulativeOilConsumOneway 
		uint8_t   b10_17 	:  8;   //CumulativeOilConsumOneway
		uint8_t   b20_27 	:  8;   //CumulativeOilConsumOneway
		uint8_t   b30_37 	:  8;   //CumulativeOilConsumOneway	
		uint8_t   b40_47 	:  8;   //CumulativeOilConsumption	
		uint8_t   b50_57 	:  8;   //CumulativeOilConsumption
		uint8_t   b60_67 	:  8;   //CumulativeOilConsumption 	
		uint8_t   b70_77  :  8;   //CumulativeOilConsumption  
	}Sig; 
} CANMsg18FEE900Union;

extern volatile CANMsg18FEE900Union             CANMsg18FEE900;
extern volatile uint8_t     CANMsg18FEE900Status;

#define LFC          		   	      0x18FEE900
#define LFC_STATUS       		    CANMsg18FEE900Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define CumulativeOilConsumOnewayLL			CANMsg18FEE900.Sig.b00_07   //CumulativeOilConsumOneway 累计油耗单程 (康明斯) (玉柴/潍柴)
#define CumulativeOilConsumOnewayLH			CANMsg18FEE900.Sig.b10_17   //CumulativeOilConsumOneway
#define CumulativeOilConsumOnewayHL			CANMsg18FEE900.Sig.b20_27   //CumulativeOilConsumOneway
#define CumulativeOilConsumOnewayHH			CANMsg18FEE900.Sig.b30_37   //CumulativeOilConsumOneway	
#define CumulativeOilConsumptionLL			CANMsg18FEE900.Sig.b40_47   //CumulativeOilConsumption	  累计油耗 (康明斯) (玉柴/潍柴/大柴)
#define CumulativeOilConsumptionLH			CANMsg18FEE900.Sig.b50_57   //CumulativeOilConsumption
#define CumulativeOilConsumptionHL			CANMsg18FEE900.Sig.b60_67   //CumulativeOilConsumption 	
#define CumulativeOilConsumptionHH			CANMsg18FEE900.Sig.b70_77   //CumulativeOilConsumption  

static const uint8_t  CANMsg18FEE900Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEE900Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEE900Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:LFE  
ID:0x18FEF200
报文?
信号:
|- FuelConsumptionRate    瞬时油耗-燃油消耗率
FuelEconomy            瞬时油耗-燃油经济性
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //  FuelConsumptionRate
		uint8_t   b10_17 	:  8;   //    FuelConsumptionRate
		uint8_t   b20_27 	:  8;   //    FuelEconomy
		uint8_t   b30_37 	:  8;   // 	  FuelEconomy
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEF200Union;

extern volatile CANMsg18FEF200Union             CANMsg18FEF200;
extern volatile uint8_t     CANMsg18FEF200Status;

#define LFE          		   	      0x18FEF200
#define LFE_STATUS       		    CANMsg18FEF200Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define FuelConsumptionRateL			CANMsg18FEF200.Sig.b00_07      //瞬时油耗-燃油消耗率
#define FuelConsumptionRateH			CANMsg18FEF200.Sig.b10_17  
#define FuelEconomyL			        CANMsg18FEF200.Sig.b20_27      // 瞬时油耗-燃油经济性   //20200229
#define FuelEconomyH			        CANMsg18FEF200.Sig.b30_37 

static const uint8_t  CANMsg18FEF200Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF200Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF200Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
  ID名称:DM1  
ID:0x18FECA00
报文?
信号:
|-EngineMalfunctionLamp1 
|-EngineMalfunctionLamp2      发动机系统故障灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_03 	:  4;   // 
		uint8_t   b04_05 	:  2;   //  EngineMalfunctionLamp1
		uint8_t   b06_07 	:  2;   // 
		uint8_t   b10_13 	:  4;   // 
		uint8_t   b14_15 	:  2;   // EngineMalfunctionLamp2
		uint8_t   b16_17 	:  2;   // 
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FECA00Union;

extern volatile CANMsg18FECA00Union             CANMsg18FECA00;
extern volatile uint8_t     CANMsg18FECA00Status;

#define DM1          		   	      0x18FECA00
#define DM1_STATUS       		    CANMsg18FECA00Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EngineMalfunctionLamp1			CANMsg18FECA00.Sig.b04_05      //发动机系统故障灯1
#define EngineMalfunctionLamp2			CANMsg18FECA00.Sig.b14_15      //发动机系统故障灯2

static const uint8_t  CANMsg18FECA00Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FECA00Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FECA00Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:TCU_ICM_Display1  
ID:0x1801D003
报文?
信号:
|-Gear_Display 档位显示
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   // Gear_Display
		uint8_t   b10_11 	:  2;   // AMT_Warning_Lamp 
		uint8_t   b12_13 	:  2;   // 
		uint8_t   b14_15 	:  2;   // 
		uint8_t   b16_17 	:  2;   // 
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg1801D003Union;

extern volatile CANMsg1801D003Union             CANMsg1801D003;
extern volatile uint8_t     CANMsg1801D003Status;

#define TCU_ICM_Display1          		   	      0x1801D003
#define TCU_ICM_Display1_STATUS       		    CANMsg1801D003Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Gear_Display			    CANMsg1801D003.Sig.b00_07      //档位显示
#define AMT_Warning_Lamp			CANMsg1801D003.Sig.b10_11      //AMT故障灯

static const uint8_t  CANMsg1801D003Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg1801D003Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg1801D003Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
  ID名称:CCVS 
ID:0x18FEF100
报文?
信号:
|- CruiseCtrlActive巡航工作指示灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //  
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_31 	:  2;   //CruiseCtrlActive 	
		uint8_t   b32_37 	:  6;   // 
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_64 	:  5;   //  
		uint8_t   b65_67 	:  3;   // CruiseCtrlActive	
		uint8_t   b70_77  :  8;   //  56
	}Sig; 
} CANMsg18FEF100Union;

extern volatile CANMsg18FEF100Union             CANMsg18FEF100;
extern volatile uint8_t     CANMsg18FEF100Status;

#define CCVS          		   	      0x18FEF100
#define CCVS_STATUS       		    CANMsg18FEF100Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define CruiseCtrlActive_DA			CANMsg18FEF100.Sig.b30_31      //巡航工作指示灯(大柴/锡柴/云内)
#define CruiseCtrlActive_FEIDA	CANMsg18FEF100.Sig.b65_67      //巡航工作指示灯(康明斯/潍柴/玉柴)


static const uint8_t  CANMsg18FEF100Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF100Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF100Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EBC1 
ID:0x18F0010B
报文?
信号:
|- ASR_OffRoad_Switch       ASR开关
ABS_FullyOperation           ABS完全工作模式
EBSRedWarningSignal          EBS红灯警告
ABS_EBS_AmberWarningSignal   ABS/EBS黄灯警告
ASR_Driver_Info_Signal       发给驾驶员的信号,发到仪表盘驱动灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   // ASR_Engine_Control_Active 
		uint8_t   b02_03 	:  2;   // ASR_BrakeControl_Active
		uint8_t   b04_05 	:  2;   // ABS_Active
		uint8_t   b06_07 	:  2;   // 
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_21 	:  2;   //  
		uint8_t   b22_23 	:  2;   //    ASR_OffRoad_Switch
		uint8_t   b24_27 	:  4;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_51 	:  2;   //     ABS_FullyOperation
		uint8_t   b52_53 	:  2;   //     EBSRedWarningSignal
		uint8_t   b54_55 	:  2;   //     ABS_EBS_AmberWarningSignal
		uint8_t   b56_57 	:  2;   //     ASR_Driver_Info_Signal
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18F0010BUnion;

extern volatile CANMsg18F0010BUnion             CANMsg18F0010B;
extern volatile uint8_t     CANMsg18F0010BStatus;

#define EBC1          		   	      0x18F0010B
#define EBC1_STATUS       		    CANMsg18F0010BStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define ASR_Engine_Control_Active 	CANMsg18F0010B.Sig.b00_01      //     ASR 发动机控制激活
#define ASR_BrakeControl_Active			CANMsg18F0010B.Sig.b02_03      //     ASR工作状态
#define ABS_Active			            CANMsg18F0010B.Sig.b04_05      //     ABS激活
#define ASR_OffRoad_Switch			    CANMsg18F0010B.Sig.b22_23      //     ASR开关
#define ABS_FullyOperation			    CANMsg18F0010B.Sig.b50_51      //  ABS完全工作模式
#define EBSRedWarningSignal			    CANMsg18F0010B.Sig.b52_53      //  EBS红灯警告
#define ABS_EBS_AmberWarningSignal	CANMsg18F0010B.Sig.b54_55      //  ABS/EBS黄灯警告
#define ASR_Driver_Info_Signal			CANMsg18F0010B.Sig.b56_57      //  ATC/ASR指示灯状态

static const uint8_t  CANMsg18F0010BInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18F0010BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18F0010BMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EBC2  
ID:0x18FEBF0B
报文?
信号:
|- FA_Speed         车速
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //      FA_Speed
		uint8_t   b10_17 	:  8;   //     FA_Speed
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEBF0BUnion;

extern volatile CANMsg18FEBF0BUnion             CANMsg18FEBF0B;
extern volatile uint8_t     CANMsg18FEBF0BStatus;

#define EBC2          		   	      0x18FEBF0B
#define EBC2_STATUS       		    CANMsg18FEBF0BStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define FA_SpeedL			CANMsg18FEBF0B.Sig.b00_07      //车速
#define FA_SpeedH			CANMsg18FEBF0B.Sig.b10_17      //车速


static const uint8_t  CANMsg18FEBF0BInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEBF0BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEBF0BMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EBC3  
ID:0x18FE4F0B
报文?
信号:
|- VDC_Information_Signal     VDC信息
VDC_Fully_Operational      VDC全部工作
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   //   VDC_Information_Signal
		uint8_t   b02_03 	:  2;   //   VDC_Fully_Operational
		uint8_t   b04_07 	:  4;   //  
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FE4F0BUnion;

extern volatile CANMsg18FE4F0BUnion             CANMsg18FE4F0B;
extern volatile uint8_t     CANMsg18FE4F0BStatus;

#define EBC3          		   	      0x18FE4F0B
#define EBC3_STATUS       		    CANMsg18FE4F0BStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define VDC_Information_Signal		CANMsg18FE4F0B.Sig.b00_01      // VDC信息
#define VDC_Fully_Operational			CANMsg18FE4F0B.Sig.b02_03      // VDC全部工作


static const uint8_t  CANMsg18FE4F0BInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE4F0BTimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE4F0BMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:AEBS1 
ID:0x0CF02F2A
报文?
信号:
|- AEB_State           AEB状态
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_03 	:  4;   // AEB_State
		uint8_t   b04_07 	:  4;   // 
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg0CF02F2AUnion;

extern volatile CANMsg0CF02F2AUnion             CANMsg0CF02F2A;
extern volatile uint8_t     CANMsg0CF02F2AStatus;

#define AEBS1          		   	      0x0CF02F2A
#define AEBS1_STATUS       		    CANMsg0CF02F2AStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define AEB_State			CANMsg0CF02F2A.Sig.b00_03      // AEB状态


static const uint8_t  CANMsg0CF02F2AInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg0CF02F2ATimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg0CF02F2AMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称?EEPBS1 
ID:0x18FE1264
报文?
信号:
|- EPB_State电子驻车状态
AutoHold  临时停车工作状态指示灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_01 	:  2;   //    EPB_State
		uint8_t   b02_05 	:  4;   //    AutoHold
		uint8_t   b06_07 	:  2;   // 
		uint8_t   b10_17 	:  8;   // 
		   
		uint8_t   b20_21 	:  2;   // 
		uint8_t   b22_23 	:  2;   // 
		uint8_t   b24_27 	:  4;   // 
		 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FE1264Union;

extern volatile CANMsg18FE1264Union             CANMsg18FE1264;
extern volatile uint8_t     CANMsg18FE1264Status;

#define EEPBS1          		   	      0x18FE1264
#define EEPBS1_STATUS       		    CANMsg18FE1264Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EPB_State			CANMsg18FE1264.Sig.b00_01      //电子驻车状态
#define AutoHold			CANMsg18FE1264.Sig.b02_05      //临时停车工作状态指示灯
#define EPB_Lamp_State	CANMsg18FE1264.Sig.b10_17      //EPB故障指示灯
#define Child_Loca_State	CANMsg18FE1264.Sig.b20_21      //童锁状态
#define LowPress_ReleaseLimit	CANMsg18FE1264.Sig.b22_23      //低压释放限制状态

static const uint8_t  CANMsg18FE1264Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE1264Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FE1264Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称?EEPB_DM1  
ID:0x18FECA64
报文?
信号:
|- Amber_Warning_Lamp_St        EPB故障灯
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
    uint8_t   b00_01 	:  2;   //                             
    uint8_t   b02_03 	:  2;   //  Amber_Warning_Lamp_St      
    uint8_t   b04_07 	:  4;   //                             
    uint8_t   b10_17 	:  8;   //                             
    uint8_t   b20_27 	:  8;   //                             
    uint8_t   b30_37 	:  8;   // 	                           
    uint8_t   b40_47 	:  8;   // 	                           
    uint8_t   b50_57 	:  8;   //                             
    uint8_t   b60_67 	:  8;   //  	                         
    uint8_t   b70_77  :  8;   //                             
	}Sig; 
} CANMsg18FECA64Union;

extern volatile CANMsg18FECA64Union             CANMsg18FECA64;
extern volatile uint8_t     CANMsg18FECA64Status;

#define EEPB_DM1          		   	      0x18FECA64
#define EEPB_DM1_STATUS       		    CANMsg18FECA64Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Amber_Warning_Lamp_St			CANMsg18FECA64.Sig.b02_03      // EPB故障灯

static const uint8_t  CANMsg18FECA64Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FECA64Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FECA64Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称?EEPS_Status 
ID:0x18FF0113
报文?
信号:
|-   EPS_Status         EEPS状态
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_00 	:  1;   // 
		uint8_t   b01_02 	:  2;   //   
		uint8_t   b03_07 	:  5;   //  
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_20 	:  1;   //  
		uint8_t   b21_22 	:  2;   // EPS_Status
		uint8_t   b23_27 	:  5;   // 
		uint8_t   b30_37 	:  8;   // 	
		uint8_t   b40_47 	:  8;   // 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FF0113Union;

extern volatile CANMsg18FF0113Union             CANMsg18FF0113;
extern volatile uint8_t     CANMsg18FF0113Status;

#define EPS_Status          		   	      0x18FF0113
#define EPS_Status_STATUS       		    CANMsg18FF0113Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define EPS_Status_signal			CANMsg18FF0113.Sig.b01_02      //EEPS状态


static const uint8_t  CANMsg18FF0113Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF0113Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FF0113Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称:EGSM_1  
ID:0x1802BFD0
报文?
信号:
|- ActualGearPosition        实际档位
EGSMFaultSt               EGSM错误状态
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_03 	:  4;   //   ActualGearPosition
		uint8_t   b04_04 	:  1;   //   
		uint8_t   b05_05 	:  1;   //    EGSMFaultSt
		uint8_t   b06_07 	:  2;   // 
		
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   // 		
		uint8_t   b40_47 	:  8;   // 
			 
		uint8_t   b50_51 	:  2;   //  EGSM_ShiftGearTip
		uint8_t   b52_53 	:  2;   //
		uint8_t   b54_57 	:  4;   //  EGSM_NearShiftGearTip
		  
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg1802BFD0Union;

extern volatile CANMsg1802BFD0Union             CANMsg1802BFD0;
extern volatile uint8_t     CANMsg1802BFD0Status;

#define EGSM_1          		   	      0x1802BFD0
#define EGSM_1_STATUS       		    CANMsg1802BFD0Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define ActualGearPosition	CANMsg1802BFD0.Sig.b00_03      //实际档位
#define EGSMFaultSt			    CANMsg1802BFD0.Sig.b05_05              //  EGSM错误状态
#define EGSM_ShiftGearTip			    CANMsg1802BFD0.Sig.b50_51              //  换挡提示
#define EGSM_NearShiftGearTip			    CANMsg1802BFD0.Sig.b54_57              //  邻近档位提示

static const uint8_t  CANMsg1802BFD0Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg1802BFD0Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg1802BFD0Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};

/******************************************************************************
  ID名称?AAMB  
ID:0x18FEF500
报文
信号:
|- 
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //   
		uint8_t   b10_17 	:  8;   //    
		uint8_t   b20_27 	:  8;   //  
		uint8_t   b30_37 	:  8;   //Ambient_Air_TemperatureL 	
		uint8_t   b40_47 	:  8;   //Ambient_Air_TemperatureH 	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEF500Union;

extern volatile CANMsg18FEF500Union             CANMsg18FEF500;
extern volatile uint8_t     CANMsg18FEF500Status;

#define AMB          		   	      0x18FEF500
#define AMB_STATUS       		      CANMsg18FEF500Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define Ambient_Air_TemperatureL 	CANMsg18FEF500.Sig.b30_37      //
#define Ambient_Air_TemperatureH 	CANMsg18FEF500.Sig.b40_47      //


static const uint8_t  CANMsg18FEF500Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF500Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEF500Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
  ID名称?AGPS_SYSTime  
ID:0x18FEE6EE
报文
信号:
|- 
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //   
		uint8_t   b10_17 	:  8;   //GPS_SYSTime_Min    
		uint8_t   b20_27 	:  8;   //GPS_SYSTime_Hour  
		uint8_t   b30_37 	:  8;   //	
		uint8_t   b40_47 	:  8;   //	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77  :  8;   //  
	}Sig; 
} CANMsg18FEE6EEUnion;

extern volatile CANMsg18FEE6EEUnion             CANMsg18FEE6EE;
extern volatile uint8_t     CANMsg18FEE6EEStatus;

#define GPS_SYSTime          		   	      0x18FEE6EE
#define GPS_SYSTime_STATUS       		      CANMsg18FEE6EEStatus
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define GPS_SYSTime_Min 	CANMsg18FEE6EE.Sig.b10_17      //
#define GPS_SYSTime_Hour 	CANMsg18FEE6EE.Sig.b20_27      //


static const uint8_t  CANMsg18FEE6EEInit[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEE6EETimeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg18FEE6EEMask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/******************************************************************************
  ID名称:T-BOX  
ID:0x1CFFBE18
报文
信号:
|- 
 ******************************************************************************/
typedef union
{
	uint8_t Msg[8];
	struct
	{		
		uint8_t   b00_07 	:  8;   //   
		uint8_t   b10_17 	:  8;   //   
		uint8_t   b20_23 	:  4;   // RMS_Fault 
		uint8_t   b24_27 	:  4;   //

		uint8_t   b30_37 	:  8;   //	
		uint8_t   b40_47 	:  8;   //	 
		uint8_t   b50_57 	:  8;   //   
		uint8_t   b60_67 	:  8;   //  	
		uint8_t   b70_77    :  8;   //  
	}Sig; 
} CANMsg1CFFBE18Union;

extern volatile CANMsg1CFFBE18Union             CANMsg1CFFBE18;
extern volatile uint8_t     CANMsg1CFFBE18Status;

#define T_BOX_RVM          		   	      0x1CFFBE18
#define T_BOX_RVM_STATUS       		      CANMsg1CFFBE18Status
//------信号名---------------定义-----------注释-----------------起始位--长度--
#define RMS_Fault 	CANMsg1CFFBE18.Sig.b20_23      //


static const uint8_t  CANMsg1CFFBE18Init[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg1CFFBE18Timeout[8] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
static const uint8_t  CANMsg1CFFBE18Mask[8]    = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
/*****************************************************************************************************************************************************************************
  报文属性预定义
 *****************************************************************************************************************************************************************************/ 

/***  属性表结构  ***/ 
typedef struct
{
	uint32_t  ID;           //报文ID
	volatile uint8_t   *pMsg;        //报文名称(报文存储地址)
	uint8_t   DLCMax;       //报文最大允许报文长度
	uint8_t   DLCMin;       //报文最小允许报文长度
	uint8_t   Dir;          //报文方向(收/发)
	uint8_t   Type;         //报文类型(周期/事件)
	uint32_t  Cycle;        //报文超时周期(收),报文发送周期(发)
	uint16_t  Offset;       //报文时间偏移量
	volatile uint8_t   *pStatus;     //报文状态
	const    uint8_t   *pInit;       //报文初始化值
	const    uint8_t   *pTimeOut;    //报文掉线值
	const    uint8_t   *pMask;       //报文屏蔽位(决定某一位在掉线时是否更新为掉线值)
}CANMsgAttrStruct;

/***  报文方向预定义  ***/ 
#define   CAN_MSG_Rx                        0x00
#define   CAN_MSG_Tx                        (!CAN_MSG_Rx)

/***  报文类型预定义  ***/ 
#define   CAN_MSG_CYCLE                     0x00
#define   CAN_MSG_EVENT                     0x01

/***  报文状态预定义  ***/
/*  ====================================================================================
	Bit 7       |    Bit 6 ~ Bit 2   |        Bit 1       |        Bit 0       
	-----------------------------------------------------------------------------------
	CAN_TX_EN     |        Rsvd        |     CAN_UPDATE     |    CAN_MSG_LOST
	|                    |                    |      报文丢失
	发送使能      |        保留        |    报文更新标志    |   (报文接收超时)
	===================================================================================  */
#define   CAN_TX_EN                         0x80
#define   CAN_UPDATE                        0x02
#define   CAN_MSG_LOST                      0x01

/***  其他 ***/
#ifndef   NULL
#define   NULL                              0x00
#endif

/*****************************************************************************************************************************************************************************
  报文属性列表
 *****************************************************************************************************************************************************************************/ 
static const CANMsgAttrStruct CANMsgAttrTable[] = 
{
	/*============================================================================================================================================================================
	  报文名称           |              | 最大 | 最小 |            |              | 周期 | 偏移 |                  |                |                  |  报文掉线默
	  (ID)             |   报文缓存   | 长度 | 长度 |    方向    |     类型     | (ms) | (ms) |     报文状态     |  报文初始化值  |  报文掉线默认值  |  认值屏蔽位
	  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
     //网络管理报文必须放在这个位置,与诊断的28服务关联
    { NWM_BCM,	  	     CANMsg18FFA021.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	10000,	  0,   &CANMsg18FFA021Status,	  CANMsg18FFA021Init,    CANMsg18FFA021Timeout,   CANMsg18FFA021Mask,},
    
    { BCM_ExternalLight, CANMsg10FF1021.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	  500,	  0,   &CANMsg10FF1021Status,	  CANMsg10FF1021Init,    CANMsg10FF1021Timeout,   CANMsg10FF1021Mask,},
    { BCM_StatusNBC,	   CANMsg10FF7521.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg10FF7521Status,	  CANMsg10FF7521Init,    CANMsg10FF7521Timeout,   CANMsg10FF7521Mask,},
    { BCM_Msg2,	  	     CANMsg10FF1017.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg10FF1017Status,	  CANMsg10FF1017Init,    CANMsg10FF1017Timeout,   CANMsg10FF1017Mask,},
    { BCM_TPMS,	  	     CANMsg18FEF433.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	10000,	  0,   &CANMsg18FEF433Status,	  CANMsg18FEF433Init,    CANMsg18FEF433Timeout,   CANMsg18FEF433Mask,},
    { BCM_PEPS_MSG1,	   CANMsg08FF00DD.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg08FF00DDStatus,	  CANMsg08FF00DDInit,    CANMsg08FF00DDTimeout,   CANMsg08FF00DDMask,},
    
     //网络管理报文必须放在这个位置,与诊断的28服务关联
    { NWM_ICM,	     	   CANMsg18FEF717.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 1000,	  0,   &CANMsg18FEF717Status,	  CANMsg18FEF717Init,    CANMsg18FEF717Timeout,   CANMsg18FEF717Mask,},
    
    { TCO1,	  	 	       CANMsg18FE6CEE.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 50,	    3,   &CANMsg18FE6CEEStatus,	  CANMsg18FE6CEEInit,    CANMsg18FE6CEETimeout,   CANMsg18FE6CEEMask,},
    { VDHR,	  	 	       CANMsg18FEC117.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 1000,	  11,   &CANMsg18FEC117Status,	  CANMsg18FEC117Init,    CANMsg18FEC117Timeout,   CANMsg18FEC117Mask,},
    { AIR1,	  		       CANMsg18FEAE17.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 1000,	  13,   &CANMsg18FEAE17Status,	  CANMsg18FEAE17Init,    CANMsg18FEAE17Timeout,   CANMsg18FEAE17Mask,},
    //{ PGNRQ,	  	       CANMsg18EA0021.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 3000,	  0,   &CANMsg18EA0021Status,	  CANMsg18EA0021Init,    CANMsg18EA0021Timeout,   CANMsg18EA0021Mask,},
    //{ NWM_ICM,	     	   CANMsg18FEF717.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 1000,	  0,   &CANMsg18FEF717Status,	  CANMsg18FEF717Init,    CANMsg18FEF717Timeout,   CANMsg18FEF717Mask,},
    { ETCS,	  	     	   CANMsg18FEC317.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 100,	    7,   &CANMsg18FEC317Status,	  CANMsg18FEC317Init,    CANMsg18FEC317Timeout,   CANMsg18FEC317Mask,},
    { ICM_1,	  	   	   CANMsg18FE8E17.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 1000,	  17,   &CANMsg18FE8E17Status,	  CANMsg18FE8E17Init,    CANMsg18FE8E17Timeout,   CANMsg18FE8E17Mask,},
    { ICM_2,	  	   	   CANMsg18FEF117.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 100,	    3,   &CANMsg18FEF117Status,	  CANMsg18FEF117Init,    CANMsg18FEF117Timeout,   CANMsg18FEF117Mask,},
    { ICM_3,	  	   	   CANMsg18FF0A17.Msg,  8,	  8,  CAN_MSG_Tx,  CAN_MSG_CYCLE,	 100,	    11,   &CANMsg18FF0A17Status,	  CANMsg18FF0A17Init,    CANMsg18FF0A17Timeout,   CANMsg18FF0A17Mask,},

    { NWM_TBOX,	  	     CANMsg18EFCD27.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18EFCD27Status,	  CANMsg18EFCD27Init,    CANMsg18EFCD27Timeout,   CANMsg18EFCD27Mask,},
    { ADAS_1,	  	       CANMsg10F007E8.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg10F007E8Status,	  CANMsg10F007E8Init,    CANMsg10F007E8Timeout,   CANMsg10F007E8Mask,},
    { ADAS_2,	  	       CANMsg18FE5BE8.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FE5BE8Status,	  CANMsg18FE5BE8Init,    CANMsg18FE5BE8Timeout,   CANMsg18FE5BE8Mask,},
    { EEC1,	  	         CANMsg0CF00400.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 100,	    0,   &CANMsg0CF00400Status,	  CANMsg0CF00400Init,    CANMsg0CF00400Timeout,   CANMsg0CF00400Mask,},
    { ET1,	  	         CANMsg18FEEE00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FEEE00Status,	  CANMsg18FEEE00Init,    CANMsg18FEEE00Timeout,   CANMsg18FEEE00Mask,},
    { EFLP1,	  	       CANMsg18FEEF00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 5000,	  0,   &CANMsg18FEEF00Status,	  CANMsg18FEEF00Init,    CANMsg18FEEF00Timeout,   CANMsg18FEEF00Mask,},
    { AT1T1L,	  	       CANMsg18FE5600.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FE5600Status,	  CANMsg18FE5600Init,    CANMsg18FE5600Timeout,   CANMsg18FE5600Mask,},
    //{ OI,	  	 	         CANMsg18FEFF00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 100000,	0,   &CANMsg18FEFF00Status,	  CANMsg18FEFF00Init,    CANMsg18FEFF00Timeout,   CANMsg18FEFF00Mask,},
    //{ WFI_XI,	  	 	     CANMsg18FEFF17.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 20000,	0,   &CANMsg18FEFF17Status,	  CANMsg18FEFF17Init,    CANMsg18FEFF17Timeout,   CANMsg18FEFF17Mask,},
    { SHUTDN,	  	       CANMsg18FEE400.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FEE400Status,	  CANMsg18FEE400Init,    CANMsg18FEE400Timeout,   CANMsg18FEE400Mask,},
    { WFI_DA,	  	       CANMsg18FF7400.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FF7400Status,	  CANMsg18FF7400Init,    CANMsg18FF7400Timeout,   CANMsg18FF7400Mask,},
    { WFI,	  	         CANMsg18FEFF00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 30000,	  0,   &CANMsg18FEFF00Status,	  CANMsg18FEFF00Init,    CANMsg18FEFF00Timeout,   CANMsg18FEFF00Mask,},

    { MFD1,	  	         CANMsg18FF0800.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FF0800Status,	  CANMsg18FF0800Init,    CANMsg18FF0800Timeout,   CANMsg18FF0800Mask,},
    { DPFC1,	  	       CANMsg18FD7C00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FD7C00Status,	  CANMsg18FD7C00Init,    CANMsg18FD7C00Timeout,   CANMsg18FD7C00Mask,},
    { DPFC1_DA,	  	     CANMsg18E0FF00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18E0FF00Status,	  CANMsg18E0FF00Init,    CANMsg18E0FF00Timeout,   CANMsg18E0FF00Mask,},
    { ERC1_WEI,	  	     CANMsg18F0000F.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18F0000FStatus,	  CANMsg18F0000FInit,    CANMsg18F0000FTimeout,   CANMsg18F0000FMask,},
    { ERC1_YU,	  	     CANMsg18FD070F.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FD070FStatus,	  CANMsg18FD070FInit,    CANMsg18FD070FTimeout,   CANMsg18FD070FMask,},
    { ERC1_EXR,	  	     CANMsg18F00029.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18F00029Status,	  CANMsg18F00029Init,    CANMsg18F00029Timeout,   CANMsg18F00029Mask,},
    //{ ERC1_KANG,	  	   CANMsg18FD0700.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 1000,	  0,   &CANMsg18FD0700Status,	  CANMsg18FD0700Init,    CANMsg18FD0700Timeout,   CANMsg18FD0700Mask,},
    { DLCC1,	  	 	     CANMsg18FD0700.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FD0700Status,	  CANMsg18FD0700Init,    CANMsg18FD0700Timeout,   CANMsg18FD0700Mask,},
    { EIMI,	  	  	     CANMsg18FB8500.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FB8500Status,	  CANMsg18FB8500Init,    CANMsg18FB8500Timeout,   CANMsg18FB8500Mask,},
    { LFC,	  	  	     CANMsg18FEE900.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FEE900Status,	  CANMsg18FEE900Init,    CANMsg18FEE900Timeout,   CANMsg18FEE900Mask,},
    { LFE,	  	 	       CANMsg18FEF200.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FEF200Status,	  CANMsg18FEF200Init,    CANMsg18FEF200Timeout,   CANMsg18FEF200Mask,},
    { DM1,	  	 	       CANMsg18FECA00.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FECA00Status,	  CANMsg18FECA00Init,    CANMsg18FECA00Timeout,   CANMsg18FECA00Mask,},
    { TCU_ICM_Display1,	 CANMsg1801D003.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 1000,	  0,   &CANMsg1801D003Status,	  CANMsg1801D003Init,    CANMsg1801D003Timeout,   CANMsg1801D003Mask,},

    { CCVS,	  	 	       CANMsg18FEF100.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FEF100Status,	  CANMsg18FEF100Init,    CANMsg18FEF100Timeout,   CANMsg18FEF100Mask,},
    { EBC1,	  	  	     CANMsg18F0010B.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18F0010BStatus,	  CANMsg18F0010BInit,    CANMsg18F0010BTimeout,   CANMsg18F0010BMask,},
    { EBC2,	  	  	     CANMsg18FEBF0B.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FEBF0BStatus,	  CANMsg18FEBF0BInit,    CANMsg18FEBF0BTimeout,   CANMsg18FEBF0BMask,},
    { EBC3,	  	  	     CANMsg18FE4F0B.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FE4F0BStatus,	  CANMsg18FE4F0BInit,    CANMsg18FE4F0BTimeout,   CANMsg18FE4F0BMask,},
    { AEBS1,	  	  	   CANMsg0CF02F2A.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	  500,    0,   &CANMsg0CF02F2AStatus,	  CANMsg0CF02F2AInit,    CANMsg0CF02F2ATimeout,   CANMsg0CF02F2AMask,},
    { EEPBS1,	  	  	   CANMsg18FE1264.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 1000,	  0,   &CANMsg18FE1264Status,	  CANMsg18FE1264Init,    CANMsg18FE1264Timeout,   CANMsg18FE1264Mask,},
    //{ EEPB_DM1,	   	     CANMsg18FECA64.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	  0,   &CANMsg18FECA64Status,	  CANMsg18FECA64Init,    CANMsg18FECA64Timeout,   CANMsg18FECA64Mask,},
    { EPS_Status,	  	   CANMsg18FF0113.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	  0,   &CANMsg18FF0113Status,	  CANMsg18FF0113Init,    CANMsg18FF0113Timeout,   CANMsg18FF0113Mask,},
    { EGSM_1,	  	  	   CANMsg1802BFD0.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 2000,	    0,   &CANMsg1802BFD0Status,	  CANMsg1802BFD0Init,    CANMsg1802BFD0Timeout,   CANMsg1802BFD0Mask,},
    { AMB,	  	  	   CANMsg18FEF500.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	    0,   &CANMsg18FEF500Status,	  CANMsg18FEF500Init,    CANMsg18FEF500Timeout,   CANMsg18FEF500Mask,},
	{ GPS_SYSTime,	  	  	   CANMsg18FEE6EE.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 3000,	    0,   &CANMsg18FEE6EEStatus,	  CANMsg18FEE6EEInit,    CANMsg18FEE6EETimeout,   CANMsg18FEE6EEMask,},
	{ T_BOX_RVM,	  	  	   CANMsg1CFFBE18.Msg,  8,	  8,  CAN_MSG_Rx,  CAN_MSG_CYCLE,	 10000,	    0,   &CANMsg1CFFBE18Status,	  CANMsg1CFFBE18Init,    CANMsg1CFFBE18Timeout,   CANMsg1CFFBE18Mask,},
	/*==========================================================================================================================================================================*/
};
#define   CAN_TX_MSG_NUM                    8
#define   CAN_RX_MSG_NUM                    39

#endif