Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
RT_RMR42E
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
时昊
RT_RMR42E
Commits
2ede2ca0
Commit
2ede2ca0
authored
Feb 16, 2025
by
李冠华
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
🦄
refactor:背光改为使用背光库
parent
50121044
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
662 additions
and
94 deletions
+662
-94
RMR42E.uvguix.Administrator
...t/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvguix.Administrator
+28
-28
RMR42E.uvprojx
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvprojx
+10
-0
Application.h
Firmware/Source/Application/Application.h
+1
-1
BackLight.c
Firmware/Source/Application/BackLight/BackLight.c
+290
-59
BackLight.h
Firmware/Source/Application/BackLight/BackLight.h
+58
-6
BackLight_User.c
Firmware/Source/Application/BackLight/BackLight_User.c
+211
-0
BackLight_User.h
Firmware/Source/Application/BackLight/BackLight_User.h
+62
-0
PowerManag_user.c
Firmware/Source/Component/PowerManagement/PowerManag_user.c
+1
-0
Sys_Task_List.c
Firmware/Source/System/Sys_Task_List.c
+1
-0
No files found.
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvguix.Administrator
View file @
2ede2ca0
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<Header>
### uVision Project, (C) Keil Software
</Header>
<Header>
### uVision Project, (C) Keil Software
</Header>
<PrjGuiSettings>
<PrjGuiSettings>
<LastAddFilePath>
Z:\D工作\code\rt_rmr42e\Firmware\Source\Application\
Driving_Information
</LastAddFilePath>
<LastAddFilePath>
Z:\D工作\code\rt_rmr42e\Firmware\Source\Application\
BackLight
</LastAddFilePath>
</PrjGuiSettings>
</PrjGuiSettings>
<ViewPool/>
<ViewPool/>
...
@@ -15,17 +15,17 @@
...
@@ -15,17 +15,17 @@
<View>
<View>
<WinId>
38003
</WinId>
<WinId>
38003
</WinId>
<ViewName>
Registers
</ViewName>
<ViewName>
Registers
</ViewName>
<TableColWidths>
140 1
41
</TableColWidths>
<TableColWidths>
140 1
00
</TableColWidths>
</View>
</View>
<View>
<View>
<WinId>
346
</WinId>
<WinId>
346
</WinId>
<ViewName>
Code Coverage
</ViewName>
<ViewName>
Code Coverage
</ViewName>
<TableColWidths>
885
160
</TableColWidths>
<TableColWidths>
885
605
</TableColWidths>
</View>
</View>
<View>
<View>
<WinId>
204
</WinId>
<WinId>
204
</WinId>
<ViewName>
Performance Analyzer
</ViewName>
<ViewName>
Performance Analyzer
</ViewName>
<TableColWidths>
1045
</TableColWidths>
<TableColWidths>
1045
156 156 133
</TableColWidths>
</View>
</View>
</SECTreeCtrl>
</SECTreeCtrl>
...
@@ -111,7 +111,7 @@
...
@@ -111,7 +111,7 @@
<RegID>
0
</RegID>
<RegID>
0
</RegID>
<MDITabState>
<MDITabState>
<Len>
1519
</Len>
<Len>
1519
</Len>
<Data>
0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C0000000000000001000000355A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C53797374656D5C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF4C5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C436F6D706F6E656E745C54656C6C74616C65735C54656C6C74616C65735F757365722E63000000001054656C6C74616C65735F757365722E6300000000FFDC7800FFFFFFFF4D5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C5345475F444953504C41595C5345475F444953504C41592E63000000000D5345475F444953504C41592E6300000000BECEA100FFFFFFFF555A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C436F6D6D6F6E496E746572666163655C436F6D6D6F6E496E746572666163652E630000000011436F6D6D6F6E496E746572666163652E6300000000F0A0A100FFFFFFFF3E5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C53797374656D5C5379735F5461736B5F4C6973742E63000000000F5379735F5461736B5F4C6973742E6300000000BCA8E100FFFFFFFF4D5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C4755495F446973706C61795C4755495F446973706C61792E63000000000D4755495F446973706C61792E63000000009CC1B600FFFFFFFF5E5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C43414E5F4150505C43414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E63000000002243414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E6300000000F7B88600FFFFFFFF575A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413233395C4D444B5F41524D5C4F626A656374735C524D523432452E736374000000000A524D523432452E73637400000000D9ADC200FFFFFFFF475A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C446174615F536F635C446174615F536F632E63000000000A446174615F536F632E6300000000A5C2D700FFFFFFFF4A5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C43414E5F557365725C43616E5F52585F557365722E63000000000D43616E5F52585F557365722E6300000000B3A6BE00FFFFFFFF735A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413233395C4D444B5F41524D5C5254455C4465766963655C424154333247313339474B363446425C737461727475705F4241543332473133392E730000000013737461727475705F4241543332473133392E7300000000EAD6A300FFFFFFFF535A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C44726976696E675F496E666F726D6174696F6E5C446174615F54696D652E63000000000B446174615F54696D652E6300000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000002701000065000000B6060000
4301
0000
</Data>
<Data>
0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000C0000000000000001000000355A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C53797374656D5C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF4C5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C436F6D706F6E656E745C54656C6C74616C65735C54656C6C74616C65735F757365722E63000000001054656C6C74616C65735F757365722E6300000000FFDC7800FFFFFFFF4D5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C5345475F444953504C41595C5345475F444953504C41592E63000000000D5345475F444953504C41592E6300000000BECEA100FFFFFFFF555A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C436F6D6D6F6E496E746572666163655C436F6D6D6F6E496E746572666163652E630000000011436F6D6D6F6E496E746572666163652E6300000000F0A0A100FFFFFFFF3E5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C53797374656D5C5379735F5461736B5F4C6973742E63000000000F5379735F5461736B5F4C6973742E6300000000BCA8E100FFFFFFFF4D5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C4755495F446973706C61795C4755495F446973706C61792E63000000000D4755495F446973706C61792E63000000009CC1B600FFFFFFFF5E5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C43414E5F4150505C43414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E63000000002243414E5F4348305F43414E5F436F6D6D756E69636174696F6E5F4D61747269782E6300000000F7B88600FFFFFFFF575A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413233395C4D444B5F41524D5C4F626A656374735C524D523432452E736374000000000A524D523432452E73637400000000D9ADC200FFFFFFFF475A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C446174615F536F635C446174615F536F632E63000000000A446174615F536F632E6300000000A5C2D700FFFFFFFF4A5A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C43414E5F557365725C43616E5F52585F557365722E63000000000D43616E5F52585F557365722E6300000000B3A6BE00FFFFFFFF735A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C50726F6A6563745C436D73656D69636F6E5C4241543332413233395C4D444B5F41524D5C5254455C4465766963655C424154333247313339474B363446425C737461727475705F4241543332473133392E730000000013737461727475705F4241543332473133392E7300000000EAD6A300FFFFFFFF535A3A5C44B9A4D7F75C636F64655C72745F726D723432655C4669726D776172655C536F757263655C4170706C69636174696F6E5C44726976696E675F496E666F726D6174696F6E5C446174615F54696D652E63000000000B446174615F54696D652E6300000000F6FA7D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000002701000065000000B6060000
0702
0000
</Data>
</MDITabState>
</MDITabState>
</MDIClientArea>
</MDIClientArea>
<ViewEx>
<ViewEx>
...
@@ -150,7 +150,7 @@
...
@@ -150,7 +150,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
030000006600000020010000
14
010000
</Data>
<Data>
030000006600000020010000
D8
010000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -170,7 +170,7 @@
...
@@ -170,7 +170,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
030000006600000020010000
14
010000
</Data>
<Data>
030000006600000020010000
D8
010000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -450,7 +450,7 @@
...
@@ -450,7 +450,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
030000006600000020010000
14
010000
</Data>
<Data>
030000006600000020010000
D8
010000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -470,7 +470,7 @@
...
@@ -470,7 +470,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
030000006600000020010000
14
010000
</Data>
<Data>
030000006600000020010000
D8
010000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -490,7 +490,7 @@
...
@@ -490,7 +490,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
00000000
4501
0000B60600004D030000
</Data>
<Data>
00000000
0902
0000B60600004D030000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -530,7 +530,7 @@
...
@@ -530,7 +530,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
03000000
4801
0000B306000034030000
</Data>
<Data>
03000000
0C02
0000B306000034030000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -1150,7 +1150,7 @@
...
@@ -1150,7 +1150,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
030000006600000020010000
14
010000
</Data>
<Data>
030000006600000020010000
D8
010000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -1170,7 +1170,7 @@
...
@@ -1170,7 +1170,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
03000000
4801
0000B306000034030000
</Data>
<Data>
03000000
0C02
0000B306000034030000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -1190,7 +1190,7 @@
...
@@ -1190,7 +1190,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
03000000
4801
0000B306000034030000
</Data>
<Data>
03000000
0C02
0000B306000034030000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -1250,7 +1250,7 @@
...
@@ -1250,7 +1250,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
03000000
4801
0000B306000034030000
</Data>
<Data>
03000000
0C02
0000B306000034030000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -1270,7 +1270,7 @@
...
@@ -1270,7 +1270,7 @@
<RecentRowIndex>
0
</RecentRowIndex>
<RecentRowIndex>
0
</RecentRowIndex>
<RectRecentDocked>
<RectRecentDocked>
<Len>
16
</Len>
<Len>
16
</Len>
<Data>
03000000
4801
0000B306000034030000
</Data>
<Data>
03000000
0C02
0000B306000034030000
</Data>
</RectRecentDocked>
</RectRecentDocked>
<RectRecentFloat>
<RectRecentFloat>
<Len>
16
</Len>
<Len>
16
</Len>
...
@@ -1799,14 +1799,14 @@
...
@@ -1799,14 +1799,14 @@
</Window>
</Window>
<DockMan>
<DockMan>
<Len>
3312
</Len>
<Len>
3312
</Len>
<Data>
000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDA000000C8000000F9040000CC000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DA00000065000000F9040000DE000000DA0000004F000000F9040000C80000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1F0400004F00000023040000CE010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002304000065000000F9040000E4010000230400004F000000F9040000CE01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF230100004F00000027010000
2D010000010000000200001004000000010000002CFFFFFFD7050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002301000043010000000000004F000000230100002D0100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA010000F9040000BE01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000D4010000F90400006102000000000000BE010000F90400004B02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF7D020000BE010000810200004B02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000002D010000B60600003101000001000000010000100400000001000000F4FDFFFFE7000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000000000047010000B6060000630300000000000031
010000B60600004D0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
</Data>
<Data>
000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFDA000000C8000000F9040000CC000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000DA00000065000000F9040000DE000000DA0000004F000000F9040000C80000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1F0400004F00000023040000CE010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000002304000065000000F9040000E4010000230400004F000000F9040000CE01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF230100004F00000027010000
F1010000010000000200001004000000010000002CFFFFFFD7050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002301000007020000000000004F00000023010000F10100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA010000F9040000BE01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000D4010000F90400006102000000000000BE010000F90400004B02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF7D020000BE010000810200004B02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F1010000B6060000F50100000100000001000010040000000100000027FFFFFF1A020000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000000B020000B60600006303000000000000F5
010000B60600004D0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
</Data>
</DockMan>
</DockMan>
<ToolBar>
<ToolBar>
<RegID>
59392
</RegID>
<RegID>
59392
</RegID>
<Name>
File
</Name>
<Name>
File
</Name>
<Buttons>
<Buttons>
<Len>
2889
</Len>
<Len>
2889
</Len>
<Data>
00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A000000000
4
000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F69642996000000000000000F001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F6964290C4765745F4E74635F54656D7025446174615F56656869636C655F53706565645F50726F63657373696E675F5365727669636512446174615F436C6F636B5F5365727669636518446174615F4F444F5F4D696C656167655F5365727669636511506F7765725F57616B6575705F496E69740A43616E5F52785F43616B0F434F4D5F4150505F50726F636573730943616E5F57726974651B43616E5F4170705F5365745F427566665F30783041353046464535074132314646453707705458427566660A307830413130464645350B30783041313046464535300D5254455F554152545F496E6974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
</Data>
<Data>
00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A000000000
0
000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F69642996000000000000000F001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F6964290C4765745F4E74635F54656D7025446174615F56656869636C655F53706565645F50726F63657373696E675F5365727669636512446174615F436C6F636B5F5365727669636518446174615F4F444F5F4D696C656167655F5365727669636511506F7765725F57616B6575705F496E69740A43616E5F52785F43616B0F434F4D5F4150505F50726F636573730943616E5F57726974651B43616E5F4170705F5365745F427566665F30783041353046464535074132314646453707705458427566660A307830413130464645350B30783041313046464535300D5254455F554152545F496E6974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
</Data>
</Buttons>
</Buttons>
<OriginalItems>
<OriginalItems>
<Len>
1423
</Len>
<Len>
1423
</Len>
...
@@ -1822,7 +1822,7 @@
...
@@ -1822,7 +1822,7 @@
<Name>
Build
</Name>
<Name>
Build
</Name>
<Buttons>
<Buttons>
<Len>
972
</Len>
<Len>
972
</Len>
<Data>
00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0
1000000000000000000000001
00000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000006524D523432459600000000000000010006524D52343245000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
</Data>
<Data>
00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0
0000000000000000100000000
00000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA000000000000000000000000000000000000000000000000010000000100000096000000030020500000000006524D523432459600000000000000010006524D52343245000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
</Data>
</Buttons>
</Buttons>
<OriginalItems>
<OriginalItems>
<Len>
583
</Len>
<Len>
583
</Len>
...
@@ -3547,7 +3547,7 @@
...
@@ -3547,7 +3547,7 @@
<Name>
File
</Name>
<Name>
File
</Name>
<Buttons>
<Buttons>
<Len>
2889
</Len>
<Len>
2889
</Len>
<Data>
00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F69642996000000000000000F001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F6964290C4765745F4E74635F54656D7025446174615F56656869636C655F53706565645F50726F63657373696E675F5365727669636512446174615F436C6F636B5F5365727669636518446174615F4F444F5F4D696C656167655F5365727669636511506F7765725F57616B6575705F496E69740A43616E5F52785F43616B0F434F4D5F4150505F50726F636573730943616E5F57726974651B43616E5F4170705F5365745F427566665F30783041353046464535074132314646453707705458427566660A307830413130464645350B30783041313046464535300D5254455F554152545F496E6974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000
3
00150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
</Data>
<Data>
00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F69642996000000000000000F001E766F696420426C7565546F6F74685F4B4C33305F496E697428766F6964290C4765745F4E74635F54656D7025446174615F56656869636C655F53706565645F50726F63657373696E675F5365727669636512446174615F436C6F636B5F5365727669636518446174615F4F444F5F4D696C656167655F5365727669636511506F7765725F57616B6575705F496E69740A43616E5F52785F43616B0F434F4D5F4150505F50726F636573730943616E5F57726974651B43616E5F4170705F5365745F427566665F30783041353046464535074132314646453707705458427566660A307830413130464645350B30783041313046464535300D5254455F554152545F496E6974000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000
1
00150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
</Data>
</Buttons>
</Buttons>
<OriginalItems>
<OriginalItems>
<Len>
1423
</Len>
<Len>
1423
</Len>
...
@@ -3563,7 +3563,7 @@
...
@@ -3563,7 +3563,7 @@
<Name>
Build
</Name>
<Name>
Build
</Name>
<Buttons>
<Buttons>
<Len>
955
</Len>
<Len>
955
</Len>
<Data>
00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0
1
00000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
</Data>
<Data>
00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0
0
00000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
</Data>
</Buttons>
</Buttons>
<OriginalItems>
<OriginalItems>
<Len>
583
</Len>
<Len>
583
</Len>
...
@@ -3579,7 +3579,7 @@
...
@@ -3579,7 +3579,7 @@
<Name>
Debug
</Name>
<Name>
Debug
</Name>
<Buttons>
<Buttons>
<Len>
2362
</Len>
<Len>
2362
</Len>
<Data>
00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801780000000000
0002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7201
0000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
</Data>
<Data>
00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801780000000000
4002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7200
0000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
</Data>
</Buttons>
</Buttons>
<OriginalItems>
<OriginalItems>
<Len>
898
</Len>
<Len>
898
</Len>
...
@@ -3606,9 +3606,9 @@
...
@@ -3606,9 +3606,9 @@
<ActiveTab>
0
</ActiveTab>
<ActiveTab>
0
</ActiveTab>
<Doc>
<Doc>
<Name>
..\..\..\..\Source\System\main.c
</Name>
<Name>
..\..\..\..\Source\System\main.c
</Name>
<ColumnNumber>
6
</ColumnNumber>
<ColumnNumber>
0
</ColumnNumber>
<TopLine>
54
</TopLine>
<TopLine>
45
</TopLine>
<CurrentLine>
6
0
</CurrentLine>
<CurrentLine>
6
2
</CurrentLine>
<Folding>
1
</Folding>
<Folding>
1
</Folding>
<ContractedFolders></ContractedFolders>
<ContractedFolders></ContractedFolders>
<PaneID>
0
</PaneID>
<PaneID>
0
</PaneID>
...
@@ -3670,7 +3670,7 @@
...
@@ -3670,7 +3670,7 @@
<Doc>
<Doc>
<Name>
Z:\D工作\code\rt_rmr42e\Firmware\Project\Cmsemicon\BAT32A239\MDK_ARM\Objects\RMR42E.sct
</Name>
<Name>
Z:\D工作\code\rt_rmr42e\Firmware\Project\Cmsemicon\BAT32A239\MDK_ARM\Objects\RMR42E.sct
</Name>
<ColumnNumber>
0
</ColumnNumber>
<ColumnNumber>
0
</ColumnNumber>
<TopLine>
8
</TopLine>
<TopLine>
1
</TopLine>
<CurrentLine>
16
</CurrentLine>
<CurrentLine>
16
</CurrentLine>
<Folding>
1
</Folding>
<Folding>
1
</Folding>
<ContractedFolders></ContractedFolders>
<ContractedFolders></ContractedFolders>
...
@@ -3688,7 +3688,7 @@
...
@@ -3688,7 +3688,7 @@
<Doc>
<Doc>
<Name>
..\..\..\..\Source\Application\CAN_User\Can_RX_User.c
</Name>
<Name>
..\..\..\..\Source\Application\CAN_User\Can_RX_User.c
</Name>
<ColumnNumber>
17
</ColumnNumber>
<ColumnNumber>
17
</ColumnNumber>
<TopLine>
2
21
</TopLine>
<TopLine>
2
13
</TopLine>
<CurrentLine>
229
</CurrentLine>
<CurrentLine>
229
</CurrentLine>
<Folding>
1
</Folding>
<Folding>
1
</Folding>
<ContractedFolders></ContractedFolders>
<ContractedFolders></ContractedFolders>
...
@@ -3697,7 +3697,7 @@
...
@@ -3697,7 +3697,7 @@
<Doc>
<Doc>
<Name>
RTE\Device\BAT32G139GK64FB\startup_BAT32G139.s
</Name>
<Name>
RTE\Device\BAT32G139GK64FB\startup_BAT32G139.s
</Name>
<ColumnNumber>
0
</ColumnNumber>
<ColumnNumber>
0
</ColumnNumber>
<TopLine>
12
7
</TopLine>
<TopLine>
12
3
</TopLine>
<CurrentLine>
129
</CurrentLine>
<CurrentLine>
129
</CurrentLine>
<Folding>
1
</Folding>
<Folding>
1
</Folding>
<ContractedFolders></ContractedFolders>
<ContractedFolders></ContractedFolders>
...
...
Firmware/Project/Cmsemicon/BAT32A239/MDK_ARM/RMR42E.uvprojx
View file @
2ede2ca0
...
@@ -518,6 +518,16 @@
...
@@ -518,6 +518,16 @@
<FileType>
5
</FileType>
<FileType>
5
</FileType>
<FilePath>
..\..\..\..\Source\Application\Driving_Information\Data_Gear.h
</FilePath>
<FilePath>
..\..\..\..\Source\Application\Driving_Information\Data_Gear.h
</FilePath>
</File>
</File>
<File>
<FileName>
BackLight_User.c
</FileName>
<FileType>
1
</FileType>
<FilePath>
..\..\..\..\Source\Application\BackLight\BackLight_User.c
</FilePath>
</File>
<File>
<FileName>
BackLight_User.h
</FileName>
<FileType>
5
</FileType>
<FilePath>
..\..\..\..\Source\Application\BackLight\BackLight_User.h
</FilePath>
</File>
</Files>
</Files>
</Group>
</Group>
<Group>
<Group>
...
...
Firmware/Source/Application/Application.h
View file @
2ede2ca0
...
@@ -15,6 +15,6 @@
...
@@ -15,6 +15,6 @@
#include "Data_Fuel\Data_Fuel.h"
#include "Data_Fuel\Data_Fuel.h"
#include "Driving_Information\Data_Time.h"
#include "Driving_Information\Data_Time.h"
#include "Driving_Information\Data_Gear.h"
#include "Driving_Information\Data_Gear.h"
#include "BackLight\BackLight_User.h"
#endif
#endif
Firmware/Source/Application/BackLight/BackLight.c
View file @
2ede2ca0
#include "Backlight.h"
#include "BackLight\BackLight.h"
#define BackLight_version 0X01
#include "Components.h"
#include "Application.h"
#include "TrmerM\TrmerM.h"
typedef
struct
__attribute__
((
aligned
(
4
)))
{
SetPwm
SetPwmCbk
;
/* 设置PWM回调函数 */
SetPwmEnable
SetPwmEnCbk
;
/* 设置PWM使能回调函数 */
SetPwmLevel
SetPwmLevelCbk
;
/* 背光等级回调函数 */
GetNtcRes
NtcResCbk
;
_st_Backlight_NtcTable
*
BacklightNTCTable
;
_st_BacklightLevel
*
BacklightLevelTable
;
Light_uint8_t
BacklightEn
;
/* 背光使能 */
Light_uint16_t
BacklightPwm
;
/* 背光PWM */
}
_Backlight_Op
;
typedef
struct
__attribute__
((
aligned
(
4
)))
{
Light_uint8_t
destFactor
;
Light_uint8_t
curFactor
;
Light_uint16_t
NtcDelayTimer
;
Light_uint16_t
u16DialcurDuty
;
Light_uint16_t
u16DialdestDuty
;
Light_uint16_t
u16DialDampingTimer
;
}
_st_BacklightFactor_Ctrl
;
static
_Backlight_Op
Backlight_Operate
;
static
_st_BacklightFactor_Ctrl
BacklightFactorCtrl
;
static
Light_uint8_t
Get_Pwm_Factor_Optimized
(
Light_uint16_t
CurrentTemp
);
/**
* @brief 初始化背光模块
* @param backlightInit 背光初始化配置结构体指针,包含所需的回调函数和数据表。
*/
void
Backlight_KL30_WakeUp_Init
(
_st_BackLight_Init
*
backlightInit
)
{
Backlight_Operate
.
SetPwmCbk
=
backlightInit
->
SetPwmCbk
;
Backlight_Operate
.
SetPwmEnCbk
=
backlightInit
->
SetPwmEnCbk
;
Backlight_Operate
.
SetPwmLevelCbk
=
backlightInit
->
SetPwmLevelCbk
;
Backlight_Operate
.
NtcResCbk
=
backlightInit
->
NtcResCbk
;
Backlight_Operate
.
BacklightLevelTable
=
backlightInit
->
BacklightLevelTable
;
Backlight_Operate
.
BacklightNTCTable
=
backlightInit
->
BacklightNTCTable
;
Backlight_Operate
.
BacklightPwm
=
0
;
Backlight_Operate
.
BacklightEn
=
0
;
BacklightFactorCtrl
.
curFactor
=
100
;
BacklightFactorCtrl
.
destFactor
=
0
;
BacklightFactorCtrl
.
NtcDelayTimer
=
0
;
BacklightFactorCtrl
.
u16DialcurDuty
=
0
;
BacklightFactorCtrl
.
u16DialDampingTimer
=
0
;
BacklightFactorCtrl
.
u16DialdestDuty
=
0
;
}
#define BACK_LIGHT_DAY 200
/**
#define openLED_flag ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL))
* @brief 初始化背光休眠设置
uint8_t
interact_PWM_Low_Duty
=
0
;
* @note 调用该函数前,需确保相关硬件和寄存器已初始化。
*/
void
BackLight_Sleep_Init
(
void
)
{
Backlight_Operate
.
BacklightPwm
=
0
;
Backlight_Operate
.
BacklightEn
=
0
;
BacklightFactorCtrl
.
curFactor
=
100
;
BacklightFactorCtrl
.
destFactor
=
0
;
BacklightFactorCtrl
.
NtcDelayTimer
=
0
;
BacklightFactorCtrl
.
u16DialcurDuty
=
0
;
BacklightFactorCtrl
.
u16DialDampingTimer
=
0
;
BacklightFactorCtrl
.
u16DialdestDuty
=
0
;
}
void
BackLight_Process
(
void
)
/**
* 根据背光等级获取对应的背光占空比。
*
* @param level 背光等级。
* @return 对应背光等级的占空比,如果找不到对应等级则返回0。
*
* 该函数通过遍历背光等级表格,查找与输入等级匹配的背光占空比。
* 如果找到匹配的等级,則返回该等级对应的占空比;如果未找到匹配的等级,
* 则返回0。这允许应用程序根据背光等级动态调整背光的亮度。
*/
Light_uint16_t
GetBacklightDutyByLevel
(
Light_uint16_t
level
)
{
{
if
(
openLED_flag
)
for
(
Light_uint8_t
i
=
0
;
i
<
BacklightLevel_Max
;
++
i
)
{
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
BACK_LIGHT_DAY
);
if
(
Backlight_Operate
.
BacklightLevelTable
[
i
].
BacklightLevel
==
level
)
//电量
if
((
Get_EleDial_AllSOC_lenth
()
==
2
)
||
(
checkself_seg_Flag
==
1
))
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_HIGH
);
//百位
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_HIGH
);
}
else
if
(
Get_EleDial_AllSOC_lenth
()
==
1
)
{
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_LOW
);
return
Backlight_Operate
.
BacklightLevelTable
[
i
].
BacklightDuty
;
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_HIGH
);
}
}
else
}
/* 找不到匹配的等级,返回默认值50 */
return
50
;
}
/**
* 根据给定的背光表和输入电阻值,获取对应的温度值。
* 这个函数通过线性插值方法在背光表中查找与输入电阻最接近的温度值。
* @param backlightTable 背光表,包含电阻和对应温度的数组。
* @param size 背光表的大小,即数组的元素个数。
* @param input 输入的电阻值。
* @return 返回对应的温度值。
*/
Light_uint16_t
Get_Ntc_Temp
(
_st_Backlight_NtcTable
*
backlightTable
,
Light_uint8_t
size
,
Light_uint16_t
input
)
{
Light_uint16_t
result
=
0
;
Light_uint32_t
temp
=
0
;
Light_uint8_t
i
=
0
;
if
(
input
>=
backlightTable
[
0
].
Resistance
)
{
result
=
backlightTable
[
0
].
Temperature
;
}
else
if
(
input
<=
backlightTable
[
size
-
1
].
Resistance
)
{
result
=
backlightTable
[
size
-
1
].
Temperature
;
}
else
{
for
(
i
=
0
;
i
<
size
-
1
;
i
++
)
{
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_LOW
);
if
((
input
<
backlightTable
[
i
].
Resistance
)
&&
(
input
>=
backlightTable
[
i
+
1
].
Resistance
))
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_LOW
);
{
temp
=
backlightTable
[
i
+
1
].
Temperature
-
backlightTable
[
i
].
Temperature
;
temp
*=
(
backlightTable
[
i
].
Resistance
-
input
);
temp
/=
(
backlightTable
[
i
].
Resistance
-
backlightTable
[
i
+
1
].
Resistance
);
temp
+=
backlightTable
[
i
].
Temperature
;
result
=
(
Light_uint16_t
)
temp
;
break
;
}
}
}
}
}
else
return
result
;
}
/**
* @brief 根据当前温度,获取当前百分比
* @param CurrentTemp 当前温度,单位为摄氏度
* @return 当前百分比,取值范围为10到100
* 注意:如果当前温度不在预定义的范围内,则默认返回100。
*/
static
Light_uint8_t
Get_Pwm_Factor_Optimized
(
Light_uint16_t
CurrentTemp
)
{
if
(
CurrentTemp
>=
900
)
{
return
10
;
}
if
(
CurrentTemp
>=
880
&&
CurrentTemp
<=
890
)
{
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
0
);
return
20
;
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_LOW
);
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_LOW
);
}
}
if
(
CurrentTemp
>=
850
&&
CurrentTemp
<=
860
)
{
return
70
;
}
if
(
CurrentTemp
>=
800
&&
CurrentTemp
<=
830
)
{
return
75
;
}
if
(
CurrentTemp
>=
750
&&
CurrentTemp
<=
780
)
{
return
80
;
}
if
(
CurrentTemp
>=
700
&&
CurrentTemp
<=
730
)
{
return
85
;
}
if
(
CurrentTemp
>=
650
&&
CurrentTemp
<=
680
)
{
return
90
;
}
if
(
CurrentTemp
>=
600
&&
CurrentTemp
<=
630
)
{
return
95
;
}
if
(
CurrentTemp
<=
580
)
{
return
100
;
}
return
100
;
}
}
void
BackLight_Clock_All_Process
(
void
)
/**
* @brief 实现数据的渐变效果
* 该函数用于更新当前值,使其逐渐接近目标值,渐变的步长由step参数控制。同时,通过timer参数来实现一定的延迟效果,
* 仅当计时器达到或超过预设的timedelay时,才会进行一次渐变操作。这有助于平滑数据的变化,避免突变。
* @param cur 当前值的指针,函数将更新这个值
* @param dest 目标值,当前值将逐渐变化到这个值
* @param step 每次变化的步长
* @param timer 计时器的指针,用于实现变化的延迟
* @param timedelay 延迟的时间阈值,当计时器达到或超过这个值时,才会进行变化
*/
void
U16_Data_Gradient
(
Light_uint16_t
*
cur
,
Light_uint16_t
dest
,
Light_uint16_t
step
,
Light_uint16_t
*
timer
,
const
Light_uint16_t
timedelay
)
{
{
if
(
openLED_flag
&&
(
Charge_OFF_Flag
==
0
)
)
if
(
*
cur
>
dest
)
{
{
//总计时间
if
((
*
cur
-
dest
)
>
step
)
if
((
Get_Clock_All_lenth
()
==
2
)
||
(
checkself_seg_Flag
==
1
))
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_HIGH
);
//总计工作时长统计千位_MCU_OUT
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_HIGH
);
//总计工作时长统计百十位_MCU_OUT
}
else
if
(
Get_Clock_All_lenth
()
==
1
)
{
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计千位_MCU_OUT
if
(
*
timer
>=
timedelay
)
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_HIGH
);
//总计工作时长统计百十位_MCU_OUT
{
(
*
cur
)
-=
step
;
(
*
timer
)
=
0
;
}
else
{
(
*
timer
)
++
;
}
}
}
else
else
{
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计千位_MCU_OUT
*
cur
=
dest
;
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计百十位_MCU_OUT
*
timer
=
0
;
}
}
}
}
else
else
{
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计千位_MCU_OUT
if
((
dest
-
*
cur
)
>
step
)
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计百十位_MCU_OUT
{
if
(
*
timer
>=
timedelay
)
{
(
*
cur
)
+=
step
;
(
*
timer
)
=
0
;
}
else
{
(
*
timer
)
++
;
}
}
else
{
*
cur
=
dest
;
*
timer
=
0
;
}
}
}
}
}
void
BackLight_Service
(
void
)
void
Interact_Light_Process
(
void
)
{
{
if
((
Get_CAN_Power_State
()
!=
KEY_OFF
)
&&
(
Get_CAN_Power_State
()
!=
POWER_CHECK_NULL
)
&&
(
Charge_OFF_Flag
==
0
))
Light_uint16_t
CurrentTemp
=
0
;
if
(
Backlight_Operate
.
NtcResCbk
!=
((
void
*
)
0
))
{
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER0
,
TIMERM_CHD
,
interact_PWM_Low_Duty
*
10
);
CurrentTemp
=
Get_Ntc_Temp
(
Backlight_Operate
.
BacklightNTCTable
,
Backlight_NTC_Max
,
Backlight_Operate
.
NtcResCbk
()
);
}
}
else
else
{
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER0
,
TIMERM_CHD
,
1000
);
CurrentTemp
=
0XFFFF
;
/* 无效不执行NTC策略 */
}
}
}
uint8_t
Get_Interact_Light_State
(
void
)
/* 根据外部传入背光等级获取对应占空比 */
{
if
(
Backlight_Operate
.
SetPwmLevelCbk
!=
((
void
*
)
0
))
uint8_t
stata
=
0x0
;
if
(
interact_PWM_Low_Duty
==
0
)
{
{
stata
=
0x1
;
Backlight_Operate
.
BacklightPwm
=
GetBacklightDutyByLevel
(
Backlight_Operate
.
SetPwmLevelCbk
())
;
}
}
else
if
(
interact_PWM_Low_Duty
==
30
)
if
(
Backlight_Operate
.
SetPwmEnCbk
!=
((
void
*
)
0
))
{
{
stata
=
0x2
;
Backlight_Operate
.
BacklightEn
=
Backlight_Operate
.
SetPwmEnCbk
()
;
}
}
else
if
(
interact_PWM_Low_Duty
==
50
)
if
(
Backlight_Operate
.
BacklightEn
==
1
)
{
if
(
CurrentTemp
!=
0XFFFF
)
{
BacklightFactorCtrl
.
destFactor
=
Get_Pwm_Factor_Optimized
(
CurrentTemp
);
if
((
BacklightFactorCtrl
.
curFactor
<
BacklightFactorCtrl
.
destFactor
)
&&
(
CurrentTemp
<=
Backlight_Operate
.
BacklightNTCTable
[
0
].
Temperature
))
{
if
(
BacklightFactorCtrl
.
NtcDelayTimer
<=
BackLight_Up_Timer
)
BacklightFactorCtrl
.
NtcDelayTimer
++
;
else
{
BacklightFactorCtrl
.
NtcDelayTimer
=
0
;
BacklightFactorCtrl
.
curFactor
++
;
}
if
(
BacklightFactorCtrl
.
curFactor
>=
BacklightFactorCtrl
.
destFactor
)
BacklightFactorCtrl
.
curFactor
=
BacklightFactorCtrl
.
destFactor
;
}
else
if
(
BacklightFactorCtrl
.
curFactor
>
BacklightFactorCtrl
.
destFactor
)
{
if
(
BacklightFactorCtrl
.
NtcDelayTimer
<=
BackLight_Down_Timer
)
BacklightFactorCtrl
.
NtcDelayTimer
++
;
else
{
BacklightFactorCtrl
.
NtcDelayTimer
=
0
;
BacklightFactorCtrl
.
curFactor
--
;
}
if
(
BacklightFactorCtrl
.
curFactor
<=
BacklightFactorCtrl
.
destFactor
)
BacklightFactorCtrl
.
curFactor
=
BacklightFactorCtrl
.
destFactor
;
}
BacklightFactorCtrl
.
u16DialdestDuty
=
Backlight_Operate
.
BacklightPwm
*
BacklightFactorCtrl
.
curFactor
/
100
;
if
(
BacklightFactorCtrl
.
u16DialdestDuty
<
50
)
{
BacklightFactorCtrl
.
u16DialdestDuty
=
50
;
}
if
(
CurrentTemp
<=
Backlight_Operate
.
BacklightNTCTable
[
0
].
Temperature
)
{
BacklightFactorCtrl
.
u16DialcurDuty
=
BacklightFactorCtrl
.
u16DialdestDuty
;
}
else
{
if
(
BacklightFactorCtrl
.
u16DialcurDuty
<
100
)
{
BacklightFactorCtrl
.
u16DialcurDuty
=
BacklightFactorCtrl
.
u16DialdestDuty
;
}
else
{
U16_Data_Gradient
((
Light_uint16_t
*
)
&
BacklightFactorCtrl
.
u16DialcurDuty
,
BacklightFactorCtrl
.
u16DialdestDuty
,
1u
,
(
Light_uint16_t
*
)
&
BacklightFactorCtrl
.
u16DialDampingTimer
,
1u
);
}
}
Backlight_Operate
.
BacklightPwm
=
BacklightFactorCtrl
.
u16DialcurDuty
;
Backlight_Operate
.
SetPwmCbk
(
Backlight_Operate
.
BacklightPwm
);
}
else
{
/* 无NTC策略 直接根据当前背光等级调整PWM */
Backlight_Operate
.
SetPwmCbk
(
Backlight_Operate
.
BacklightPwm
);
}
}
else
{
{
stata
=
0x3
;
Backlight_Operate
.
SetPwmCbk
(
0
)
;
}
}
return
stata
;
}
}
Firmware/Source/Application/BackLight/BackLight.h
View file @
2ede2ca0
#ifndef _BACKLIGHT_H_
#ifndef _BACKLIGHT_H_
#define _BACKLIGHT_H_
#define _BACKLIGHT_H_
#include "common.h"
extern
uint8_t
interact_PWM_Low_Duty
;
#ifdef Platform_16Bit
void
BackLight_Process
(
void
);
#define Light_uint8_t unsigned char
void
Interact_Light_Process
(
void
);
#define Light_uint16_t unsigned int
void
BackLight_Clock_All_Process
(
void
);
#define Light_uint32_t unsigned long
extern
uint8_t
Get_Interact_Light_State
(
void
);
#else
#define Light_uint8_t unsigned char
#define Light_uint16_t unsigned short
#define Light_uint32_t unsigned int
#define Light_uint64_t unsigned long long
#endif
#endif
#define Backlight_NTC_Max 10
/* 背光NTC阻值表格元素最大值 */
#define BacklightLevel_Max 10
/* 背光等级表格元素最大值 */
#define BackLight_Up_Timer 400
/* 背光精度上升1%的时间 单位 10ms */
#define BackLight_Down_Timer 200
/* 背光精度下降1%的时间 单位 10ms */
typedef
struct
//__attribute__((aligned(4)))
{
Light_uint16_t
Temperature
;
/* 温度 */
Light_uint16_t
Resistance
;
/* 阻值 */
}
_st_Backlight_NtcTable
;
typedef
struct
//__attribute__((aligned(4)))
{
Light_uint16_t
BacklightLevel
;
/* 背光等级 */
Light_uint16_t
BacklightDuty
;
/* 背光占空比 */
}
_st_BacklightLevel
;
typedef
void
(
*
SetPwm
)(
Light_uint16_t
Pwm
);
typedef
Light_uint8_t
(
*
SetPwmEnable
)(
void
);
typedef
Light_uint8_t
(
*
SetPwmLevel
)(
void
);
typedef
Light_uint16_t
(
*
GetNtcRes
)(
void
);
typedef
struct
//__attribute__((aligned(4)))
{
SetPwm
SetPwmCbk
;
/* 设置PWM回调函数 */
SetPwmEnable
SetPwmEnCbk
;
/* 设置PWM使能回调函数 */
SetPwmLevel
SetPwmLevelCbk
;
/* 背光等级回调函数 */
GetNtcRes
NtcResCbk
;
/* 获取NTC电阻值回调函数 如无NTC传入空 */
_st_Backlight_NtcTable
*
BacklightNTCTable
;
/* NTC 数据表 */
_st_BacklightLevel
*
BacklightLevelTable
;
/* 背光等级数据表 */
}
_st_BackLight_Init
;
/**
* @brief 初始化背光模块,KL30/唤醒初始化调用一次即可
* @param backlightInit 背光初始化配置结构体指针,包含所需的回调函数和数据表。
* @note 调用此初始化前需先初始化硬件相关
*/
extern
void
Backlight_KL30_WakeUp_Init
(
_st_BackLight_Init
*
backlightInit
);
/**
* @brief 初始化背光模块,休眠初始化调用一次即可
* @note 调用此初始化前需先初始化硬件相关
*/
extern
void
BackLight_Sleep_Init
(
void
);
/**
* @brief 背光服务函数 必须10ms调用
*/
extern
void
BackLight_Service
(
void
);
#endif
Firmware/Source/Application/BackLight/BackLight_User.c
0 → 100644
View file @
2ede2ca0
#include "BackLight_User.h"
#include "BackLight.h"
#include "TrmerM\TrmerM.h"
#define BACK_LIGHT_DAY 200
#define openLED_flag ((Get_CAN_Power_State() != PKEY_ON) && (Get_CAN_Power_State() != KEY_OFF) && (Get_CAN_Power_State() != POWER_CHECK_NULL))
uint8_t
interact_PWM_Low_Duty
=
0
;
Backlight_User_OPT3004_st_t
opt3004
;
uint8_t
g_u8BacklightUserDayTimecount
=
0
;
uint16_t
u16Backlightcount
=
0U
;
uint8_t
u8BacklightLevel
=
0U
;
/* 填写NTC阻值温度对应表*/
_st_Backlight_NtcTable
BacklightNTCTable
[
Backlight_NTC_Max
]
=
{
/*温度 阻值 */
{
550
,
2709
},
{
600
,
2224
},
{
650
,
1832
},
{
700
,
1518
},
{
750
,
1263
},
{
800
,
1056
},
{
850
,
887
},
{
900
,
748
},
{
950
,
633
},
{
1000
,
538
},
};
/* 填写背光等级及占空比对应表 */
_st_BacklightLevel
BacklightLevelTable
[
BacklightLevel_Max
]
=
{
/*背光等级 背光占空比 */
{
1
,
50
},
/*夜间背光1级*/
{
2
,
100
},
/*夜间背光2级*/
{
3
,
150
},
/*夜间背光3级*/
{
4
,
200
},
/*夜间背光4级*/
{
5
,
250
},
/*夜间背光5级*/
{
6
,
100
},
/*白天背光1级*/
{
7
,
200
},
/*白天背光2级*/
{
8
,
300
},
/*白天背光3级*/
{
9
,
400
},
/*白天背光4级*/
{
10
,
500
},
/*白天背光5级*/
};
/**
* @brief 获取背光使能回调函数
* 用于控制背光开启关闭
*/
uint8_t
Get_BackLight_En
(
void
)
{
if
((
Common_Get_IG_Sts
()
==
COMMON_POWER_ON
)
&&
(
openLED_flag
))
{
return
1
;
}
else
{
return
0
;
}
}
/**
* @brief 设置PWM回调函数
*/
void
Set_Pwm_Cbk
(
uint16_t
PWM
)
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER1
,
TIMERM_CHB
,
PWM
);
}
/**
* @brief 获取当前背光等级回调函数
*/
uint8_t
Get_BackLight_Level
(
void
)
{
// uint16_t u8PositionStatus = 0U;
// // u8PositionStatus = (Line_In_Get_Status(LINE_IN_PositionLight));
// if (u8PositionStatus == 1U)
// {
// return u8BacklightLevel;
// }
// else
// {
// return u8BacklightLevel + 5U;
// }
return
5
;
}
/**
* @brief 获取当前显示背光等级函数
*/
uint8_t
Get_BackLight_Level_Display
(
void
)
{
return
u8BacklightLevel
;
}
// /**
// * @brief 获取当前NTC阻值 ,本项目没有NTC热敏电阻采集
// */
// uint16_t Get_NTC_Rec(void)
// {
// // uint16_t u16NTCresistance = 0U;
// // u16NTCresistance = ADC_Read_Signal(ADC_CH_NTC_R);
// // return u16NTCresistance;
// }
void
BackLight_User_Init
(
void
)
{
_st_BackLight_Init
BackLightInit
;
BackLightInit
.
SetPwmCbk
=
Set_Pwm_Cbk
;
BackLightInit
.
SetPwmEnCbk
=
Get_BackLight_En
;
BackLightInit
.
SetPwmLevelCbk
=
Get_BackLight_Level
;
BackLightInit
.
NtcResCbk
=
((
void
*
)
0
);
BackLightInit
.
BacklightNTCTable
=
&
BacklightNTCTable
[
0
];
BackLightInit
.
BacklightLevelTable
=
&
BacklightLevelTable
[
0
];
Backlight_KL30_WakeUp_Init
(
&
BackLightInit
);
// opt3004.u8DayandNightSts = DAY_SCREEN;
// opt3004.u32Result = 0;
u8BacklightLevel
=
3U
;
}
void
BackLight_Process
(
void
)
{
if
(
openLED_flag
)
{
//电量
if
((
Get_EleDial_AllSOC_lenth
()
==
2
)
||
(
checkself_seg_Flag
==
1
))
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_HIGH
);
//百位
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_HIGH
);
}
else
if
(
Get_EleDial_AllSOC_lenth
()
==
1
)
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_LOW
);
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_HIGH
);
}
else
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_LOW
);
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_LOW
);
}
}
else
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT03_PIN00
,
RTE_GPIO_LEVEL_LOW
);
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT02_PIN04
,
RTE_GPIO_LEVEL_LOW
);
}
}
void
BackLight_Clock_All_Process
(
void
)
{
if
(
openLED_flag
&&
(
Charge_OFF_Flag
==
0
))
{
//总计时间
if
((
Get_Clock_All_lenth
()
==
2
)
||
(
checkself_seg_Flag
==
1
))
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_HIGH
);
//总计工作时长统计千位_MCU_OUT
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_HIGH
);
//总计工作时长统计百十位_MCU_OUT
}
else
if
(
Get_Clock_All_lenth
()
==
1
)
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计千位_MCU_OUT
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_HIGH
);
//总计工作时长统计百十位_MCU_OUT
}
else
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计千位_MCU_OUT
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计百十位_MCU_OUT
}
}
else
{
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN05
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计千位_MCU_OUT
RTE_GPIO_Set_Level
(
RTE_GPIO_PORT01_PIN06
,
RTE_GPIO_LEVEL_LOW
);
//总计工作时长统计百十位_MCU_OUT
}
}
void
Interact_Light_Process
(
void
)
{
if
((
Get_CAN_Power_State
()
!=
KEY_OFF
)
&&
(
Get_CAN_Power_State
()
!=
POWER_CHECK_NULL
)
&&
(
Charge_OFF_Flag
==
0
))
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER0
,
TIMERM_CHD
,
interact_PWM_Low_Duty
*
10
);
}
else
{
TimerM_PWM_set_duty
(
TIMERM_COUNTER0
,
TIMERM_CHD
,
1000
);
}
}
uint8_t
Get_Interact_Light_State
(
void
)
{
uint8_t
stata
=
0x0
;
if
(
interact_PWM_Low_Duty
==
0
)
{
stata
=
0x1
;
}
else
if
(
interact_PWM_Low_Duty
==
30
)
{
stata
=
0x2
;
}
else
if
(
interact_PWM_Low_Duty
==
50
)
{
stata
=
0x3
;
}
return
stata
;
}
Firmware/Source/Application/BackLight/BackLight_User.h
0 → 100644
View file @
2ede2ca0
#ifndef BACKLIGHT_USER_H__
#define BACKLIGHT_USER_H__
#include "Application.h"
#include "Components.h"
/*NTC 降背光策略采用BYD策略
L超过60℃需要有背光策略,背光策略优先依据BYD策略
L温度要设计≥2℃的温度回差
注:BYD策略,如下:
采集温度达到60度 输出背光=当前背光等级亮度*95%
采集温度达到65度 输出背光=当前背光等级亮度*90%
采集温度达到70度 输出背光=当前背光等级亮度*85%
采集温度达到75度 输出背光=当前背光等级亮度*80%
采集温度达到80度 输出背光=当前背光等级亮度*75%
采集温度达到85度 输出背光=当前背光等级亮度*70%
采集温度达到88度 输出背光=当前背光等级亮度*20%
采集温度达到90度 输出背光=当前背光等级亮度*10
温度上升
2S下降1%
温度下降
4S上升1%
*/
#define BACKLIGHT_DELAY_NUM 15U
/*背光延迟点亮等待时长 = (BACKLIGHT_DELAY_NUM * 10ms) */
#define BLACK_TO_WHITE_LUMINOUS_VALUE 2000U
/*从黑背景切换到白背景时的临界光感值*/
#define WHITE_TO_BLACK_LUMINOUS_VALUE 900U
/*从白背景切换到黑背景时的临界光感值*/
#define SCREEN_SWITCHOVER_DELAY_NUM 15U
/*白天夜间模式切换光感滤波时间 = SCREEN_SWITCHOVER_HOLD_NUM * 100ms) */
typedef
enum
{
DAY_SCREEN
=
0
,
/*白天模式、白背景*/
NIGHT_SCREEN
,
/*夜间模式、黑背景*/
}
BackLight_Screen_Status_en_t
;
/*光感数据存储结构体*/
typedef
struct
__attribute__
((
aligned
(
4
)))
{
uint32_t
u32Result
;
uint8_t
u8DayandNightSts
;
}
Backlight_User_OPT3004_st_t
;
extern
Backlight_User_OPT3004_st_t
opt3004
;
extern
uint16_t
u16Backlightcount
;
extern
uint8_t
u8BacklightLevel
;
extern
void
BackLight_User_Init
(
void
);
extern
uint8_t
Get_BackLight_Level_Display
(
void
);
extern
uint8_t
interact_PWM_Low_Duty
;
void
BackLight_Process
(
void
);
void
Interact_Light_Process
(
void
);
void
BackLight_Clock_All_Process
(
void
);
extern
uint8_t
Get_Interact_Light_State
(
void
);
#endif
Firmware/Source/Component/PowerManagement/PowerManag_user.c
View file @
2ede2ca0
...
@@ -52,6 +52,7 @@ static void Power_KL30_Init(void)
...
@@ -52,6 +52,7 @@ static void Power_KL30_Init(void)
Sys_KL30_Init
();
Sys_KL30_Init
();
Checkself_Init
();
Checkself_Init
();
LINE_IN_Init
();
LINE_IN_Init
();
BackLight_User_Init
();
LED_Driver_Init_Example
();
//注意顺序2
LED_Driver_Init_Example
();
//注意顺序2
LED_Driver_Service_Immediate
();
LED_Driver_Service_Immediate
();
Telltales_Init
();
Telltales_Init
();
...
...
Firmware/Source/System/Sys_Task_List.c
View file @
2ede2ca0
...
@@ -35,6 +35,7 @@ void Sys_10ms_Tasks(void)
...
@@ -35,6 +35,7 @@ void Sys_10ms_Tasks(void)
Line_In_Debounce_Service
(
10u
);
Line_In_Debounce_Service
(
10u
);
Can_BusOff_Recover
(
10u
);
Can_BusOff_Recover
(
10u
);
Data_CumulativeWorkHours_EEPROM_Write
();
Data_CumulativeWorkHours_EEPROM_Write
();
BackLight_Service
();
}
}
void
Sys_20ms_Tasks
(
void
)
void
Sys_20ms_Tasks
(
void
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment