Commit 538724af authored by 时昊's avatar 时昊

feat:增加车速转速水温功能

parent 0a780149
......@@ -6,7 +6,7 @@
<Header>### uVision Project, (C) Keil Software</Header>
<PrjGuiSettings>
<LastAddFilePath></LastAddFilePath>
<LastAddFilePath>Z:\Desktop\haojin750_TFT\haojin750tft\Firmware\Source\Application</LastAddFilePath>
</PrjGuiSettings>
<ViewPool/>
......@@ -110,8 +110,8 @@
<MDIClientArea>
<RegID>0</RegID>
<MDITabState>
<Len>894</Len>
<Data>010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000060000000100000001000000785A3A5C4465736B746F705C313131315C68616F6A696E3735307466745C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413237395C4D444B5F41524D5C5254455C4465766963655C4241543332413237394B4D363446425C737461727475705F4241543332413237392E730000000013737461727475705F4241543332413237392E7300000000C5D4F200FFFFFFFF3A5A3A5C4465736B746F705C313131315C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF435A3A5C4465736B746F705C313131315C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5461736B5F4C6973742E63000000000F5379735F5461736B5F4C6973742E6300000000BECEA100FFFFFFFF655A3A5C4465736B746F705C313131315C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C5254455C4750494F5C5254455F4750494F5F4241543332413237392E6300000000145254455F4750494F5F4241543332413237392E6300000000F0A0A100FFFFFFFF475A3A5C4465736B746F705C313131315C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5363686564756C65725F4C69622E6300000000135379735F5363686564756C65725F4C69622E6300000000BCA8E100FFFFFFFF635A3A5C4465736B746F705C313131315C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C5254455C5744545C5254455F5744545F4241543332413237392E6300000000135254455F5744545F4241543332413237392E63000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000DA00000065000000B6060000E6020000</Data>
<Len>1210</Len>
<Data>010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000080000000700000001000000815A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413237395C4D444B5F41524D5C5254455C4465766963655C4241543332413237394B4D363446425C737461727475705F4241543332413237392E730000000013737461727475705F4241543332413237392E7300000000C5D4F200FFFFFFFF435A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF4C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5461736B5F4C6973742E63000000000F5379735F5461736B5F4C6973742E6300000000BECEA100FFFFFFFF6E5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C5254455C4750494F5C5254455F4750494F5F4241543332413237392E6300000000145254455F4750494F5F4241543332413237392E6300000000F0A0A100FFFFFFFF505A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5363686564756C65725F4C69622E6300000000135379735F5363686564756C65725F4C69622E6300000000BCA8E100FFFFFFFF6C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C5254455C5744545C5254455F5744545F4241543332413237392E6300000000135254455F5744545F4241543332413237392E63000000009CC1B600FFFFFFFF645A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C43414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E68000000002243414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E6800000000F7B88600FFFFFFFF4F5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C446174615F5653706565642E63000000000D446174615F5653706565642E6300000000D9ADC200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000DA00000065000000B6060000A7020000</Data>
</MDITabState>
</MDIClientArea>
<ViewEx>
......@@ -150,7 +150,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>0300000066000000D3000000B7020000</Data>
<Data>0300000066000000D300000078020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -170,7 +170,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>0300000066000000D3000000B7020000</Data>
<Data>0300000066000000D300000078020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -450,7 +450,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>0300000066000000D3000000B7020000</Data>
<Data>0300000066000000D300000078020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -470,7 +470,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>0300000066000000D3000000B7020000</Data>
<Data>0300000066000000D300000078020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -490,7 +490,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>00000000E8020000B60600004D030000</Data>
<Data>00000000A9020000B60600004D030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -530,7 +530,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000EB020000B306000034030000</Data>
<Data>03000000AC020000B306000034030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1150,7 +1150,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>0300000066000000D3000000B7020000</Data>
<Data>0300000066000000D300000078020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1170,7 +1170,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000EB020000B306000034030000</Data>
<Data>03000000AC020000B306000034030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1190,7 +1190,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000EB020000B306000034030000</Data>
<Data>03000000AC020000B306000034030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1250,7 +1250,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000EB020000B306000034030000</Data>
<Data>03000000AC020000B306000034030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1270,7 +1270,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000EB020000B306000034030000</Data>
<Data>03000000AC020000B306000034030000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1799,14 +1799,14 @@
</Window>
<DockMan>
<Len>3312</Len>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDA000000C8000000F9040000CC000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DA00000065000000F9040000DE000000DA0000004F000000F9040000C80000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1F0400004F00000023040000CE010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002304000065000000F9040000E4010000230400004F000000F9040000CE01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD60000004F000000DA000000D0020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000D6000000E6020000000000004F000000D6000000D00200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA010000F9040000BE01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000D4010000F90400006102000000000000BE010000F90400004B02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF7D020000BE010000810200004B02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000D0020000B6060000D4020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000EA020000B60600006303000000000000D4020000B60600004D0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDA000000C8000000F9040000CC000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DA00000065000000F9040000DE000000DA0000004F000000F9040000C80000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1F0400004F00000023040000CE010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002304000065000000F9040000E4010000230400004F000000F9040000CE01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFD60000004F000000DA00000091020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000D6000000A7020000000000004F000000D6000000910200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA010000F9040000BE01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000D4010000F90400006102000000000000BE010000F90400004B02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF7D020000BE010000810200004B02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000091020000B6060000950200000100000001000010040000000100000084FDFFFF77000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000AB020000B6060000630300000000000095020000B60600004D0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
</DockMan>
<ToolBar>
<RegID>59392</RegID>
<Name>File</Name>
<Buttons>
<Len>2537</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
</Buttons>
<OriginalItems>
<Len>1423</Len>
......@@ -3603,7 +3603,7 @@
<ActiveMDIGroup>0</ActiveMDIGroup>
<MDIGroup>
<Size>100</Size>
<ActiveTab>1</ActiveTab>
<ActiveTab>7</ActiveTab>
<Doc>
<Name>RTE\Device\BAT32A279KM64FB\startup_BAT32A279.s</Name>
<ColumnNumber>0</ColumnNumber>
......@@ -3615,9 +3615,9 @@
</Doc>
<Doc>
<Name>..\..\..\..\Source\System\main.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>71</TopLine>
<CurrentLine>88</CurrentLine>
<ColumnNumber>1</ColumnNumber>
<TopLine>80</TopLine>
<CurrentLine>97</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
......@@ -3652,12 +3652,30 @@
<Doc>
<Name>..\..\..\..\Source\Device\Cmsemicon\BAT32A279\RTE\WDT\RTE_WDT_BAT32A279.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>21</TopLine>
<TopLine>25</TopLine>
<CurrentLine>56</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\..\..\..\Source\Application\CAN_CH0_CAN_Communication_Matrix.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>31</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\..\..\..\Source\Application\Data_VSpeed.c</Name>
<ColumnNumber>6</ColumnNumber>
<TopLine>45</TopLine>
<CurrentLine>61</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
</MDIGroup>
</MDIGroups>
......
......@@ -110,8 +110,8 @@
<MDIClientArea>
<RegID>0</RegID>
<MDITabState>
<Len>1934</Len>
<Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000E0000000D000000010000004D5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C4261636B4C696768742E63000000000B4261636B4C696768742E6300000000C5D4F200FFFFFFFF535A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C436F6D6D6F6E496E746572666163652E630000000011436F6D6D6F6E496E746572666163652E6300000000FFDC7800FFFFFFFF735A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C53696D756C617465645F4949435F6D61737465725C53696D756C617465645F4949435F6D61737465725F506F7274696E672E63000000001E53696D756C617465645F4949435F6D61737465725F506F7274696E672E6300000000BECEA100FFFFFFFF645A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C53797374656D5F4D6F6E69746F725C53797374656D5F4D6F6E69746F725F557365722E63000000001553797374656D5F4D6F6E69746F725F557365722E6300000000F0A0A100FFFFFFFF615A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C506F7765724D616E6167656D656E745C506F7765724D616E61675F757365722E630000000011506F7765724D616E61675F757365722E6300000000BCA8E100FFFFFFFF5F5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C4D696C656167655C53657276696365735F4D696C656167655F557365722E63000000001753657276696365735F4D696C656167655F557365722E63000000009CC1B600FFFFFFFF815A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413237395C4D444B5F41524D5C5254455C4465766963655C4241543332413237394B4D363446425C737461727475705F4241543332413237392E730000000013737461727475705F4241543332413237392E7300000000F7B88600FFFFFFFF435A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C6D61696E2E6300000000066D61696E2E6300000000D9ADC200FFFFFFFF6C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C5254455C5744545C5254455F5744545F4241543332413237392E6300000000135254455F5744545F4241543332413237392E6300000000A5C2D700FFFFFFFF4C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5461736B5F4C6973742E63000000000F5379735F5461736B5F4C6973742E6300000000B3A6BE00FFFFFFFF505A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5363686564756C65725F4C69622E6300000000135379735F5363686564756C65725F4C69622E6300000000EAD6A300FFFFFFFF4C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C436F6D706F6E656E74732E68000000000C436F6D706F6E656E74732E6800000000F6FA7D00FFFFFFFF4E5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C4B65795C4B65795F757365722E63000000000A4B65795F757365722E6300000000B5E99D00FFFFFFFF695A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C4C6962726172795C4472697665725C7372635C6973722E6300000000056973722E63000000005FC3CF00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF00000066000000240500001A020000</Data>
<Len>2197</Len>
<Data>010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000001000000100000000E000000010000004D5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C4261636B4C696768742E63000000000B4261636B4C696768742E6300000000C5D4F200FFFFFFFF535A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C436F6D6D6F6E496E746572666163652E630000000011436F6D6D6F6E496E746572666163652E6300000000FFDC7800FFFFFFFF735A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C53696D756C617465645F4949435F6D61737465725C53696D756C617465645F4949435F6D61737465725F506F7274696E672E63000000001E53696D756C617465645F4949435F6D61737465725F506F7274696E672E6300000000BECEA100FFFFFFFF645A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C53797374656D5F4D6F6E69746F725C53797374656D5F4D6F6E69746F725F557365722E63000000001553797374656D5F4D6F6E69746F725F557365722E6300000000F0A0A100FFFFFFFF615A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C506F7765724D616E6167656D656E745C506F7765724D616E61675F757365722E630000000011506F7765724D616E61675F757365722E6300000000BCA8E100FFFFFFFF5F5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C4D696C656167655C53657276696365735F4D696C656167655F557365722E63000000001753657276696365735F4D696C656167655F557365722E63000000009CC1B600FFFFFFFF815A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413237395C4D444B5F41524D5C5254455C4465766963655C4241543332413237394B4D363446425C737461727475705F4241543332413237392E730000000013737461727475705F4241543332413237392E7300000000F7B88600FFFFFFFF435A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C6D61696E2E6300000000066D61696E2E6300000000D9ADC200FFFFFFFF6C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C5254455C5744545C5254455F5744545F4241543332413237392E6300000000135254455F5744545F4241543332413237392E6300000000A5C2D700FFFFFFFF4C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5461736B5F4C6973742E63000000000F5379735F5461736B5F4C6973742E6300000000B3A6BE00FFFFFFFF505A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C53797374656D5C5379735F5363686564756C65725F4C69622E6300000000135379735F5363686564756C65725F4C69622E6300000000EAD6A300FFFFFFFF4C5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C436F6D706F6E656E74732E68000000000C436F6D706F6E656E74732E6800000000F6FA7D00FFFFFFFF4E5A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C4B65795C4B65795F757365722E63000000000A4B65795F757365722E6300000000B5E99D00FFFFFFFF695A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4465766963655C436D73656D69636F6E5C4241543332413237395C4C6962726172795C4472697665725C7372635C6973722E6300000000056973722E63000000005FC3CF00FFFFFFFF645A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C4170706C69636174696F6E5C43414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E68000000002243414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E6800000000C1838300FFFFFFFF545A3A5C4465736B746F705C68616F6A696E3735305F5446545C68616F6A696E3735307466745C4669726D776172655C536F757263655C436F6D706F6E656E745C43414E5F5369676E616C5C43414E5F4C69622E68000000000943414E5F4C69622E6800000000CACAD500FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000EF00000066000000240500001A020000</Data>
</MDITabState>
</MDIClientArea>
<ViewEx>
......@@ -1822,7 +1822,7 @@
<Name>Build</Name>
<Buttons>
<Len>984</Len>
<Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000C48616F4A696E373530544654960000000000000001000C48616F4A696E373530544654000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
<Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000C48616F4A696E373530544654960000000000000001000C48616F4A696E373530544654000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
</Buttons>
<OriginalItems>
<Len>583</Len>
......@@ -1838,7 +1838,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2373</Len>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
......@@ -3603,7 +3603,7 @@
<ActiveMDIGroup>0</ActiveMDIGroup>
<MDIGroup>
<Size>100</Size>
<ActiveTab>13</ActiveTab>
<ActiveTab>14</ActiveTab>
<Doc>
<Name>..\..\..\..\Source\Application\BackLight.c</Name>
<ColumnNumber>0</ColumnNumber>
......@@ -3730,6 +3730,24 @@
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\..\..\..\Source\Application\CAN_CH0_CAN_Communication_Matrix.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>44</TopLine>
<CurrentLine>66</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>..\..\..\..\Source\Component\CAN_Signal\CAN_Lib.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
</MDIGroup>
</MDIGroups>
......
......@@ -872,6 +872,102 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>55</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\CAN_CH0_CAN_Communication_Matrix.c</PathWithFileName>
<FilenameWithoutPath>CAN_CH0_CAN_Communication_Matrix.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>56</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\CAN_CH0_CAN_Communication_Matrix.h</PathWithFileName>
<FilenameWithoutPath>CAN_CH0_CAN_Communication_Matrix.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>57</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\Data_ESpeed.c</PathWithFileName>
<FilenameWithoutPath>Data_ESpeed.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>58</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\Data_ESpeed.h</PathWithFileName>
<FilenameWithoutPath>Data_ESpeed.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>59</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\Data_VSpeed.c</PathWithFileName>
<FilenameWithoutPath>Data_VSpeed.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>60</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\Data_VSpeed.h</PathWithFileName>
<FilenameWithoutPath>Data_VSpeed.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>61</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\Data_Coolant.c</PathWithFileName>
<FilenameWithoutPath>Data_Coolant.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>62</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\..\..\..\Source\Application\Data_Coolant.h</PathWithFileName>
<FilenameWithoutPath>Data_Coolant.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
......@@ -882,7 +978,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>55</FileNumber>
<FileNumber>63</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -894,7 +990,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>56</FileNumber>
<FileNumber>64</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -906,7 +1002,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>57</FileNumber>
<FileNumber>65</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -918,7 +1014,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>58</FileNumber>
<FileNumber>66</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -930,7 +1026,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>59</FileNumber>
<FileNumber>67</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -942,7 +1038,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>60</FileNumber>
<FileNumber>68</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -954,7 +1050,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>61</FileNumber>
<FileNumber>69</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -966,7 +1062,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>62</FileNumber>
<FileNumber>70</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -978,7 +1074,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>63</FileNumber>
<FileNumber>71</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -990,7 +1086,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>64</FileNumber>
<FileNumber>72</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1002,7 +1098,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>65</FileNumber>
<FileNumber>73</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1014,7 +1110,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>66</FileNumber>
<FileNumber>74</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1026,7 +1122,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>67</FileNumber>
<FileNumber>75</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1038,7 +1134,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>68</FileNumber>
<FileNumber>76</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1050,7 +1146,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>69</FileNumber>
<FileNumber>77</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1062,7 +1158,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>70</FileNumber>
<FileNumber>78</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1074,7 +1170,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>71</FileNumber>
<FileNumber>79</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1086,7 +1182,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>72</FileNumber>
<FileNumber>80</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1098,7 +1194,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>73</FileNumber>
<FileNumber>81</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1110,7 +1206,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>74</FileNumber>
<FileNumber>82</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1122,7 +1218,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>75</FileNumber>
<FileNumber>83</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1134,7 +1230,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>76</FileNumber>
<FileNumber>84</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1146,7 +1242,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>77</FileNumber>
<FileNumber>85</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1158,7 +1254,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>78</FileNumber>
<FileNumber>86</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1170,7 +1266,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>79</FileNumber>
<FileNumber>87</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1182,7 +1278,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>80</FileNumber>
<FileNumber>88</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1194,7 +1290,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>81</FileNumber>
<FileNumber>89</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1206,7 +1302,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>82</FileNumber>
<FileNumber>90</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1218,7 +1314,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>83</FileNumber>
<FileNumber>91</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1230,7 +1326,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>84</FileNumber>
<FileNumber>92</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1242,7 +1338,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>85</FileNumber>
<FileNumber>93</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1254,7 +1350,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>86</FileNumber>
<FileNumber>94</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1266,7 +1362,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>87</FileNumber>
<FileNumber>95</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1278,7 +1374,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>88</FileNumber>
<FileNumber>96</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1290,7 +1386,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>89</FileNumber>
<FileNumber>97</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1302,7 +1398,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>90</FileNumber>
<FileNumber>98</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1314,7 +1410,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>91</FileNumber>
<FileNumber>99</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1326,7 +1422,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>92</FileNumber>
<FileNumber>100</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1338,7 +1434,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>93</FileNumber>
<FileNumber>101</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1350,7 +1446,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>94</FileNumber>
<FileNumber>102</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1362,7 +1458,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>95</FileNumber>
<FileNumber>103</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1374,7 +1470,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>96</FileNumber>
<FileNumber>104</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1386,7 +1482,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>97</FileNumber>
<FileNumber>105</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1398,7 +1494,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>98</FileNumber>
<FileNumber>106</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1410,7 +1506,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>99</FileNumber>
<FileNumber>107</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1422,7 +1518,7 @@
</File>
<File>
<GroupNumber>5</GroupNumber>
<FileNumber>100</FileNumber>
<FileNumber>108</FileNumber>
<FileType>4</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
......@@ -1444,7 +1540,7 @@
<Group>
<GroupName>::Device</GroupName>
<tvExp>0</tvExp>
<tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>1</RteFlg>
......
......@@ -668,6 +668,46 @@
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Protocol_User.c</FilePath>
</File>
<File>
<FileName>CAN_CH0_CAN_Communication_Matrix.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\CAN_CH0_CAN_Communication_Matrix.c</FilePath>
</File>
<File>
<FileName>CAN_CH0_CAN_Communication_Matrix.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\CAN_CH0_CAN_Communication_Matrix.h</FilePath>
</File>
<File>
<FileName>Data_ESpeed.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Data_ESpeed.c</FilePath>
</File>
<File>
<FileName>Data_ESpeed.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_ESpeed.h</FilePath>
</File>
<File>
<FileName>Data_VSpeed.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Data_VSpeed.c</FilePath>
</File>
<File>
<FileName>Data_VSpeed.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_VSpeed.h</FilePath>
</File>
<File>
<FileName>Data_Coolant.c</FileName>
<FileType>1</FileType>
<FilePath>..\..\..\..\Source\Application\Data_Coolant.c</FilePath>
</File>
<File>
<FileName>Data_Coolant.h</FileName>
<FileType>5</FileType>
<FilePath>..\..\..\..\Source\Application\Data_Coolant.h</FilePath>
</File>
</Files>
</Group>
<Group>
......
This source diff could not be displayed because it is too large. You can view the blob instead.
#include "CAN_CH0_CAN_Communication_Matrix.h"
/* 2024/06/19 19:37:20 */
st_CanMsgOp CAN_CH0_CanMsgOp;
st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
#define CAN_CH0 &CAN_CH0_CanMsgOp
const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] =
{
{0}
};
const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] =
{
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x101ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x111ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x401ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x402ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x37Bul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x12Bul,
(( void * )0),
(( void * )0),
(( void * )0),
},
{
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
{0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u, 0x00u},
5000ul,
0x450ul,
(( void * )0),
(( void * )0),
(( void * )0),
},
};
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Livecounter(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 6u) >> 0u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 6u) >> 7u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Throttle_Position_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 6u) >> 6u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 6u) >> 5u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 6u) >> 4u) & 0x01u));
}
uint16_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature(void)
{
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 4u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 5u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Throttle_Position(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 3u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 2u) >> 0u) & 0xFFu));
}
uint16_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed(void)
{
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 0u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_101_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_111_Checksum(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_111_Livecounter(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 6u) >> 0u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Tair_Enable(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 4u) >> 6u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Power_Enable(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 4u) >> 4u) & 0x03u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_SideStand(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 4u) >> 3u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Power(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 4u) >> 2u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Ready(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 4u) >> 1u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Batt(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 4u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_Autostop_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 3u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_InjIgn_Cutoff_State(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 2u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_Autostop(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 1u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_InjIgn_Cutoff(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_111_Msg_Count, 0u) >> 0u) & 0x01u));
}
uint8_t Get_CAN_CH0_ID_401_Sig_ECU_401_Checksum(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_401_Sig_ECU_401_Livecounter(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 6u) >> 0u) & 0x0Fu));
}
uint16_t Get_CAN_CH0_ID_401_Sig_ECU_Fuel_Consumption(void)
{
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 3u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 4u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_401_Sig_ECU_Battery_Voltage(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 2u) >> 0u) & 0xFFu));
}
uint16_t Get_CAN_CH0_ID_401_Sig_ECU_Environment_Presure(void)
{
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 0u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_401_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL2(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 6u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCM2(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 5u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH2(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 4u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 3u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL1(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 2u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCM1(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH1(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_402_Msg_Count, 0u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Checksum(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 7u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Livecounter(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 6u) >> 0u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Control(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 2u) >> 7u) & 0x01u));
}
uint16_t Get_CAN_CH0_ID_37B_Sig_TCS_Target_Torque(void)
{
return (((uint16_t)((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 0u) >> 0u) & 0xFFu) << 8u) + \
((uint16_t)((uint16_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_37B_Msg_Count, 1u) >> 0u) & 0xFFu));
}
uint8_t Get_CAN_CH0_ID_12B_Sig_Abs_warning_lamp(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_12B_Msg_Count, 4u) >> 1u) & 0x03u));
}
uint8_t Get_CAN_CH0_ID_450_Sig_Dashboard_TCSFunSwitch(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_450_Msg_Count, 1u) >> 0u) & 0x0Fu));
}
uint8_t Get_CAN_CH0_ID_450_Sig_ABSOFF_Selection(void)
{
return (((uint8_t)((uint8_t)CAN_MSG_Read(CAN_CH0,CAN_CH0_ID_CH0_450_Msg_Count, 0u) >> 0u) & 0x01u));
}
uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID)
{
uint8_t u8Result = CAN_CH0_ID_TOTAL_MAX;
switch (MsgID)
{
case CAN_CH0_ID_CH0_101_Msg:
u8Result = CAN_CH0_ID_CH0_101_Msg_Count;
break;
case CAN_CH0_ID_CH0_111_Msg:
u8Result = CAN_CH0_ID_CH0_111_Msg_Count;
break;
case CAN_CH0_ID_CH0_401_Msg:
u8Result = CAN_CH0_ID_CH0_401_Msg_Count;
break;
case CAN_CH0_ID_CH0_402_Msg:
u8Result = CAN_CH0_ID_CH0_402_Msg_Count;
break;
case CAN_CH0_ID_CH0_37B_Msg:
u8Result = CAN_CH0_ID_CH0_37B_Msg_Count;
break;
case CAN_CH0_ID_CH0_12B_Msg:
u8Result = CAN_CH0_ID_CH0_12B_Msg_Count;
break;
case CAN_CH0_ID_CH0_450_Msg:
u8Result = CAN_CH0_ID_CH0_450_Msg_Count;
break;
default :
u8Result = CAN_CH0_ID_TOTAL_MAX;
break;
}
return u8Result;
}
#ifndef CAN_CH0_CAN_COMMUNICATION_MATRIX_H_
#define CAN_CH0_CAN_COMMUNICATION_MATRIX_H_
#include "Components.h"
#include "CAN_Signal\CAN_Lib.h"
extern st_CanMsgOp CAN_CH0_CanMsgOp;
extern st_CanMsgTxOp CAN_CH0_CanMsgTxOp;
typedef enum
{
CAN_CH0_ID_CH0_101_Msg_Count,
CAN_CH0_ID_CH0_111_Msg_Count,
CAN_CH0_ID_CH0_401_Msg_Count,
CAN_CH0_ID_CH0_402_Msg_Count,
CAN_CH0_ID_CH0_37B_Msg_Count,
CAN_CH0_ID_CH0_12B_Msg_Count,
CAN_CH0_ID_CH0_450_Msg_Count,
CAN_CH0_ID_TOTAL_MAX,
} CAN_CH0_CAN_MSG_ID_t;
typedef enum
{
TEST,
CAN_CH0_ID_SEND_TOTAL,
} CAN_CH0_CAN_MSG_SEND_ID_t;
extern const st_CANMsgAttribute CAN_CH0_CAN_MSG_CONST_ARRAY[CAN_CH0_ID_TOTAL_MAX] ;
extern const st_CAN_SendAttribute CAN_CH0_CANSendAttr[CAN_CH0_ID_SEND_TOTAL] ;
#define CAN_CH0_ID_CH0_101_Msg 0x101ul
#define CAN_CH0_ID_CH0_111_Msg 0x111ul
#define CAN_CH0_ID_CH0_401_Msg 0x401ul
#define CAN_CH0_ID_CH0_402_Msg 0x402ul
#define CAN_CH0_ID_CH0_37B_Msg 0x37Bul
#define CAN_CH0_ID_CH0_12B_Msg 0x12Bul
#define CAN_CH0_ID_CH0_450_Msg 0x450ul
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Checksum(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_101_Livecounter(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature_State(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Throttle_Position_State(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed_State(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed_State(void);
extern uint16_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Temperature(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Throttle_Position(void);
extern uint8_t Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed(void);
extern uint16_t Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_111_Checksum(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_111_Livecounter(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Tair_Enable(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Power_Enable(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_SideStand(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Power(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Ready(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Batt(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_Autostop_State(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_InjIgn_Cutoff_State(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_Autostop(void);
extern uint8_t Get_CAN_CH0_ID_111_Sig_ISG_Engine_InjIgn_Cutoff(void);
extern uint8_t Get_CAN_CH0_ID_401_Sig_ECU_401_Checksum(void);
extern uint8_t Get_CAN_CH0_ID_401_Sig_ECU_401_Livecounter(void);
extern uint16_t Get_CAN_CH0_ID_401_Sig_ECU_Fuel_Consumption(void);
extern uint8_t Get_CAN_CH0_ID_401_Sig_ECU_Battery_Voltage(void);
extern uint16_t Get_CAN_CH0_ID_401_Sig_ECU_Environment_Presure(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_Warning_Lamp(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL2(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCM2(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH2(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTC1Amnt(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCL1(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCM1(void);
extern uint8_t Get_CAN_CH0_ID_402_Sig_ECU_DTCH1(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Checksum(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_37B_Livecounter(void);
extern uint8_t Get_CAN_CH0_ID_37B_Sig_TCS_Control(void);
extern uint16_t Get_CAN_CH0_ID_37B_Sig_TCS_Target_Torque(void);
extern uint8_t Get_CAN_CH0_ID_12B_Sig_Abs_warning_lamp(void);
extern uint8_t Get_CAN_CH0_ID_450_Sig_Dashboard_TCSFunSwitch(void);
extern uint8_t Get_CAN_CH0_ID_450_Sig_ABSOFF_Selection(void);
extern uint8_t Co_Can_ConvertSubID_CAN_CH0(uint32_t MsgID);
#endif
#include "Data_Coolant.h"
#include "Components.h"
#if 0
#define FUEL_DATA_TIME 25u /*这里填写多长时间采集一个数据,单位ms*/
#define FUEL_DATA_NUM 20u /*燃油电阻采集数据总数 最大255*/
#define FUEL_CAL_START 5u /*数据排序后取中间部分计算平均:起始*/
#define FUEL_CAL_END 15u /*数据排序后取中间部分计算平均:结束*/
#define RETURN_DIFFERENCE 25u /*判断上升或下降的回差,精度0.1*/
#define FUEL_SEG_UP 0u
#define FUEL_SEG_DOWN 1u
uint16_t g_u16FuelData[FUEL_DATA_NUM];
uint8_t g_u8FuelDataCount = 0u;
uint16_t FuelR = 0u; /*滤波后的燃油电阻,精度0.1*/
static uint16_t FuelRBak = 0;
uint8_t g_u8DesFuelSetp = 0u;
uint8_t g_u8CurFuelSetp = 0u;
uint8_t g_u8FuelInitFlag = 0u;
uint8_t g_u8FuelStateInitFlag = 0u;
uint8_t g_u8FuelDir = FUEL_SEG_UP;
FuelSensorSts_t FuelSensorState = FuelSensorNormal;
uint16_t g_u16FuelSensorNormalTime = 0u;
uint16_t g_u16FuelSensorShortTime = 0u;
uint16_t g_u16FuelSensorOpenTime = 0u;
uint8_t g_u8FuelADCompleteFlg = 0u;
void Fuel_KL30_Init(void)
{
g_u8DesFuelSetp = 0u;
g_u8CurFuelSetp = 0u;
g_u8FuelInitFlag = 1u;
g_u8FuelStateInitFlag = 1u;
g_u8FuelDir = FUEL_SEG_UP;
FuelSensorState = FuelSensorNormal;
g_u16FuelSensorNormalTime = 0u;
g_u16FuelSensorShortTime = 0u;
g_u16FuelSensorOpenTime = 0u;
g_u8FuelADCompleteFlg = 0u;
}
void Fuel_KL15_Init(void)
{
g_u8DesFuelSetp = 0u;
g_u8CurFuelSetp = 0u;
g_u8FuelInitFlag = 1u;
g_u8FuelStateInitFlag = 1u;
g_u8FuelDir = FUEL_SEG_UP;
FuelSensorState = FuelSensorNormal;
g_u16FuelSensorNormalTime = 0u;
g_u16FuelSensorShortTime = 0u;
g_u16FuelSensorOpenTime = 0u;
g_u8FuelADCompleteFlg = 0u;
}
void Fuel_R_Cal(uint8_t deltaTime)
{
uint16_t FuelRes = 0;
uint8_t i, j;
uint32_t temp32;
static uint16_t timeCount = 0;
if(g_u8FuelStateInitFlag)
{
FuelR = ADC_Read_Signal(ADC_CH_FUEL1);
}
if (timeCount >= FUEL_DATA_TIME)
{
timeCount = 0;
if (g_u8FuelDataCount < FUEL_DATA_NUM)
{
/*获取燃油电阻*/
FuelRes = ADC_Read_Signal(ADC_CH_FUEL1);
/*四舍五入*/
if (FuelRes < 3100)
{
if (FuelRes % 10 >= 5)
{
FuelRes += 5;
}
}
else
{
FuelRes = 0xFFFF;
}
/*由小到大插入数据*/
for (i = 0; i < g_u8FuelDataCount; i++)
{
if (FuelRes < g_u16FuelData[i])
{
break;
}
}
for (j = g_u8FuelDataCount; j > i; j--)
{
g_u16FuelData[j] = g_u16FuelData[j - 1];
}
g_u16FuelData[i] = FuelRes;
g_u8FuelDataCount++;
}
else
{
/*一组数据采集完毕,取中间部分计算平均值*/
temp32 = 0;
for (i = FUEL_CAL_START; i < FUEL_CAL_END; i++)
{
temp32 += g_u16FuelData[i];
}
FuelR = temp32 / (FUEL_CAL_END - FUEL_CAL_START);
g_u8FuelDataCount = 0;
g_u8FuelADCompleteFlg = 1;
}
}
timeCount += deltaTime;
}
void Fuel_State_Check(uint8_t deltaTime)
{
if (FuelR < 30)
{ /*短路3*/
g_u16FuelSensorOpenTime = 0;
g_u16FuelSensorNormalTime = 0;
if ((g_u16FuelSensorShortTime > 3000) || ((g_u8FuelStateInitFlag) && (g_u16FuelSensorShortTime > 3000)))
{
FuelSensorState = FuelSensorShortCircuit;
g_u8DesFuelSetp = 0;
g_u8CurFuelSetp = 6;
g_u8FuelStateInitFlag = 0;
g_u8FuelInitFlag = 1;
g_u8FuelDir = FUEL_SEG_UP;
}
else
{
g_u16FuelSensorShortTime += deltaTime;
}
}
else if (FuelR > 3100)
{ /*开路 310*/
g_u16FuelSensorShortTime = 0;
g_u16FuelSensorNormalTime = 0;
if ((g_u16FuelSensorOpenTime > 3000) || ((g_u8FuelStateInitFlag) && (g_u16FuelSensorOpenTime > 3000)))
{
FuelSensorState = FuelSensorOpenCircuit;
g_u8DesFuelSetp = 0;
g_u8CurFuelSetp = 0;
g_u8FuelStateInitFlag = 0;
g_u8FuelInitFlag = 1;
g_u8FuelDir = FUEL_SEG_UP;
}
else
{
g_u16FuelSensorOpenTime += deltaTime;
}
}
else
{
g_u16FuelSensorShortTime = 0;
g_u16FuelSensorOpenTime = 0;
if (g_u16FuelSensorNormalTime > 3000)
{
FuelSensorState = FuelSensorNormal;
g_u8FuelStateInitFlag = 0;
}
else
{
g_u16FuelSensorNormalTime += deltaTime;
}
}
}
void Fuel_Gauges_Cal(uint8_t deltaTime)
{
static uint16_t time = 0;
if ((FuelSensorState == FuelSensorNormal) && (FuelR <= 3100) && (FuelR >= 30))
{
/*采集完第一组数据后,开始计算燃油格数*/
if (g_u8FuelADCompleteFlg)
{
if (g_u8FuelInitFlag)
{
FuelRBak = FuelR;
}
/*根据回差计算走动方向*/
if (g_u8FuelDir == FUEL_SEG_UP)
{
if (FuelR >= FuelRBak + RETURN_DIFFERENCE)
{
g_u8FuelDir = FUEL_SEG_DOWN;
FuelRBak = FuelR;
}
if (FuelR < FuelRBak)
{
FuelRBak = FuelR;
}
}
else
{
if (FuelRBak >= FuelR + RETURN_DIFFERENCE)
{
g_u8FuelDir = FUEL_SEG_UP;
FuelRBak = FuelR;
}
if (FuelR > FuelRBak)
{
FuelRBak = FuelR;
}
}
/*计算目标格数*/
if (g_u8FuelDir == FUEL_SEG_UP)
{
if (((g_u8DesFuelSetp == 5) || g_u8FuelInitFlag) && (FuelR < 30))
{
g_u8DesFuelSetp = 6;
}
else if (((g_u8DesFuelSetp == 4) || g_u8FuelInitFlag) && (FuelR < 160))
{
g_u8DesFuelSetp = 5;
}
else if (((g_u8DesFuelSetp == 3) || g_u8FuelInitFlag) && (FuelR < 300))
{
g_u8DesFuelSetp = 4;
}
else if (((g_u8DesFuelSetp == 2) || g_u8FuelInitFlag) && (FuelR < 500))
{
g_u8DesFuelSetp = 3;
}
else if (((g_u8DesFuelSetp == 1) || g_u8FuelInitFlag) && (FuelR < 790))
{
g_u8DesFuelSetp = 2;
}
else if (((g_u8DesFuelSetp == 0) || g_u8FuelInitFlag) && (FuelR <= 3100))
{
g_u8DesFuelSetp = 1;
}
}
else if (g_u8FuelDir == FUEL_SEG_DOWN)
{
if (((g_u8DesFuelSetp == 1) || g_u8FuelInitFlag) && (FuelR > 3100))
{
g_u8DesFuelSetp = 0;
}
else if (((g_u8DesFuelSetp == 2) || g_u8FuelInitFlag) && (FuelR >= 790))
{
g_u8DesFuelSetp = 1;
}
else if (((g_u8DesFuelSetp == 3) || g_u8FuelInitFlag) && (FuelR >= 500))
{
g_u8DesFuelSetp = 2;
}
else if (((g_u8DesFuelSetp == 4) || g_u8FuelInitFlag) && (FuelR >= 300))
{
g_u8DesFuelSetp = 3;
}
else if (((g_u8DesFuelSetp == 5) || g_u8FuelInitFlag) && (FuelR >= 160))
{
g_u8DesFuelSetp = 4;
}
else if (((g_u8DesFuelSetp == 6) || g_u8FuelInitFlag) && (FuelR >= 30))
{
g_u8DesFuelSetp = 5;
}
}
}
/*IGN ON 1秒/故障恢复后,开始走格 立即指向当前格 20220704*/
if (Common_GetIgnOnTime() >= 3000)
{
time += deltaTime;
if (g_u8FuelInitFlag)
{
g_u8FuelInitFlag = 0;
time = 0;
g_u8CurFuelSetp = g_u8DesFuelSetp;
}
if (time >= 15000)
{ /* 15S变化一格 */
time = 0;
if (g_u8CurFuelSetp < g_u8DesFuelSetp)
{
g_u8CurFuelSetp++;
}
else if (g_u8CurFuelSetp > g_u8DesFuelSetp)
{
g_u8CurFuelSetp--;
}
}
if (g_u8CurFuelSetp == g_u8DesFuelSetp)
{
time = 0;
}
}
}
}
void Fuel_Cal_Sevice(uint8_t deltaTime)
{
/*检测燃油电阻状态*/
Fuel_State_Check(deltaTime);
/*显示燃油格*/
Fuel_Gauges_Cal(deltaTime);
}
uint8_t Get_CurFuelSetp(void)
{
uint8_t u8CurFuelSetp = g_u8CurFuelSetp;
if(FuelSensorState == FuelSensorOpenCircuit)
{
if(FLASH_SYNC_1Hz)
{
u8CurFuelSetp = 6;
}
else
{
u8CurFuelSetp = 0;
}
}
else if(FuelSensorState == FuelSensorShortCircuit)
{
if(FLASH_SYNC_1Hz)
{
u8CurFuelSetp = 7;
}
else
{
u8CurFuelSetp = 0;
}
}
else if(u8CurFuelSetp == 1)
{
if(FLASH_SYNC_1Hz)
{
u8CurFuelSetp = 1;
}
else
{
u8CurFuelSetp = 0;
}
}
else
{
;
}
return u8CurFuelSetp;
}
FuelSensorSts_t Get_Fuel_Sensor_State(void)
{
uint8_t u8CurFuelSetp = 0;
if(FuelSensorState == FuelSensorOpenCircuit || g_u8CurFuelSetp == 1u)
{
if(FLASH_SYNC_1Hz)
{
u8CurFuelSetp = 2;
}
else
{
u8CurFuelSetp = 0;
}
}
else
{
u8CurFuelSetp = 1u;
}
return u8CurFuelSetp;
}
#endif
\ No newline at end of file
#ifndef DATA_COOLANT_H
#define DATA_COOLANT_H
#include "stdint.h"
typedef enum{
FuelSensorNormal = 0,
FuelSensorShortCircuit,
FuelSensorOpenCircuit,
}FuelSensorSts_t;
extern void Fuel_KL15_Init(void);
extern void Fuel_KL30_Init(void);
extern void Fuel_Cal_Sevice(uint8_t deltaTime);
extern uint8_t Get_CurFuelSetp(void);
extern FuelSensorSts_t Get_Fuel_Sensor_State(void);
void Fuel_R_Cal(uint8_t deltaTime);
#endif
#include "Data_ESpeed.h"
#include "Components.h"
/*** 发动机转速 ***/
uint16_t DataESpeedActual;
uint16_t DataESpeedDisp;
uint8_t DataESpeedValid;
DataESpeedSamplerStruct DataESpeedSampler;
DataESPeedDampingStruct DataESPeedDamping;
DataESpeedIdleStruct DataESpeedIdle;
#define DATA_APPR_DIR_INC 0x01
#define DATA_APPR_DIR_DEC 0x02
/******************************************************************************
函数名:Data_Engine_Speed_KL30_Wakeup_Init
功 能:发动机转速初始化函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数KL30初始化/Wakeup初始化被调用一次
******************************************************************************/
void Data_Engine_Speed_KL30_Wakeup_Init (void)
{
DataESpeedIdle.Timer = 0;
DataESpeedActual = 0;
DataESpeedDisp = 0;
DataESpeedValid = 0;
DataESpeedSampler.Cnt = 0;
DataESPeedDamping.Speed = 0;
DataESPeedDamping.Delta = 0;
DataESPeedDamping.Dir = DATA_APPR_DIR_INC;
}
/******************************************************************************
函数名:Data_Engine_Speed_Processing_Service
功 能:发动机转速数据处理函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数必须每10ms被调用一次
******************************************************************************/
void Data_Engine_Speed_Processing_Service ( void )
{
uint8_t i;
uint16_t ESpeed;
uint16_t Delta;
//第1步:获取实际转速值及转速有效性
if ( Common_Get_IG_Sts() == COMMON_POWER_ON )
{
//if((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST)||(Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed() > 0xFFFF))
if(1)
{
DataESpeedValid = 0;
DataESpeedActual = 0;
DataESpeedSampler.Cnt = 0;
}
else
{
if ( DataESpeedValid == 0 )
{
DataESpeedValid = 1;
ESpeed = 4;//Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed();
ESpeed /= 4;
if ( ESpeed > 11000 )
ESpeed = 11000;
DataESpeedActual = ESpeed;
}
else
{
DataESpeedSampler.Buffer[DataESpeedSampler.Cnt] = Get_CAN_CH0_ID_101_Sig_ECU_Engine_Speed();
i = DataESpeedSampler.Cnt;
while ( ( i > 0 ) && ( DataESpeedSampler.Buffer[i] < DataESpeedSampler.Buffer[i - 1] ) )
{
ESpeed = DataESpeedSampler.Buffer[i];
DataESpeedSampler.Buffer[i] = DataESpeedSampler.Buffer[i - 1];
DataESpeedSampler.Buffer[i - 1] = ESpeed;
i--;
}
DataESpeedSampler.Cnt++;
if ( DataESpeedSampler.Cnt >= 5 )
{
DataESpeedSampler.Cnt = 0;
ESpeed = DataESpeedSampler.Buffer[3];
ESpeed /= 4;
if ( ESpeed > 11000 )
ESpeed = 11000;
DataESpeedActual = ESpeed;
}
}
}
}
else
{
DataESpeedValid = 0;
DataESpeedActual = 0;
DataESpeedSampler.Cnt = 0;
}
//第2步:怠速模式
ESpeed = DataESpeedActual;
#if 0
if ( ( ESpeed >= 500 ) && ( ESpeed <= 1000 ) )
{
DataESpeedIdle.Timer++;
if ( ESpeed > DataESpeedIdle.ESpeedBackup )
Delta = ESpeed - DataESpeedIdle.ESpeedBackup;
else
Delta = DataESpeedIdle.ESpeedBackup - ESpeed;
if ( DataESpeedIdle.Mode == 0 )
{
if ( Delta < 150 )
{
if ( DataESpeedIdle.Timer >= 200 )
{
DataESpeedIdle.Mode = 1;
DataESpeedIdle.Timer = 0;
}
}
else
DataESpeedIdle.Timer = 0;
DataESpeedIdle.ESpeedBackup = ESpeed;
}
else
{
if ( Delta < 150 )
{
if ( DataESpeedIdle.Timer >= 200 ) //怠速模式下每10秒转速数据更新一次
{
DataESpeedIdle.Timer = 0;
DataESpeedIdle.ESpeedBackup = ESpeed;
}
else
ESpeed = DataESpeedIdle.ESpeedBackup;
}
else //转速变化大于等于300立即退出怠速模式
{
DataESpeedIdle.Mode = 0;
DataESpeedIdle.Timer = 0;
DataESpeedIdle.ESpeedBackup = ESpeed;
}
}
}
else
{
DataESpeedIdle.Mode = 0;
DataESpeedIdle.Timer = 0;
DataESpeedIdle.ESpeedBackup = ESpeed;
}
#endif
//第3步:转速的阻尼处理
if ( ESpeed > DataESPeedDamping.Speed ) //实际值比当前显示值大时
{
Delta = ESpeed - DataESPeedDamping.Speed;
if ( DataESPeedDamping.Dir == DATA_APPR_DIR_INC ) //显示值正在向实际值增加,则维持当前方向调节增加速度
{
if ( DataESPeedDamping.Delta < Delta ) //当前增量小于显示值与实际值的差值,则提升增加的速度
{
DataESPeedDamping.Delta += DATA_ESPEED_INC_STEP;
if ( DataESPeedDamping.Delta > Delta )
DataESPeedDamping.Delta = Delta;
}
else //当前增量大于等于显示值与实际值的差值,保持增量与当前差值同步,增加的速度即逐步减小
DataESPeedDamping.Delta = Delta;
Delta = DataESPeedDamping.Delta;
Delta /= DATA_ESPEED_DAMPING_FACTOR;
if ( Delta < DATA_ESPEED_APPR_SPEED_MIN )
Delta = DATA_ESPEED_APPR_SPEED_MIN;
DataESPeedDamping.Speed += Delta;
if ( DataESPeedDamping.Speed > ESpeed )
DataESPeedDamping.Speed = ESpeed;
}
else //显示值正在减小,则尽快减速至速度为最小时更换方向
{
if ( DataESPeedDamping.Delta > DATA_ESPEED_DEC_STEP )
DataESPeedDamping.Delta -= DATA_ESPEED_DEC_STEP;
else
DataESPeedDamping.Delta = 0;
Delta = DataESPeedDamping.Delta;
Delta /= DATA_ESPEED_DAMPING_FACTOR;
if ( Delta < DATA_ESPEED_APPR_SPEED_MIN ) //已减速至最小速度
DataESPeedDamping.Dir = DATA_APPR_DIR_INC; //更换方向
else
{
if ( DataESPeedDamping.Speed > Delta )
DataESPeedDamping.Speed -= Delta;
else
DataESPeedDamping.Speed = 0;
}
}
}
else if ( ESpeed < DataESPeedDamping.Speed ) //实际值比当前显示值小时
{
Delta = DataESPeedDamping.Speed - ESpeed;
if ( DataESPeedDamping.Dir == DATA_APPR_DIR_INC ) //显示值仍在增加,则尽快减速至速度为最小时更换方向
{
if ( DataESPeedDamping.Delta > DATA_ESPEED_DEC_STEP )
DataESPeedDamping.Delta -= DATA_ESPEED_DEC_STEP;
else
DataESPeedDamping.Delta = 0;
Delta = DataESPeedDamping.Delta;
Delta /= DATA_ESPEED_DAMPING_FACTOR;
if ( Delta < DATA_ESPEED_APPR_SPEED_MIN ) //已减速至最小速度
DataESPeedDamping.Dir = DATA_APPR_DIR_DEC; //更换方向
else
{
DataESPeedDamping.Speed += Delta;
if ( DataESPeedDamping.Speed > 11000 )
DataESPeedDamping.Speed = 11000;
}
}
else //显示值正在向实际值减小,则维持当前方向调节增加速度
{
if ( DataESPeedDamping.Delta < Delta ) //当前(负)增量小于显示值与实际值的差值,则提升减小的速度
{
DataESPeedDamping.Delta += DATA_ESPEED_INC_STEP;
if ( DataESPeedDamping.Delta > Delta )
DataESPeedDamping.Delta = Delta;
}
else //当前(负)增量大于等于显示值与实际值的差值,保持(负)增量与当前差值同步,减小的速度即逐步减小
DataESPeedDamping.Delta = Delta;
Delta = DataESPeedDamping.Delta;
Delta /= DATA_ESPEED_DAMPING_FACTOR;
if ( Delta < DATA_ESPEED_APPR_SPEED_MIN )
Delta = DATA_ESPEED_APPR_SPEED_MIN;
if ( DataESPeedDamping.Speed < ESpeed + Delta )
DataESPeedDamping.Speed = ESpeed;
else
DataESPeedDamping.Speed -= Delta;
}
}
else //实际值与当前显示值相等时
{
Delta = DataESPeedDamping.Delta;
Delta /= DATA_ESPEED_DAMPING_FACTOR;
if ( Delta > DATA_ESPEED_APPR_SPEED_MIN ) //当前的速度不是最小,说明数值正在增加/减小中,则继续原过程
{
if ( DataESPeedDamping.Delta > DATA_ESPEED_DEC_STEP ) //显示值越过了实际值,必然要先减速至最小速度,再改变方向返回实际值
DataESPeedDamping.Delta -= DATA_ESPEED_DEC_STEP;
else
DataESPeedDamping.Delta = 0;
Delta = DataESPeedDamping.Delta;
Delta /= DATA_ESPEED_DAMPING_FACTOR;
if ( DataESPeedDamping.Dir == DATA_APPR_DIR_INC ) //显示值当前是增加方向
{
if ( Delta < DATA_ESPEED_APPR_SPEED_MIN ) //已减速至最小速度
DataESPeedDamping.Dir = DATA_APPR_DIR_DEC; //更换方向
else
{
DataESPeedDamping.Speed += Delta;
if ( DataESPeedDamping.Speed > 11000 )
DataESPeedDamping.Speed = 11000;
}
}
else //显示值当前是减小方向
{
if ( Delta < DATA_ESPEED_APPR_SPEED_MIN ) //已减速至最小速度
DataESPeedDamping.Dir = DATA_APPR_DIR_INC; //更换方向
else
{
if ( DataESPeedDamping.Speed > Delta )
DataESPeedDamping.Speed -= Delta;
else
DataESPeedDamping.Speed = 0;
}
}
}
}
//第4步 增加回差
if (DataESpeedDisp <= 80)
{
DataESpeedDisp = DataESPeedDamping.Speed;
}
else
{
if ( DataESpeedDisp < DataESPeedDamping.Speed )
{
DataESpeedDisp = DataESPeedDamping.Speed;
}
else
{
Delta = DataESpeedDisp - DataESPeedDamping.Speed;
if ( Delta >= DATA_ESPEED_HYSTERESIS )
{
DataESpeedDisp = DataESPeedDamping.Speed;
}
}
}
}
uint8_t Get_EngineValid(void)
{
return DataESpeedValid;
}
uint16_t Get_ActualEngineSpeed(void)
{
return DataESpeedActual;
}
uint16_t Get_DispEngineSpeed(void)
{
return DataESpeedDisp;
}
#ifndef _Data_Espeed_H_
#define _Data_Espeed_H_
#include "common.h"
/******************************************************************************
发动机转速
******************************************************************************/
/*** 参数设置 ***/
#define DATA_ENGINE_RUNNING_THRESHOLD 400 //发动机运转阈值
#define DATA_ENGINE_STOP_THRESHOLD 300 //发动机停止阈值
#define DATA_ESPEED_DAMPING_FACTOR 4 //阻尼系数
#define DATA_ESPEED_INC_STEP 10 //速度增加时慢加速速度变化步长
#define DATA_ESPEED_DEC_STEP 20 //方向改变时急减速速度变化步长
#define DATA_ESPEED_APPR_SPEED_MIN 10 //最小逼近速度
#define DATA_ESPEED_HYSTERESIS 80 //回差
/*** 控制结构 ***/
typedef struct
{
uint16_t Buffer[5];
uint8_t Cnt;
} DataESpeedSamplerStruct; //转速采样结构
typedef struct
{
uint16_t Speed;
uint16_t Delta;
uint8_t Dir;
} DataESPeedDampingStruct; //转速阻尼结构
typedef struct
{
uint16_t ESpeedBackup;
uint16_t Timer;
uint8_t Mode;
} DataESpeedIdleStruct; //怠速处理结构
/******************************************************************************
函数名:Data_Engine_Speed_KL30_Wakeup_Init
功 能:发动机转速初始化函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数KL30初始化/Wakeup初始化被调用一次
******************************************************************************/
void Data_Engine_Speed_KL30_Wakeup_Init (void);
/******************************************************************************
函数名:Data_Engine_Speed_Processing_Service
功 能:发动机转速数据处理函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数必须每20ms被调用一次
******************************************************************************/
void Data_Engine_Speed_Processing_Service ( void );
uint8_t Get_EngineValid(void);
uint16_t Get_ActualEngineSpeed(void);
uint16_t Get_DispEngineSpeed(void);
#endif
#include "Data_VSpeed.h"
#include "Components.h"
static uint16_t DataVSpeedActual;
static uint16_t DataVSpeedDisp;
static uint16_t DataVSpeedHysteresis;
static uint8_t DataVSpeedValid;
// static uint16_t DataVSpeedDisp_Mile;
static DataVSpeedSamplerStruct DataVSpeedSampler;
static DataVSPeedDampingStruct DataVSPeedDamping;
#define DATA_APPR_DIR_INC 0x01
#define DATA_APPR_DIR_DEC 0x02
/******************************************************************************
Data_Vehicle_Speed_KL30_Wakeup_Init
功 能:车速数据KL30_Wakeup_Init
参 数:无
返回值:无
******************************************************************************
注 意:该函数KL30_Wakeup_Init被调用一次
******************************************************************************/
void Data_Vehicle_Speed_KL30_Wakeup_Init(void)
{
DataVSpeedActual = 0;
DataVSpeedDisp = 0;
DataVSpeedHysteresis = 0;
DataVSpeedValid = 1;
DataVSpeedSampler.Cnt = 0;
DataVSPeedDamping.Speed = 0;
DataVSPeedDamping.Delta = 0;
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC;
DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Timer = 0;
}
/******************************************************************************
函数名:Data_Vehicle_Speed_Wakeup_Init
功 能:车速数据唤醒初始化
参 数:无
返回值:无
******************************************************************************
注 意:该函数唤醒初始化被调用一次
******************************************************************************/
void Data_Vehicle_Speed_Wakeup_Init(void)
{
DataVSpeedDisp = 0;
DataVSpeedHysteresis = 0;
DataVSPeedDamping.Speed = 0;
DataVSPeedDamping.Delta = 0;
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC;
DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Timer = 0;
}
/******************************************************************************
函数名:Data_Vehicle_Speed_Processing_Service
功 能:车速数据处理函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数必须每20ms被调用一次
******************************************************************************/
void Data_Vehicle_Speed_Processing_Service(void)
{
uint8_t i;
uint16_t Delta;
uint32_t VSpeed;
uint32_t VSpeedCal;
//uint8_t ESC_VehicleSpeedvalid;
uint32_t Vehicle_Speed;
Vehicle_Speed = Get_CAN_CH0_ID_101_Sig_ECU_Vehicle_Speed( );
//ESC_VehicleSpeedvalid = Get_CAN_CH0_ID_330_Sig_ESC_Vehicle_speed_valid( );
// 第1步:获取实际车速值及车速有效性
if( Common_Get_IG_Sts( ) == COMMON_POWER_ON )
{
//if ((CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST) || (Vehicle_Speed > 0XFF))
if(1)
{
/* 先判断掉线 */
//if (CAN_MSG_Status(&CAN_CH0_CanMsgOp, CAN_CH0_ID_CAN_0x101_Msg_Count) == CAN_SIG_LOST)
if(1)
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
DataVSpeedSampler.Backup = 0;
}
#if 0
else if ( ESC_VehicleSpeedvalid == 1 )//发送can无效标志位
{
if ( DataVSpeedSampler.Timer1 <= 10 ) /* 10帧无效 */
{
if ( DataVSpeedValid )//判断车速是否有效,有效采集10次,车速等于上次值
{
DataVSpeedSampler.Timer1++;
DataVSpeedActual = DataVSpeedSampler.Backup;
}
else//无效,不采集,车速=0
{
DataVSpeedSampler.Timer1 = 10;
DataVSpeedActual = 0;
DataVSpeedSampler.Backup = 0;
}
}
else//不采集就,车速=0
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
DataVSpeedSampler.Backup = 0;
}
}
#endif
else /* 收到无效值 */
{
if ( DataVSpeedSampler.Timer <= 100 ) /* 100帧无效值 */
{
if ( DataVSpeedValid )
{
DataVSpeedSampler.Timer++;
DataVSpeedActual = DataVSpeedSampler.Backup;
}
else
{
DataVSpeedSampler.Timer = 100;
DataVSpeedActual = 0;
DataVSpeedSampler.Backup = 0;
}
}
else // 接收到100帧无效值
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
DataVSpeedSampler.Backup = 0;
}
}
}
else //车速在线且有效
{
if ( DataVSpeedValid == 0 )
{
DataVSpeedValid = 1;
VSpeed = Vehicle_Speed;
// VSpeed *= 9;
// VSpeed >>= 4;
DataVSpeedActual = VSpeed * 10;
}
else
{
DataVSpeedSampler.Buffer [ DataVSpeedSampler.Cnt ] = Vehicle_Speed;
i = DataVSpeedSampler.Cnt;
while ( (i > 0) && (DataVSpeedSampler.Buffer [ i ] < DataVSpeedSampler.Buffer [ i - 1 ]) )
{
VSpeed = DataVSpeedSampler.Buffer [ i ];
DataVSpeedSampler.Buffer [ i ] = DataVSpeedSampler.Buffer [ i - 1 ];
DataVSpeedSampler.Buffer [ i - 1 ] = VSpeed;
i--;
}
DataVSpeedSampler.Cnt++;
if ( DataVSpeedSampler.Cnt >= 3 )
{
DataVSpeedSampler.Cnt = 0;
VSpeed = DataVSpeedSampler.Buffer [ 1 ];
//VSpeed *= 9;
//VSpeed >>= 4;
DataVSpeedActual = VSpeed * 10;
}
DataVSpeedSampler.Timer = 0;
DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Backup = DataVSpeedActual;
}
}
}
else
{
DataVSpeedValid = 0;
DataVSpeedActual = 0;
DataVSpeedSampler.Timer = 0;
DataVSpeedSampler.Timer1 = 0;
DataVSpeedSampler.Cnt = 0;
DataVSpeedSampler.Backup = 0;
}
// 第2步:车速的阻尼处理
VSpeed = DataVSpeedActual;
if ( VSpeed > DataVSPeedDamping.Speed ) // 实际值比当前显示值大时
{
Delta = ( uint16_t )VSpeed - DataVSPeedDamping.Speed;
if ( DataVSPeedDamping.Dir == DATA_APPR_DIR_INC ) // 显示值正在向实际值增加,则维持当前方向调节增加速度
{
if ( DataVSPeedDamping.Delta < Delta ) // 当前增量小于显示值与实际值的差值,则提升增加的速度
{
DataVSPeedDamping.Delta += DATA_VSPEED_INC_STEP;
if ( DataVSPeedDamping.Delta > Delta )
DataVSPeedDamping.Delta = Delta;
}
else // 当前增量大于等于显示值与实际值的差值,保持增量与当前差值同步,增加的速度即逐步减小
DataVSPeedDamping.Delta = Delta;
Delta = DataVSPeedDamping.Delta;
Delta /= DATA_VSPEED_DAMPING_FACTOR;
if ( Delta < DATA_VSPEED_APPR_SPEED_MIN )
Delta = DATA_VSPEED_APPR_SPEED_MIN;
DataVSPeedDamping.Speed += Delta;
if ( DataVSPeedDamping.Speed > VSpeed )
DataVSPeedDamping.Speed = ( uint16_t )VSpeed;
}
else // 显示值正在减小,则尽快减速至速度为最小时更换方向
{
if ( DataVSPeedDamping.Delta > DATA_VSPEED_DEC_STEP )
DataVSPeedDamping.Delta -= DATA_VSPEED_DEC_STEP;
else
DataVSPeedDamping.Delta = 0;
Delta = DataVSPeedDamping.Delta;
Delta /= DATA_VSPEED_DAMPING_FACTOR;
if ( Delta < DATA_VSPEED_APPR_SPEED_MIN ) // 已减速至最小速度
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC; // 更换方向
else
{
if ( DataVSPeedDamping.Speed > Delta )
DataVSPeedDamping.Speed -= Delta;
else
DataVSPeedDamping.Speed = 0;
}
}
}
else if ( VSpeed < DataVSPeedDamping.Speed ) // 实际值比当前显示值小时
{
Delta = DataVSPeedDamping.Speed - ( uint16_t )VSpeed;
if ( DataVSPeedDamping.Dir == DATA_APPR_DIR_INC ) // 显示值仍在增加,则尽快减速至速度为最小时更换方向
{
if ( DataVSPeedDamping.Delta > DATA_VSPEED_DEC_STEP )
DataVSPeedDamping.Delta -= DATA_VSPEED_DEC_STEP;
else
DataVSPeedDamping.Delta = 0;
Delta = DataVSPeedDamping.Delta;
Delta /= DATA_VSPEED_DAMPING_FACTOR;
if ( Delta < DATA_VSPEED_APPR_SPEED_MIN ) // 已减速至最小速度
DataVSPeedDamping.Dir = DATA_APPR_DIR_DEC; // 更换方向
else
{
DataVSPeedDamping.Speed += Delta;
if ( DataVSPeedDamping.Speed > 1200 )
DataVSPeedDamping.Speed = 1200;
}
}
else // 显示值正在向实际值减小,则维持当前方向调节增加速度
{
if ( DataVSPeedDamping.Delta < Delta ) // 当前(负)增量小于显示值与实际值的差值,则提升减小的速度
{
DataVSPeedDamping.Delta += DATA_VSPEED_INC_STEP;
if ( DataVSPeedDamping.Delta > Delta )
DataVSPeedDamping.Delta = Delta;
}
else // 当前(负)增量大于等于显示值与实际值的差值,保持(负)增量与当前差值同步,减小的速度即逐步减小
DataVSPeedDamping.Delta = Delta;
Delta = DataVSPeedDamping.Delta;
Delta /= DATA_VSPEED_DAMPING_FACTOR;
if ( Delta < DATA_VSPEED_APPR_SPEED_MIN )
Delta = DATA_VSPEED_APPR_SPEED_MIN;
if ( DataVSPeedDamping.Speed < VSpeed + Delta )
DataVSPeedDamping.Speed = ( uint16_t )VSpeed;
else
DataVSPeedDamping.Speed -= Delta;
}
}
else // 实际值与当前显示值相等时
{
Delta = DataVSPeedDamping.Delta;
Delta /= DATA_VSPEED_DAMPING_FACTOR;
if ( Delta > DATA_VSPEED_APPR_SPEED_MIN ) // 当前的速度不是最小,说明数值正在增加/减小中,则继续原过程
{
if ( DataVSPeedDamping.Delta > DATA_VSPEED_DEC_STEP ) // 显示值越过了实际值,必然要先减速至最小速度,再改变方向返回实际值
DataVSPeedDamping.Delta -= DATA_VSPEED_DEC_STEP;
else
DataVSPeedDamping.Delta = 0;
Delta = DataVSPeedDamping.Delta;
Delta /= DATA_VSPEED_DAMPING_FACTOR;
if ( DataVSPeedDamping.Dir == DATA_APPR_DIR_INC ) // 显示值当前是增加方向
{
if ( Delta < DATA_VSPEED_APPR_SPEED_MIN ) // 已减速至最小速度
DataVSPeedDamping.Dir = DATA_APPR_DIR_DEC; // 更换方向
else
{
DataVSPeedDamping.Speed += Delta;
if ( DataVSPeedDamping.Speed > 1200 )
DataVSPeedDamping.Speed = 1200;
}
}
else // 显示值当前是减小方向
{
if ( Delta < DATA_VSPEED_APPR_SPEED_MIN ) // 已减速至最小速度
DataVSPeedDamping.Dir = DATA_APPR_DIR_INC; // 更换方向
else
{
if ( DataVSPeedDamping.Speed > Delta )
DataVSPeedDamping.Speed -= Delta;
else
DataVSPeedDamping.Speed = 0;
}
}
}
}
// 第3步:生成显示车速
if ( (DataVSPeedDamping.Speed >= DataVSpeedHysteresis) || (DataVSPeedDamping.Speed < DATA_VSPEED_HYSTERESIS) )
{
DataVSpeedHysteresis = DataVSPeedDamping.Speed;
}
else
{
if ( DataVSpeedHysteresis - DataVSPeedDamping.Speed >= DATA_VSPEED_HYSTERESIS )
{
DataVSpeedHysteresis = DataVSPeedDamping.Speed;
}
}
VSpeedCal = ( uint32_t )DataVSpeedHysteresis;
if ( DataVSpeedValid )
{
VSpeedCal *= 108;
VSpeedCal /= 100;
if((VSpeedCal % 10) >= 5)
{
VSpeedCal += 5; /* 四舍五入 */
}
DataVSpeedDisp = ( uint16_t )VSpeedCal;
}
else
{
DataVSpeedDisp = 0;
}
}
/*车速有效位:有效=1,无效=0*/
uint8_t Get_VechileSpeedValid(void)
{
return DataVSpeedValid;
}
/*真实的车速,精度10倍,*/
uint16_t Get_ActualVechileSpeed(void)
{
return DataVSpeedActual;
}
/*显示车速,精度10倍,取整,舍去小数点*/
uint16_t Get_DispVechileSpeed(void)
{
uint16_t Vspeed = 0;
if(Get_Dis_Unit() == 0) /* KM */
{
if ( DataVSpeedDisp >= 1200 )
{
DataVSpeedDisp = 1200;
}
Vspeed = DataVSpeedDisp;
}
else //if (Get_Dis_Unit() == 1) /* MILE */
{
Vspeed = Data_Km_To_Mile(DataVSpeedDisp);
if ( Vspeed >= 750 )
{
Vspeed = 750;
}
}
// else
// {
// ;
// }
return Vspeed;
}
#ifndef _Data_Vspeed_H_
#define _Data_Vspeed_H_
#include "common.h"
/*** 参数设置 ***/
#define DATA_VEHICLE_RUNNING_THRESHOLD 25 //汽车行进阈值
#define DATA_VEHICLE_STOP_THRESHOLD 20 //汽车停止阈值
#define DATA_VSPEED_DAMPING_FACTOR 3 //阻尼系数
#define DATA_VSPEED_INC_STEP 2 //速度增加时慢加速速度变化步长
#define DATA_VSPEED_DEC_STEP 6 //方向改变时急减速速度变化步长
#define DATA_VSPEED_APPR_SPEED_MIN 2 //最小逼近速度
#define DATA_VSPEED_HYSTERESIS 10 //回差
/*** 控制结构 ***/
typedef struct
{
uint16_t Timer;
uint16_t Timer1;
uint16_t Backup;
uint16_t Buffer[3];
uint8_t Cnt;
} DataVSpeedSamplerStruct; //车速采样结构
typedef struct
{
uint16_t Speed;
uint16_t Delta;
uint8_t Dir;
} DataVSPeedDampingStruct; //车速阻尼结构
/******************************************************************************
Data_Vehicle_Speed_KL30_Wakeup_Init
功 能:车速数据KL30_Wakeup_Init
参 数:无
返回值:无
******************************************************************************
注 意:该函数KL30_Wakeup_Init被调用一次
******************************************************************************/
void Data_Vehicle_Speed_KL30_Wakeup_Init(void);
/******************************************************************************
函数名:Data_Vehicle_Speed_Processing_Service
功 能:车速数据处理函数
参 数:无
返回值:无
******************************************************************************
注 意:该函数必须每20ms被调用一次
******************************************************************************/
void Data_Vehicle_Speed_Processing_Service(void);
uint8_t Get_VechileSpeedValid(void);
/*真实的车速,精度10倍,*/
uint16_t Get_ActualVechileSpeed(void);
/*显示车速,精度10倍,取整,舍去小数点*/
uint16_t Get_DispVechileSpeed(void);
uint16_t Get_DispVechileSpeed_Mile(void);
#endif
......@@ -20,7 +20,8 @@
#include "CommonInterface.h"
#include "Menu\Menu.h"
#include "Flash_synchronizer\Flash_synchronizer.h"
#include "Data_ESpeed.h"
#include "Data_VSpeed.h"
#endif
......@@ -50,18 +50,18 @@ static void Power_KL30_Init(void)
BackLight_Init();
// Sys_KL30_Init();
// Checkself_Init();
//Data_Vehicle_Speed_KL30_Init();
//Data_Engine_Speed_KL30_Init();
Data_Vehicle_Speed_KL30_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init();
// LINE_IN_Init();
Key_KL30_Init_EXample();
//Light_Sensor_Init_Example();//注意顺序1
Data_User_Mileage_KL30Init();
Fuel_KL30_Init();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000);
TimerM_PWM_CH_Output_init(TIMERM_COUNTER1, TIMERM_CHB, ActiveLevel_High);
// Telltales_Auto_Start_Stop();
// Telltales_Init();
// MenuData_Unit_Init();
// g_stRTCInformation.u8RTCSecond = 0;
......@@ -87,12 +87,11 @@ static void Power_Wakeup_Init(void)
BackLight_Init();
// Sys_WakeUp_Init();
// Data_Vehicle_Speed_KL30_Init();
// Data_Engine_Speed_KL30_Init();
Data_Vehicle_Speed_KL30_Wakeup_Init();
Data_Engine_Speed_KL30_Wakeup_Init();
// LINE_IN_Init();
Key_Wakeup_Init_EXample();
Line_In_KL15_ON_Init();
//Light_Sensor_Init_Example();//注意顺序1
Fuel_KL30_Init();
TimerM_PWM_counter_Output_Init(TIMERM_COUNTER1, 400, 64000000);
......@@ -114,21 +113,16 @@ static void Power_OVP_Init(void)
static void Power_IG_OFF_Init(void)
{
Line_In_KL15_OFF_Init();
// Checkself_Init();
}
static void Power_IG_ON_Init(void)
{
// ClearODO_Flag = 0;
BackLight_Init();
// Checkself_Init();
Line_In_KL15_ON_Init();
// Telltales_KL15_Init();
Telltales_KL15_Init();
Fuel_KL15_Init();
// Telltales_Auto_Start_Stop();
// Data_Vehicle_Speed_KL15_Init();
// Data_Engine_Speed_KL15_Init();
}
static void Power_Sleep_Init(void)
......
......@@ -28,7 +28,8 @@ void Sys_10ms_Tasks(void)
void Sys_20ms_Tasks(void)
{
Data_Vehicle_Speed_Processing_Service();
Data_Engine_Speed_Processing_Service();
}
void Sys_50ms_Tasks(void)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment