From 5bdc868b2ef673bbce5e0abbc2a7bf8f7f8fa55e Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期二, 27 四月 2021 11:59:30 +0800
Subject: [PATCH] V2.17 增加基站汇总模式,青岛待测试

---
 源码/核心板/Src/application/dw_app.h             |    3 
 源码/核心板/Src/ExternalDevices/lis3dh_driver.h  |  569 +++++++
 源码/核心板/MDK-ARM/Project.uvprojx              |   15 
 源码/核心板/Src/ExternalDevices/lis3dh_driver.c  | 1995 ++++++++++++++++++++++++++
 源码/核心板/Src/ExternalDevices/dps368_test.c    |  108 +
 源码/核心板/Src/application/global_param.c       |    2 
 源码/核心板/Src/main.c                           |   35 
 源码/核心板/Src/ExternalDevices/dps310.c         |  380 +++++
 源码/核心板/MDK-ARM/Project.uvoptx               |  158 +
 源码/核心板/Src/ExternalDevices/dps310.h         |  341 ++++
 源码/核心板/MDK-ARM/Project.uvguix.Administrator |  720 +++++----
 源码/核心板/Src/ExternalDevices/led.c            |    6 
 源码/核心板/Src/application/dw_app.c             |   59 
 13 files changed, 4,010 insertions(+), 381 deletions(-)

diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvguix.Administrator" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvguix.Administrator"
index 3a88b05..8fc8343 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvguix.Administrator"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvguix.Administrator"
@@ -6,7 +6,7 @@
   <Header>### uVision Project, (C) Keil Software</Header>
 
   <PrjGuiSettings>
-    <LastAddFilePath></LastAddFilePath>
+    <LastAddFilePath>E:\GIT\UWB_SmallModule\婧愮爜\鏍稿績鏉縗Src\ExternalDevices</LastAddFilePath>
   </PrjGuiSettings>
 
   <ViewPool/>
@@ -15,17 +15,17 @@
     <View>
       <WinId>38003</WinId>
       <ViewName>Registers</ViewName>
-      <TableColWidths>117 118</TableColWidths>
+      <TableColWidths>175 176</TableColWidths>
     </View>
     <View>
       <WinId>346</WinId>
       <ViewName>Code Coverage</ViewName>
-      <TableColWidths>500 100</TableColWidths>
+      <TableColWidths>675 100</TableColWidths>
     </View>
     <View>
       <WinId>204</WinId>
       <ViewName>Performance Analyzer</ViewName>
-      <TableColWidths>930 90 90 100</TableColWidths>
+      <TableColWidths>397 139 139 100</TableColWidths>
     </View>
   </SECTreeCtrl>
 
@@ -90,8 +90,8 @@
     <sActiveDebugView></sActiveDebugView>
     <WindowPosition>
       <length>44</length>
-      <flags>0</flags>
-      <showCmd>1</showCmd>
+      <flags>2</flags>
+      <showCmd>2</showCmd>
       <MinPosition>
         <xPos>-32000</xPos>
         <yPos>-32000</yPos>
@@ -101,17 +101,17 @@
         <yPos>-1</yPos>
       </MaxPosition>
       <NormalPosition>
-        <Top>2</Top>
-        <Left>-6</Left>
-        <Right>1541</Right>
-        <Bottom>829</Bottom>
+        <Top>0</Top>
+        <Left>0</Left>
+        <Right>1547</Right>
+        <Bottom>830</Bottom>
       </NormalPosition>
     </WindowPosition>
     <MDIClientArea>
       <RegID>0</RegID>
       <MDITabState>
-        <Len>1584</Len>
-        <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000F00000005000000010000002D453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF3B453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C64775F6170702E63000000000864775F6170702E6300000000FFDC7800FFFFFFFF3F453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C646563616472697665725C646563615F6465766963652E63000000000D646563615F6465766963652E6300000000BECEA100FFFFFFFF3B453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C64775F6170702E68000000000864775F6170702E6800000000F0A0A100FFFFFFFF46453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C73657269616C5F61745F636D645F6170702E63000000001373657269616C5F61745F636D645F6170702E6300000000BCA8E100FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C55736172742E63000000000755736172742E63000000009CC1B600FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C55736172742E68000000000755736172742E6800000000F7B88600FFFFFFFF3A453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C5370692E6300000000055370692E6300000000D9ADC200FFFFFFFF41453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C676C6F62616C5F706172616D2E63000000000E676C6F62616C5F706172616D2E6300000000A5C2D700FFFFFFFF41453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C676C6F62616C5F706172616D2E68000000000E676C6F62616C5F706172616D2E6800000000B3A6BE00FFFFFFFF43453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C626565705F6C6F6769635F6170702E630000000010626565705F6C6F6769635F6170702E6300000000EAD6A300FFFFFFFF61453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F75736172742E68000000001173746D3332663130785F75736172742E6800000000F6FA7D00FFFFFFFF5F453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F7263632E68000000000F73746D3332663130785F7263632E6800000000B5E99D00FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6C65642E6300000000056C65642E63000000005FC3CF00FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6C65642E6800000000056C65642E6800000000C1838300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000006D01000070000000FD05000050020000</Data>
+        <Len>2614</Len>
+        <Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001900000000000000010000002D453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF3B453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C64775F6170702E63000000000864775F6170702E6300000000FFDC7800FFFFFFFF3F453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C646563616472697665725C646563615F6465766963652E63000000000D646563615F6465766963652E6300000000BECEA100FFFFFFFF3B453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C64775F6170702E68000000000864775F6170702E6800000000F0A0A100FFFFFFFF46453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C73657269616C5F61745F636D645F6170702E63000000001373657269616C5F61745F636D645F6170702E6300000000BCA8E100FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C55736172742E63000000000755736172742E63000000009CC1B600FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C55736172742E68000000000755736172742E6800000000F7B88600FFFFFFFF3A453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C5370692E6300000000055370692E6300000000D9ADC200FFFFFFFF41453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C676C6F62616C5F706172616D2E63000000000E676C6F62616C5F706172616D2E6300000000A5C2D700FFFFFFFF41453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C676C6F62616C5F706172616D2E68000000000E676C6F62616C5F706172616D2E6800000000B3A6BE00FFFFFFFF43453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C626565705F6C6F6769635F6170702E630000000010626565705F6C6F6769635F6170702E6300000000EAD6A300FFFFFFFF61453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F75736172742E68000000001173746D3332663130785F75736172742E6800000000F6FA7D00FFFFFFFF5F453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F7263632E68000000000F73746D3332663130785F7263632E6800000000B5E99D00FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6C65642E6300000000056C65642E63000000005FC3CF00FFFFFFFF3C453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6C65642E6800000000056C65642E6800000000C1838300FFFFFFFF42453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C64775F6472697665722E63000000000B64775F6472697665722E6300000000CACAD500FFFFFFFF44453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6470733336385F746573742E63000000000D6470733336385F746573742E6300000000C5D4F200FFFFFFFF46453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6C69733364685F6472697665722E68000000000F6C69733364685F6472697665722E6800000000FFDC7800FFFFFFFF46453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6C69733364685F6472697665722E63000000000F6C69733364685F6472697665722E6300000000BECEA100FFFFFFFF60453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C53544D3332463130785F5374645065726970685F4472697665725C696E635C73746D3332663130785F6770696F2E68000000001073746D3332663130785F6770696F2E6800000000F0A0A100FFFFFFFF60453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C53544D3332463130785F5374645065726970685F4472697665725C7372635C73746D3332663130785F6770696F2E63000000001073746D3332663130785F6770696F2E6300000000BCA8E100FFFFFFFF3F453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6470733331302E6300000000086470733331302E63000000009CC1B600FFFFFFFF47453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C5263635F4E7669635F5379737469636B2E6300000000125263635F4E7669635F5379737469636B2E6300000000F7B88600FFFFFFFF3F453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C45787465726E616C446576696365735C6470733331302E6800000000086470733331302E6800000000D9ADC200FFFFFFFF35453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C73746D3332663130785F69742E63000000000E73746D3332663130785F69742E6300000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000009584FFFF4F83FFFF0089FFFF4185FFFF</Data>
       </MDITabState>
     </MDIClientArea>
     <ViewEx>
@@ -134,7 +134,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C60000007000000072040000DE000000</Data>
+          <Data>C40000006600000070040000D4000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -150,11 +150,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000006401000016020000</Data>
+          <Data>03000000660000008E01000028020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -170,11 +170,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000006401000016020000</Data>
+          <Data>03000000660000008E01000028020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -194,7 +194,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -214,7 +214,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -234,7 +234,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -254,7 +254,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -274,7 +274,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -294,7 +294,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -314,7 +314,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -334,7 +334,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -354,7 +354,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -374,7 +374,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -394,7 +394,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -414,7 +414,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -434,7 +434,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -450,11 +450,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000006401000016020000</Data>
+          <Data>03000000660000008E01000028020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -470,11 +470,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000006401000016020000</Data>
+          <Data>03000000660000008E01000028020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -490,11 +490,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>030000004A020000F8050000E8020000</Data>
+          <Data>030000005C020000FD050000F5020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -514,7 +514,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -530,11 +530,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>030000004A020000F8050000E8020000</Data>
+          <Data>030000005C020000FD050000F5020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -554,7 +554,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -574,7 +574,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -614,7 +614,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -634,7 +634,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -654,7 +654,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -674,7 +674,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -694,7 +694,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -714,7 +714,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -734,7 +734,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -754,7 +754,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -774,7 +774,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -794,7 +794,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -814,7 +814,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -834,7 +834,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -854,7 +854,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -874,7 +874,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -894,7 +894,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -914,7 +914,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -934,7 +934,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -954,7 +954,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -974,7 +974,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -994,7 +994,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1014,7 +1014,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1034,7 +1034,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1054,7 +1054,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1074,7 +1074,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1094,7 +1094,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1114,7 +1114,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1134,7 +1134,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1150,17 +1150,17 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>03000000660000006401000016020000</Data>
+          <Data>0300000066000000FD00000028020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
         <RegID>38007</RegID>
         <PaneID>38007</PaneID>
-        <IsVisible>0</IsVisible>
+        <IsVisible>1</IsVisible>
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
@@ -1170,11 +1170,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>030000004A020000F8050000E8020000</Data>
+          <Data>030000005C020000FD050000F5020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1190,11 +1190,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>030000004A020000F8050000E8020000</Data>
+          <Data>030000005C020000FD050000F5020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1214,7 +1214,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1234,7 +1234,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1250,11 +1250,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>030000004A020000F8050000E8020000</Data>
+          <Data>030000005C020000FD050000F5020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1270,11 +1270,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>030000004A020000F8050000E8020000</Data>
+          <Data>030000005C020000FD050000F5020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB0000008701000077020000</Data>
+          <Data>70000000870000005301000043020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1294,7 +1294,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000DC02000029010000</Data>
+          <Data>7000000087000000A8020000F5000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1314,7 +1314,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1334,13 +1334,13 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
         <RegID>50002</RegID>
         <PaneID>50002</PaneID>
-        <IsVisible>1</IsVisible>
+        <IsVisible>0</IsVisible>
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
@@ -1350,11 +1350,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>C7000000660000006D04000081000000</Data>
+          <Data>B3030000660000006D0400008C010000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1374,7 +1374,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1394,7 +1394,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1414,7 +1414,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1434,7 +1434,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1454,7 +1454,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1474,7 +1474,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1494,7 +1494,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1514,7 +1514,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1534,7 +1534,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1554,7 +1554,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1574,7 +1574,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1594,7 +1594,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1614,7 +1614,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1634,7 +1634,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1654,7 +1654,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1674,7 +1674,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1694,7 +1694,7 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1730,7 +1730,7 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0000000001030000FB05000014030000</Data>
+          <Data>000000000E0300000006000021030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
@@ -1794,19 +1794,19 @@
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>A4000000BB000000640100005B010000</Data>
+          <Data>70000000870000003001000027010000</Data>
         </RectRecentFloat>
       </Window>
       <DockMan>
         <Len>3312</Len>
-        <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C60000007000000072040000DE000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B20300007000000072040000C6010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF670100004F0000006B0100002F0200000100000002000010040000000100000042FFFFFF32050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000002000000700000006901000050020000000000004F000000670100002F0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000002000000B601000072040000380200000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000002F020000FB0500003302000001000000010000100400000001000000C5FDFFFF6C000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF01000077940000018000800000010000000200000054020000FD050000220300000000000033020000FB050000010300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
+        <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF910100004F00000095010000410200000100000002000010040000000100000002FFFFFFF7040000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000000001000058020000000000004F00000091010000410200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000AC010000700400002E0200000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000410200000006000045020000010000000100001004000000010000007FFEFFFF33010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000005C02000000060000250300000000000045020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657301000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
       </DockMan>
       <ToolBar>
         <RegID>59392</RegID>
         <Name>File</Name>
         <Buttons>
-          <Len>2928</Len>
-          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000116D5F45554152545F444D415F525850747296000000000000001400116D5F45554152545F444D415F52585074721145554152545F52585F4255465F53495A4518706F72745F7365745F6477313030305F736C6F77726174650B675F5265737474696D65720D554152545F506F704672616D650E55415254325F506F704672616D650E554152545F507573684672616D650F55415254325F507573684672616D650F45554152545F52585F444D415F43480A4750535F50494E5F454E1D6477745F636F6E666967636F6E74696E756F75736672616D656D6F64650870646F615F76616C11464C4153485F494150464C41475F4D41500B4750494F5F50494E5F31300844454D4F5F4C4F47076C5F62417574680D536F636B65745F4372656174650E554450436C69656E745F496E6974066F66667365740B6D6F746F725F73746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
+          <Len>2975</Len>
+          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000114765745072657373416E6448656967687496000000000000001400054558544931114765745072657373416E644865696768740F75736172745F73656E645B3130305D0B75736172745F73656E645B0A75736172745F73656E6406627574746F6E0D6672616D655F7365715F6E62320D616E6369646C6973745F7265630A696D755F656E61626C6509494943325F496E6974075265616450696E0E6D5F7533324865616465724C656E10554450436C69656E745F55706C6F61640D6470733331305F726573756D651A4450533331305F4D4F44455F4241434B47524F554E445F414C4C224450533331305F4D4F44455F4241434B47524F554E445F54454D50455241545552451C4450533331305F4D4F44455F434F4D4D414E445F50524553535552451F4450533331305F4D4F44455F434F4D4D414E445F54454D50455241545552451F4450533331305F4D4F44455F4241434B47524F554E445F50524553535552450C6470733331305F73746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
         </Buttons>
         <OriginalItems>
           <Len>1423</Len>
@@ -1822,7 +1822,7 @@
         <Name>Build</Name>
         <Buttons>
           <Len>970</Len>
-          <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000553544D3332960000000000000001000553544D3332000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
+          <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000553544D3332960000000000000001000553544D3332000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
         </Buttons>
         <OriginalItems>
           <Len>583</Len>
@@ -1861,7 +1861,7 @@
       <Window>
         <RegID>-1</RegID>
         <PaneID>-1</PaneID>
-        <IsVisible>0</IsVisible>
+        <IsVisible>1</IsVisible>
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
@@ -1871,11 +1871,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F40000004F00000056030000DF000000</Data>
+          <Data>6D0100004F0000007E04000094000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>F6000000700000005803000000010000</Data>
+          <Data>6D010000660000007E040000AB000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1891,11 +1891,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000066000000F20000003E020000</Data>
+          <Data>0300000066000000660100002D020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1911,11 +1911,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000066000000F20000003E020000</Data>
+          <Data>0300000066000000660100002D020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000003D01000079020000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1931,11 +1931,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1951,11 +1951,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1971,11 +1971,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -1991,11 +1991,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2011,11 +2011,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2031,11 +2031,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F70000006600000053030000C6000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2051,11 +2051,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2071,11 +2071,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2091,11 +2091,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2111,11 +2111,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2131,11 +2131,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2151,11 +2151,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2171,11 +2171,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2191,11 +2191,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000066000000F20000003E020000</Data>
+          <Data>0300000066000000660100002D020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000003D01000079020000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2211,11 +2211,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000066000000F20000003E020000</Data>
+          <Data>0300000066000000660100002D020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000003D01000079020000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2231,11 +2231,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000072020000D9040000D2020000</Data>
+          <Data>03000000610200007B040000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2251,11 +2251,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>00000000EB020000FB050000CA030000</Data>
+          <Data>0000000053030000FE050000D0030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2271,17 +2271,17 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>00000000EB020000FB050000CD030000</Data>
+          <Data>00000000F802000000060000AE030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
         <RegID>203</RegID>
         <PaneID>203</PaneID>
-        <IsVisible>0</IsVisible>
+        <IsVisible>1</IsVisible>
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
@@ -2291,11 +2291,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F70000006600000053030000C6000000</Data>
+          <Data>6D010000630000007E04000094000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2311,11 +2311,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F70000006600000053030000C6000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2351,11 +2351,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2371,11 +2371,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2391,11 +2391,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F70000006600000053030000C6000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2411,11 +2411,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F70000006600000053030000C6000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2431,11 +2431,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>A700000066000000AD0300009A000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2200000039000000C2000000BC000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2451,11 +2451,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>F70000006600000053030000C6000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2471,11 +2471,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2491,11 +2491,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2511,11 +2511,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2531,11 +2531,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2551,11 +2551,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2571,11 +2571,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2591,11 +2591,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2611,11 +2611,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2631,11 +2631,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2651,11 +2651,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2671,11 +2671,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2691,11 +2691,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2711,11 +2711,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2731,11 +2731,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2751,11 +2751,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2771,11 +2771,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2791,11 +2791,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2811,11 +2811,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2831,11 +2831,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2851,11 +2851,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2871,11 +2871,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2891,11 +2891,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000066000000F20000003E020000</Data>
+          <Data>0300000066000000660100002D020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000003D01000079020000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2907,15 +2907,15 @@
         <IsActivated>0</IsActivated>
         <MRUWidth>32767</MRUWidth>
         <PinState>0</PinState>
-        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>000000006F020000DC040000EB020000</Data>
+          <Data>000000005E0200007E040000F8020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2100000037000000E9020000C7000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2927,15 +2927,15 @@
         <IsActivated>0</IsActivated>
         <MRUWidth>32767</MRUWidth>
         <PinState>0</PinState>
-        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000072020000D9040000D2020000</Data>
+          <Data>03000000610200007B040000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000003D01000079020000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2951,11 +2951,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2971,11 +2971,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>E304000066000000F8050000D2020000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>C606000020020000820A0000FF020000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -2987,15 +2987,15 @@
         <IsActivated>0</IsActivated>
         <MRUWidth>32767</MRUWidth>
         <PinState>0</PinState>
-        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000031020000FD04000065020000</Data>
+          <Data>03000000610200007B040000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2200000039000000DE0000009B010000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3007,15 +3007,15 @@
         <IsActivated>0</IsActivated>
         <MRUWidth>32767</MRUWidth>
         <PinState>0</PinState>
-        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0300000031020000FD04000065020000</Data>
+          <Data>03000000610200007B040000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2200000039000000DE0000009B010000</Data>
+          <Data>8A000000A10000004601000003020000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3031,11 +3031,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>A700000066000000AD0300009A000000</Data>
+          <Data>70010000660000007B0400007B000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2200000039000000FA01000091000000</Data>
+          <Data>8A000000A100000062020000F9000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3051,11 +3051,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3071,17 +3071,17 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
         <RegID>50002</RegID>
         <PaneID>50002</PaneID>
-        <IsVisible>1</IsVisible>
+        <IsVisible>0</IsVisible>
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
@@ -3091,11 +3091,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>A700000066000000AD03000081000000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3111,7 +3111,7 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
@@ -3131,11 +3131,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3151,11 +3151,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3171,11 +3171,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3191,11 +3191,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3211,11 +3211,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3231,11 +3231,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3251,11 +3251,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3271,11 +3271,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3291,11 +3291,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3311,11 +3311,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3331,11 +3331,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3351,7 +3351,7 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
@@ -3371,11 +3371,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3391,11 +3391,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3411,11 +3411,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3431,11 +3431,11 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>ED02000066000000D703000044020000</Data>
+          <Data>80030000660000007C05000030030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>21000000370000001101000002010000</Data>
+          <Data>8A000000A10000002A01000024010000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3445,13 +3445,13 @@
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
-        <MRUWidth>345</MRUWidth>
+        <MRUWidth>966</MRUWidth>
         <PinState>0</PinState>
         <RecentFrameAlignment>8192</RecentFrameAlignment>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0000000000000000D10300001C000000</Data>
+          <Data>0400000000000000D50300001C000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
@@ -3471,7 +3471,7 @@
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>0000000001030000FB05000014030000</Data>
+          <Data>000000000E0300000006000021030000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
@@ -3485,13 +3485,13 @@
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
-        <MRUWidth>463</MRUWidth>
+        <MRUWidth>476</MRUWidth>
         <PinState>0</PinState>
         <RecentFrameAlignment>8192</RecentFrameAlignment>
         <RecentRowIndex>1</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>000000001C000000DA01000038000000</Data>
+          <Data>000000001C000000E701000038000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
@@ -3505,17 +3505,17 @@
         <IsFloating>0</IsFloating>
         <IsTabbed>0</IsTabbed>
         <IsActivated>0</IsActivated>
-        <MRUWidth>316</MRUWidth>
+        <MRUWidth>612</MRUWidth>
         <PinState>0</PinState>
         <RecentFrameAlignment>8192</RecentFrameAlignment>
         <RecentRowIndex>2</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>080000001C0000007702000038000000</Data>
+          <Data>030000001C0000007202000038000000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>0A0000000A0000006E0000006E000000</Data>
+          <Data>0A0000000A0000007602000042000000</Data>
         </RectRecentFloat>
       </Window>
       <Window>
@@ -3527,27 +3527,27 @@
         <IsActivated>0</IsActivated>
         <MRUWidth>32767</MRUWidth>
         <PinState>0</PinState>
-        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
         <RecentRowIndex>0</RecentRowIndex>
         <RectRecentDocked>
           <Len>16</Len>
-          <Data>00000000FDFFFFFF010000003C010000</Data>
+          <Data>8504000066000000FD050000DF020000</Data>
         </RectRecentDocked>
         <RectRecentFloat>
           <Len>16</Len>
-          <Data>2200000039000000C2000000BC000000</Data>
+          <Data>BC0700009DFDFFFF780B0000D8FEFFFF</Data>
         </RectRecentFloat>
       </Window>
       <DockMan>
-        <Len>3875</Len>
-        <Data>0000000010000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000056030000E3000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000F6000000700000005803000000010000F40000004F00000056030000DF0000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFE60200004F000000EA0200005D020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000EC02000070000000DC0300007E020000EA0200004F000000DA0300005D02000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0352434300000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF50000004F000000F9000000570200000100000002000010040000000100000012FFFFFFE1020000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000200000070000000F700000078020000000000004F000000F5000000570200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000057020000DC0400005B020000010000000100001004000000010000008CFEFFFF1D010000FFFFFFFF03000000C5000000B40100007794000001800080000001000000020000007C020000DE0400000C030000000000005B020000DC040000EB0200000000000040820056030000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF02000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFFDC0400004F000000E0040000EB020000010000000200001004000000010000001FFDFFFF1901000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800040000001000000E204000070000000FD0500000C030000E00400004F000000FB050000EB02000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000020000000000000FFFFFFFFFFFFFFFFA4000000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF02000000D60100004589000001800020000000000000A600000070000000B2030000D4000000A40000004F000000B0030000B30000000000000040280046020000000F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFD601000001000000FFFFFFFFD6010000000000000080000000000000FFFFFFFFFFFFFFFF0000000037010000B00300003B0100000000000001000000040000000100000000000000000000000000000000000000000000000100000000000000FFFFFFFF010000003803000001800080000000000000020000000A000000930100005D01000000000000E9FFFFFF010000003C01000000000000404100460100000009554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD80100003B010000DC010000A701000000000000020000000400000000000000000000000000000000000000000000000000000001000000FFFFFFFF3803000001000000FFFFFFFF38030000000000000080000000000000FFFFFFFFFFFFFFFF0000000016020000000500001A020000000000000100000004000000010000000000000000000000FFFFFFFF02000000D2010000CF01000001800080000000000000020000003B020000020500009F020000000000001A020000000500007E0200000000000040820046020000000E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFD201000001000000FFFFFFFFD20100000000000002000000C70000000080000001000000020000000C030000FD050000EE030000010000000100000001000000C60000000080000001000000020000000C030000FD050000EB03000001000000010000000100000000000000</Data>
+        <Len>3432</Len>
+        <Data>000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF6D010000940000007E04000098000000010000000100001004000000010000009FFFFFFF3D020000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E6500200000010000006D010000660000007E040000AB0000006D0100004F0000007E040000940000000000000040280056080000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF790300004F0000007D0300004903000000000000020000000400000001000000CDF9FFFF9E000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000007D030000660000007F050000600300007D0300004F0000007F0500004903000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF084669726577616C6C00000000408C000001000000FFFFFFFFFFFFFFFF0655534152543100000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF690100004F0000006D010000460200000100000002000010040000000100000099FEFFFF0C030000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000690100005D020000000000004F00000069010000460200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000004F030000FE0500005303000000000000010000000400000001000000ADFEFFFFD600000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFBF030000D0020000C30300004D03000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000460200007E0400004A02000001000000010000100400000001000000F8FEFFFF4D010000FFFFFFFF05000000C5000000B4010000D2010000CF010000779400000180008000000100000000000000610200007E0400000F030000000000004A0200007E040000F80200000000000040820056050000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF7E0400004F00000082040000F80200000100000002000010040000000100000073FDFFFFFB01000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000400000010000008204000066000000000600000F030000820400004F00000000060000F802000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F0700000000000001000000C70000000080000001000000000000000F03000000060000C503000001000000010000000100000000000000</Data>
       </DockMan>
       <ToolBar>
         <RegID>59392</RegID>
         <Name>File</Name>
         <Buttons>
-          <Len>2928</Len>
-          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000116D5F45554152545F444D415F525850747296000000000000001400116D5F45554152545F444D415F52585074721145554152545F52585F4255465F53495A4518706F72745F7365745F6477313030305F736C6F77726174650B675F5265737474696D65720D554152545F506F704672616D650E55415254325F506F704672616D650E554152545F507573684672616D650F55415254325F507573684672616D650F45554152545F52585F444D415F43480A4750535F50494E5F454E1D6477745F636F6E666967636F6E74696E756F75736672616D656D6F64650870646F615F76616C11464C4153485F494150464C41475F4D41500B4750494F5F50494E5F31300844454D4F5F4C4F47076C5F62417574680D536F636B65745F4372656174650E554450436C69656E745F496E6974066F66667365740B6D6F746F725F73746174650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C6559010000</Data>
+          <Len>2930</Len>
+          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000067072696E746696000000000000001300067072696E74660D68617264776172655F74797065114765745072657373416E644865696768740F75736172745F73656E645B3130305D0B75736172745F73656E645B0A75736172745F73656E6406627574746F6E0D6672616D655F7365715F6E62320D616E6369646C6973745F7265630A696D755F656E61626C6509494943325F496E6974075265616450696E0E6D5F7533324865616465724C656E10554450436C69656E745F55706C6F61640D6470733331305F726573756D651A4450533331305F4D4F44455F4241434B47524F554E445F414C4C224450533331305F4D4F44455F4241434B47524F554E445F54454D50455241545552451C4450533331305F4D4F44455F434F4D4D414E445F50524553535552451F4450533331305F4D4F44455F434F4D4D414E445F54454D504552415455524500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000</Data>
         </Buttons>
         <OriginalItems>
           <Len>1423</Len>
@@ -3562,8 +3562,8 @@
         <RegID>59399</RegID>
         <Name>Build</Name>
         <Buttons>
-          <Len>783</Len>
-          <Data>00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050050000000D53544D33323130422D4556414C960000000000000006000E53544D3332313030452D4556414C1053544D33323130452D4556414C5F584C0E53544D3332313030422D4556414C0D53544D33323130432D4556414C0D53544D33323130452D4556414C0D53544D33323130422D4556414C0000000000000000000000000000000000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000</Data>
+          <Len>970</Len>
+          <Data>00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000553544D3332960000000000000001000553544D3332000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000</Data>
         </Buttons>
         <OriginalItems>
           <Len>583</Len>
@@ -3579,7 +3579,7 @@
         <Name>Debug</Name>
         <Buttons>
           <Len>2362</Len>
-          <Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7200000000000000000100000000000000010000000000000000000000010000000000000000000544656275673C010000</Data>
+          <Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
         </Buttons>
         <OriginalItems>
           <Len>898</Len>
@@ -3603,21 +3603,21 @@
     <ActiveMDIGroup>0</ActiveMDIGroup>
     <MDIGroup>
       <Size>100</Size>
-      <ActiveTab>5</ActiveTab>
+      <ActiveTab>0</ActiveTab>
       <Doc>
         <Name>..\Src\main.c</Name>
-        <ColumnNumber>0</ColumnNumber>
-        <TopLine>231</TopLine>
-        <CurrentLine>240</CurrentLine>
+        <ColumnNumber>14</ColumnNumber>
+        <TopLine>76</TopLine>
+        <CurrentLine>77</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
       </Doc>
       <Doc>
         <Name>..\Src\application\dw_app.c</Name>
-        <ColumnNumber>41</ColumnNumber>
-        <TopLine>1060</TopLine>
-        <CurrentLine>1077</CurrentLine>
+        <ColumnNumber>2</ColumnNumber>
+        <TopLine>1275</TopLine>
+        <CurrentLine>1292</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
@@ -3625,8 +3625,8 @@
       <Doc>
         <Name>..\Src\decadriver\deca_device.c</Name>
         <ColumnNumber>0</ColumnNumber>
-        <TopLine>2753</TopLine>
-        <CurrentLine>2765</CurrentLine>
+        <TopLine>1021</TopLine>
+        <CurrentLine>1029</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
@@ -3634,17 +3634,17 @@
       <Doc>
         <Name>..\Src\application\dw_app.h</Name>
         <ColumnNumber>0</ColumnNumber>
-        <TopLine>88</TopLine>
-        <CurrentLine>100</CurrentLine>
+        <TopLine>114</TopLine>
+        <CurrentLine>140</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
       </Doc>
       <Doc>
         <Name>..\Src\application\serial_at_cmd_app.c</Name>
-        <ColumnNumber>50</ColumnNumber>
+        <ColumnNumber>16</ColumnNumber>
         <TopLine>110</TopLine>
-        <CurrentLine>123</CurrentLine>
+        <CurrentLine>128</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
@@ -3652,7 +3652,7 @@
       <Doc>
         <Name>..\Src\OnChipDevices\Usart.c</Name>
         <ColumnNumber>0</ColumnNumber>
-        <TopLine>422</TopLine>
+        <TopLine>412</TopLine>
         <CurrentLine>431</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
@@ -3661,7 +3661,7 @@
       <Doc>
         <Name>..\Src\OnChipDevices\Usart.h</Name>
         <ColumnNumber>0</ColumnNumber>
-        <TopLine>29</TopLine>
+        <TopLine>30</TopLine>
         <CurrentLine>56</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
@@ -3670,7 +3670,7 @@
       <Doc>
         <Name>..\Src\OnChipDevices\Spi.c</Name>
         <ColumnNumber>0</ColumnNumber>
-        <TopLine>143</TopLine>
+        <TopLine>140</TopLine>
         <CurrentLine>161</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
@@ -3678,18 +3678,18 @@
       </Doc>
       <Doc>
         <Name>..\Src\application\global_param.c</Name>
-        <ColumnNumber>20</ColumnNumber>
-        <TopLine>1</TopLine>
-        <CurrentLine>1</CurrentLine>
+        <ColumnNumber>37</ColumnNumber>
+        <TopLine>16</TopLine>
+        <CurrentLine>31</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
       </Doc>
       <Doc>
         <Name>..\Src\application\global_param.h</Name>
-        <ColumnNumber>25</ColumnNumber>
-        <TopLine>24</TopLine>
-        <CurrentLine>48</CurrentLine>
+        <ColumnNumber>2</ColumnNumber>
+        <TopLine>31</TopLine>
+        <CurrentLine>50</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
@@ -3723,18 +3723,108 @@
       </Doc>
       <Doc>
         <Name>..\Src\ExternalDevices\led.c</Name>
-        <ColumnNumber>0</ColumnNumber>
+        <ColumnNumber>46</ColumnNumber>
         <TopLine>1</TopLine>
-        <CurrentLine>3</CurrentLine>
+        <CurrentLine>20</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
       </Doc>
       <Doc>
         <Name>..\Src\ExternalDevices\led.h</Name>
-        <ColumnNumber>0</ColumnNumber>
+        <ColumnNumber>85</ColumnNumber>
         <TopLine>1</TopLine>
-        <CurrentLine>13</CurrentLine>
+        <CurrentLine>18</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\ExternalDevices\dw_driver.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>7</TopLine>
+        <CurrentLine>26</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\ExternalDevices\dps368_test.c</Name>
+        <ColumnNumber>23</ColumnNumber>
+        <TopLine>78</TopLine>
+        <CurrentLine>96</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\ExternalDevices\lis3dh_driver.h</Name>
+        <ColumnNumber>43</ColumnNumber>
+        <TopLine>39</TopLine>
+        <CurrentLine>51</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\ExternalDevices\lis3dh_driver.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>244</TopLine>
+        <CurrentLine>256</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_gpio.h</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>62</TopLine>
+        <CurrentLine>77</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>301</TopLine>
+        <CurrentLine>320</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\ExternalDevices\dps310.c</Name>
+        <ColumnNumber>23</ColumnNumber>
+        <TopLine>315</TopLine>
+        <CurrentLine>322</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\OnChipDevices\Rcc_Nvic_Systick.c</Name>
+        <ColumnNumber>23</ColumnNumber>
+        <TopLine>179</TopLine>
+        <CurrentLine>198</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\ExternalDevices\dps310.h</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>154</TopLine>
+        <CurrentLine>121</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\stm32f10x_it.c</Name>
+        <ColumnNumber>20</ColumnNumber>
+        <TopLine>39</TopLine>
+        <CurrentLine>52</CurrentLine>
         <Folding>1</Folding>
         <ContractedFolders></ContractedFolders>
         <PaneID>0</PaneID>
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx"
index 77e72a1..6639eae 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvoptx"
@@ -130,7 +130,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>DLGUARM</Key>
-          <Name>d</Name>
+          <Name></Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
@@ -155,7 +155,7 @@
         <SetRegEntry>
           <Number>0</Number>
           <Key>DLGTARM</Key>
-          <Name>(1010=-1,-1,-1,-1,0)(1007=108,145,295,420,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=18,3,664,676,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=767,133,1188,538,1)(121=847,206,1268,611,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=150,26,744,720,0)(133=-1,-1,-1,-1,0)(160=475,231,923,645,0)(161=167,212,615,626,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=677,0,1280,634,0)(151=-1,-1,-1,-1,0)</Name>
+          <Name>(1010=-1,-1,-1,-1,0)(1007=108,145,295,420,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=18,3,664,676,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=767,133,1188,538,0)(121=1005,-825,1426,-420,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=150,26,744,720,0)(133=-1,-1,-1,-1,0)(160=475,231,923,645,0)(161=167,212,615,626,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=677,0,1280,634,0)(151=-1,-1,-1,-1,0)</Name>
         </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
@@ -180,6 +180,56 @@
           <WinNumber>1</WinNumber>
           <ItemText>DMACnt</ItemText>
         </Ww>
+        <Ww>
+          <count>3</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>frame_len,0x0A</ItemText>
+        </Ww>
+        <Ww>
+          <count>4</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>rec_tagheight,0x0A</ItemText>
+        </Ww>
+        <Ww>
+          <count>5</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>rx_buffer</ItemText>
+        </Ww>
+        <Ww>
+          <count>6</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>frame_len,0x0A</ItemText>
+        </Ww>
+        <Ww>
+          <count>7</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>frame_len</ItemText>
+        </Ww>
+        <Ww>
+          <count>8</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>recnearbaselist_dist,0x0A</ItemText>
+        </Ww>
+        <Ww>
+          <count>9</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>intheight,0x0A</ItemText>
+        </Ww>
+        <Ww>
+          <count>10</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>tag_id_recv</ItemText>
+        </Ww>
+        <Ww>
+          <count>11</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>pressure</ItemText>
+        </Ww>
+        <Ww>
+          <count>12</count>
+          <WinNumber>1</WinNumber>
+          <ItemText>temperature</ItemText>
+        </Ww>
       </WatchWindow1>
       <MemoryWindow1>
         <Mm>
@@ -203,7 +253,7 @@
       <DebugFlag>
         <trace>0</trace>
         <periodic>1</periodic>
-        <aLwin>0</aLwin>
+        <aLwin>1</aLwin>
         <aCover>0</aCover>
         <aSer1>0</aSer1>
         <aSer2>0</aSer2>
@@ -403,7 +453,7 @@
 
   <Group>
     <GroupName>ExternalDevices</GroupName>
-    <tvExp>0</tvExp>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -443,6 +493,42 @@
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>14</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Src\ExternalDevices\dps310.c</PathWithFileName>
+      <FilenameWithoutPath>dps310.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>15</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Src\ExternalDevices\dps368_test.c</PathWithFileName>
+      <FilenameWithoutPath>dps368_test.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
+    <File>
+      <GroupNumber>5</GroupNumber>
+      <FileNumber>16</FileNumber>
+      <FileType>1</FileType>
+      <tvExp>0</tvExp>
+      <tvExpOptDlg>0</tvExpOptDlg>
+      <bDave2>0</bDave2>
+      <PathWithFileName>..\Src\ExternalDevices\lis3dh_driver.c</PathWithFileName>
+      <FilenameWithoutPath>lis3dh_driver.c</FilenameWithoutPath>
+      <RteFlg>0</RteFlg>
+      <bShared>0</bShared>
+    </File>
   </Group>
 
   <Group>
@@ -453,7 +539,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>14</FileNumber>
+      <FileNumber>17</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -465,7 +551,7 @@
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>15</FileNumber>
+      <FileNumber>18</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -477,7 +563,7 @@
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>16</FileNumber>
+      <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -489,7 +575,7 @@
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>17</FileNumber>
+      <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -501,7 +587,7 @@
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>18</FileNumber>
+      <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -513,7 +599,7 @@
     </File>
     <File>
       <GroupNumber>6</GroupNumber>
-      <FileNumber>19</FileNumber>
+      <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -533,7 +619,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>20</FileNumber>
+      <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -545,7 +631,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>21</FileNumber>
+      <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -557,7 +643,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>22</FileNumber>
+      <FileNumber>25</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -569,7 +655,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>23</FileNumber>
+      <FileNumber>26</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -581,7 +667,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>24</FileNumber>
+      <FileNumber>27</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -593,7 +679,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>25</FileNumber>
+      <FileNumber>28</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -605,7 +691,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>26</FileNumber>
+      <FileNumber>29</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -617,7 +703,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>27</FileNumber>
+      <FileNumber>30</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -629,7 +715,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>28</FileNumber>
+      <FileNumber>31</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -641,7 +727,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>29</FileNumber>
+      <FileNumber>32</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -653,7 +739,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>30</FileNumber>
+      <FileNumber>33</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -665,7 +751,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>31</FileNumber>
+      <FileNumber>34</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -677,7 +763,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>32</FileNumber>
+      <FileNumber>35</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -689,7 +775,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>33</FileNumber>
+      <FileNumber>36</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -701,7 +787,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>34</FileNumber>
+      <FileNumber>37</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -713,7 +799,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>35</FileNumber>
+      <FileNumber>38</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -725,7 +811,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>36</FileNumber>
+      <FileNumber>39</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -737,7 +823,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>37</FileNumber>
+      <FileNumber>40</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -749,7 +835,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>38</FileNumber>
+      <FileNumber>41</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -761,7 +847,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>39</FileNumber>
+      <FileNumber>42</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -773,7 +859,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>40</FileNumber>
+      <FileNumber>43</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -785,7 +871,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>41</FileNumber>
+      <FileNumber>44</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -797,7 +883,7 @@
     </File>
     <File>
       <GroupNumber>7</GroupNumber>
-      <FileNumber>42</FileNumber>
+      <FileNumber>45</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -817,7 +903,7 @@
     <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>43</FileNumber>
+      <FileNumber>46</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -829,7 +915,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>44</FileNumber>
+      <FileNumber>47</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
@@ -841,7 +927,7 @@
     </File>
     <File>
       <GroupNumber>8</GroupNumber>
-      <FileNumber>45</FileNumber>
+      <FileNumber>48</FileNumber>
       <FileType>2</FileType>
       <tvExp>0</tvExp>
       <tvExpOptDlg>0</tvExpOptDlg>
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx"
index a30bbf1..dc54e29 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvprojx"
@@ -467,6 +467,21 @@
               <FileType>1</FileType>
               <FilePath>..\Src\ExternalDevices\beep.c</FilePath>
             </File>
+            <File>
+              <FileName>dps310.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Src\ExternalDevices\dps310.c</FilePath>
+            </File>
+            <File>
+              <FileName>dps368_test.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Src\ExternalDevices\dps368_test.c</FilePath>
+            </File>
+            <File>
+              <FileName>lis3dh_driver.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\Src\ExternalDevices\lis3dh_driver.c</FilePath>
+            </File>
           </Files>
         </Group>
         <Group>
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps310.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps310.c"
new file mode 100644
index 0000000..4811e4c
--- /dev/null
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps310.c"
@@ -0,0 +1,380 @@
+/*
+ * Copyright (c) 2015-2016 Infineon Technologies AG
+ *
+ * Driver for Infineon DPS310 Digital Barometric Pressure Sensor
+ *
+ *
+ */
+
+#include "dps310.h"
+
+/* Meaningful Default Configuration */
+#define     IFX_DPS310_TEMPERATURE_OSR                  OSR_2
+#define     IFX_DPS310_PRESSURE_OSR                     OSR_64
+#define     IFX_DPS310_TEMPERATURE_MR                   TMP_MR_4
+#define     IFX_DPS310_PRESSURE_MR                      PM_MR_8
+
+/**/
+
+static dps310_scaling_coeffs_e
+dps310_get_scaling_coef (dps310_osr_e osr)
+{
+        dps310_scaling_coeffs_e scaling_coeff;
+
+        switch (osr){
+
+              case OSR_1:
+                    scaling_coeff = OSR_SF_1;
+                    break;
+              case OSR_2:
+                    scaling_coeff = OSR_SF_2;
+                    break;
+              case OSR_4:
+                    scaling_coeff = OSR_SF_4;
+                    break;
+              case OSR_8:
+                    scaling_coeff = OSR_SF_8;
+                    break;
+              case OSR_16:
+                    scaling_coeff = OSR_SF_16;
+                    break;
+              case OSR_32:
+                    scaling_coeff = OSR_SF_32;
+                    break;
+              case OSR_64:
+                    scaling_coeff = OSR_SF_64;
+                    break;
+              case OSR_128:
+                    scaling_coeff = OSR_SF_128;
+                    break;
+              default:
+                     scaling_coeff = OSR_SF_1;
+                     break;
+        }
+        return scaling_coeff;
+}
+
+static int dps310_read_calib_coeffs(struct dps310_state *drv_state)
+
+{
+        s32 ret;
+        u8 read_buffer[IFX_DPS310_COEF_LEN] = {0};
+
+        if (drv_state == NULL)
+            return -EINVAL;
+
+        ret =  drv_state->io->read_block((u8)IFX_DPS310_COEF_REG_ADDR,
+                                 (u8)IFX_DPS310_COEF_LEN, read_buffer);
+
+        if ( ret != IFX_DPS310_COEF_LEN )
+            return ret;
+
+        drv_state->calib_coeffs.C0 = (read_buffer[0] << 4) + ((read_buffer[1] >>4) & 0x0F);
+
+        if(drv_state->calib_coeffs.C0 > POW_2_11_MINUS_1)
+            drv_state->calib_coeffs.C0 = drv_state->calib_coeffs.C0 - POW_2_12;
+
+        drv_state->calib_coeffs.C1 = (read_buffer[2] + ((read_buffer[1] & 0x0F)<<8));
+
+        if(drv_state->calib_coeffs.C1 > POW_2_11_MINUS_1)
+            drv_state->calib_coeffs.C1 = drv_state->calib_coeffs.C1 - POW_2_12;
+
+        drv_state->calib_coeffs.C00 = ((read_buffer[4]<<4) + (read_buffer[3]<<12)) + ((read_buffer[5]>>4) & 0x0F);
+
+        if(drv_state->calib_coeffs.C00 > POW_2_19_MINUS_1)
+            drv_state->calib_coeffs.C00 = drv_state->calib_coeffs.C00 -POW_2_20;
+
+        drv_state->calib_coeffs.C10 = ((read_buffer[5] & 0x0F)<<16) + read_buffer[7] + (read_buffer[6]<<8);
+
+        if(drv_state->calib_coeffs.C10 > POW_2_19_MINUS_1)
+            drv_state->calib_coeffs.C10 = drv_state->calib_coeffs.C10 - POW_2_20;
+
+        drv_state->calib_coeffs.C01 = (read_buffer[9] + (read_buffer[8]<<8));
+
+        if(drv_state->calib_coeffs.C01 > POW_2_15_MINUS_1)
+            drv_state->calib_coeffs.C01 = drv_state->calib_coeffs.C01 - POW_2_16;
+
+        drv_state->calib_coeffs.C11 = (read_buffer[11] + (read_buffer[10]<<8));
+
+        if(drv_state->calib_coeffs.C11 > POW_2_15_MINUS_1)
+            drv_state->calib_coeffs.C11 = drv_state->calib_coeffs.C11 - POW_2_16;
+
+        drv_state->calib_coeffs.C20 = (read_buffer[13] + (read_buffer[12]<<8));
+
+        if(drv_state->calib_coeffs.C20 > POW_2_15_MINUS_1)
+            drv_state->calib_coeffs.C20 = drv_state->calib_coeffs.C20 - POW_2_16;
+
+        drv_state->calib_coeffs.C21 = (read_buffer[15] + (read_buffer[14]<<8));
+
+        if(drv_state->calib_coeffs.C21 > POW_2_15_MINUS_1)
+            drv_state->calib_coeffs.C21 = drv_state->calib_coeffs.C21 - POW_2_16;
+
+        drv_state->calib_coeffs.C30 = (read_buffer[17] + (read_buffer[16]<<8));
+
+        if(drv_state->calib_coeffs.C30 > POW_2_15_MINUS_1)
+            drv_state->calib_coeffs.C30 = drv_state->calib_coeffs.C30 - POW_2_16;
+
+        /* lets see which temperature diode is used for calibration and update state accordingly*/
+        ret = drv_state->io->read_byte(IFX_DPS310_TMP_COEF_SRCE_REG_ADDR);
+
+        if (ret < 0){
+                return -EIO;
+        }
+        if ((ret >> IFX_DPS310_TMP_COEF_SRCE_REG_POS_MASK) & 1 ){
+				drv_state->tmp_ext = TMP_EXT_MEMS;
+		}
+		else{
+				drv_state->tmp_ext = TMP_EXT_ASIC;
+		}
+        return 0;
+}
+
+
+int dps310_resume(struct dps310_state *drv_state)
+{
+        s32 ret;
+        if (drv_state == NULL)
+            return -EINVAL;
+
+        ret = drv_state->io->write_byte(IFX_DPS310_MEAS_CFG_REG_ADDR,
+                                        (u8)DPS310_MODE_BACKGROUND_ALL);
+        if (ret < 0)
+                return -EIO;
+
+        drv_state->dev_mode = DPS310_MODE_BACKGROUND_ALL;
+
+        return 0;
+
+}
+
+
+int dps310_standby(struct dps310_state *drv_state)
+{
+        s32 ret;
+        if (drv_state == NULL)
+          return -EINVAL;
+
+        ret = drv_state->io->write_byte(IFX_DPS310_MEAS_CFG_REG_ADDR,
+                                       (u8)DPS310_MODE_IDLE);
+        if (ret < 0)
+                return -EIO;
+
+        drv_state->dev_mode = DPS310_MODE_IDLE;
+
+        return 0;
+}
+
+int dps310_config(struct dps310_state *drv_state,
+                            dps310_osr_e osr_temp,
+                            dps310_tmp_rate_e mr_temp,
+                            dps310_osr_e osr_press,
+                            dps310_pm_rate_e mr_press,
+                            dps310_temperature_src_e temp_src)
+{
+
+        s32 ret;
+        u8  config;
+
+        if (drv_state == NULL)
+			return -EINVAL;
+
+       /* configure temperature measurements first*/
+       /*Prepare a configuration word for TMP_CFG register*/
+        config = (u8) temp_src;
+
+        /*First Set the TMP_RATE[2:0] -> 6:4 */
+        config |= ((u8)mr_temp);
+
+       /*Set the TMP_PRC[3:0] -> 2:0 */
+        config |= ((u8)osr_temp);
+
+        ret = drv_state->io->write_byte(IFX_DPS310_TMP_CFG_REG_ADDR,
+                                  config);
+        if (ret < 0)
+            return -EIO;
+
+        /*Prepare a configuration word for PRS_CFG register*/
+        /*First Set the PM_RATE[2:0] -> 6:4 */
+        config = (u8) ( 0x00 ) | ((u8)mr_press);
+
+        /*Set the PM_PRC[3:0] -> 3:0 */
+        config |= ((u8)osr_press);
+
+        ret = drv_state->io->write_byte(IFX_DPS310_PRS_CFG_REG_ADDR,
+                                  config);
+        if (ret < 0)
+            return -EIO;
+
+        /* always take configuration word from state*/
+        config = drv_state->cfg_word;
+
+        /*If oversampling rate for temperature is greater than 8 times, then set TMP_SHIFT bit in CFG_REG */
+        if ((u8)osr_temp > (u8) OSR_8){
+                config |= (u8) IFX_DPS310_CFG_TMP_SHIFT_EN_SET_VAL;
+        }
+
+        /*If oversampling rate for pressure is greater than 8 times, then set P_SHIFT bit in CFG_REG */
+        if ((u8)osr_press > (u8) OSR_8){
+                config |= (u8) IFX_DPS310_CFG_PRS_SHIFT_EN_SET_VAL;
+        }
+
+        /* write CFG_REG */
+        ret =  drv_state->io->write_byte(IFX_DPS310_CFG_REG_ADDR,
+                                  config);
+        if (ret < 0)
+            return -EIO;
+
+       /*Update state accordingly with proper scaling factors based on oversampling rates*/
+        drv_state->tmp_osr_scale_coeff = dps310_get_scaling_coef(osr_temp);
+
+        drv_state->prs_osr_scale_coeff = dps310_get_scaling_coef(osr_press);
+
+        drv_state->press_mr = mr_press;
+
+        drv_state->temp_mr  = mr_temp;
+
+        drv_state->temp_osr = osr_temp;
+
+        drv_state->press_osr = osr_press;
+
+        drv_state->tmp_ext  = temp_src;
+
+        return 0;
+
+}
+
+
+int dps310_get_processed_data (struct dps310_state *drv_state,
+                                      f64 *pressure,
+                                      f64 *temperature)
+{
+        s32    ret;
+        u8     read_buffer[IFX_DPS310_PSR_TMP_READ_LEN] = {0};
+        f64    press_raw;
+        f64    temp_raw;
+
+        f64 temp_scaled;
+        f64 temp_final;
+        f64 press_scaled;
+        f64 press_final;
+
+        if (drv_state == NULL)
+            return -EINVAL;
+
+        ret = test_read_block(IFX_DPS310_PSR_TMP_READ_REG_ADDR,
+                              IFX_DPS310_PSR_TMP_READ_LEN,
+                              read_buffer);
+
+        if (ret < IFX_DPS310_PSR_TMP_READ_LEN)
+            return -EINVAL;
+
+        press_raw = (read_buffer[2]) + (read_buffer[1]<<8) + (read_buffer[0] <<16);
+        temp_raw  = (read_buffer[5]) + (read_buffer[4]<<8) + (read_buffer[3] <<16);
+
+        if(temp_raw > POW_2_23_MINUS_1){
+            temp_raw = temp_raw - POW_2_24;
+        }
+
+        if(press_raw > POW_2_23_MINUS_1){
+            press_raw = press_raw - POW_2_24;
+        }
+
+        temp_scaled = (double)temp_raw / (double) (drv_state->tmp_osr_scale_coeff);
+
+        temp_final =  (drv_state->calib_coeffs.C0 /2.0f) + drv_state->calib_coeffs.C1 * temp_scaled ;
+
+        press_scaled = (double) press_raw / drv_state->prs_osr_scale_coeff;
+
+        press_final = drv_state->calib_coeffs.C00 +
+                      press_scaled *  (  drv_state->calib_coeffs.C10 + press_scaled *
+                      ( drv_state->calib_coeffs.C20 + press_scaled * drv_state->calib_coeffs.C30 )  ) +
+                      temp_scaled * drv_state->calib_coeffs.C01 +
+                      temp_scaled * press_scaled * ( drv_state->calib_coeffs.C11 +
+                                                      press_scaled * drv_state->calib_coeffs.C21 );
+
+        press_final = press_final * 0.01f;	//to convert it into mBar
+
+        *temperature = temp_final;
+        *pressure    = press_final;  //press_final;
+
+        return 0;
+}
+
+int dps310_init(struct dps310_state *drv_state, dps310_bus_connection *io)
+{
+        s32 ret;
+
+        if (!drv_state){
+            return -EINVAL;
+        }
+
+        if (!io){
+            return -EINVAL;
+        }
+
+        drv_state->cfg_word = 0;
+        drv_state->enable = 0;
+       
+        /*first verify chip by reading product and rev id*/
+        ret = io->read_byte(IFX_DPS310_PROD_REV_ID_REG_ADDR);
+
+        if (ret < 0){
+            ret = -EIO;
+				goto err_handler_iio;
+        }
+
+        if (ret != IFX_DSPS310_PROD_REV_ID_VAL){
+            ret = -EINVAL;
+			goto err_handler_iio;
+        }
+
+        /* attach bus connection instance to state*/
+        drv_state->io = io;
+
+        /* from here wait for about 40ms till calibration coefficients become available*/
+        if (drv_state->io->delayms != NULL)
+            drv_state->io->delayms(40);
+
+        /* read now the calibration coeffs, temperature coef source and store in driver state*/
+        ret = dps310_read_calib_coeffs(drv_state);
+
+        if (ret < 0){
+				goto err_handler_iio;
+        }
+
+        /* Now apply ADC Temperature gain settings*/
+        /* First write valid signature on 0x0e and 0x0f
+         * to unlock address 0x62 */
+        drv_state->io->write_byte((u8)0x0e,(u8)0xa5);
+        drv_state->io->write_byte((u8)0x0f,(u8)0x96);
+        /*Then update high gain value for Temperature*/
+        drv_state->io->write_byte((u8)0x62,(u8)0x02);
+
+        /*Finally lock back the location 0x62*/
+        drv_state->io->write_byte((u8)0x0e,(u8)0x00);
+        drv_state->io->write_byte((u8)0x0f,(u8)0x00);
+
+
+        /* configure sensor for default ODR settings*/
+        ret = dps310_config(drv_state,
+                            IFX_DPS310_TEMPERATURE_OSR,
+                            IFX_DPS310_TEMPERATURE_MR,
+                            IFX_DPS310_PRESSURE_OSR,
+                            IFX_DPS310_PRESSURE_MR,
+                            drv_state->tmp_ext);
+        if (ret < 0){
+            goto err_handler_iio;
+        }
+
+        /* activate sensor*/
+        ret = dps310_resume(drv_state);
+        if (ret < 0){
+            goto err_handler_iio;
+        }
+
+        return 0;
+
+err_handler_iio:
+		return ret;
+
+}
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps310.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps310.h"
new file mode 100644
index 0000000..343374a
--- /dev/null
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps310.h"
@@ -0,0 +1,341 @@
+/*
+ * Copyright (c) 2015-2016 Infineon Technologies AG
+ *
+ * Driver for Infineon DPS310 Digital Barometric Pressure Sensor
+ *
+ *
+ */
+
+#ifndef DPS310_H_INCLUDED
+#define DPS310_H_INCLUDED
+
+/* Attributes: Product identification and version */
+
+#define     VENDOR_NAME                                 "Infineon"
+#define     DRIVER_NAME                                 "IFXDD"
+#define     DEVICE_NAME                                 "Digital Barometric Pressure Sensor"
+#define     DEVICE_MODEL_NAME                           "DPS310"
+#define     DEVICE_HW_VERSION                           1.0
+#define     DRIVER_VERSION                              1.0
+#define     DEVICE_PROD_REV_ID                          0x10
+
+/* Attributes: Device performance :Pressure Sensing */
+#define     IFX_DPS310_PROD_REV_ID_REG_ADDR             0x0D
+#define     IFX_DPS310_PROD_REV_ID_LEN                  1
+#define     IFX_DSPS310_PROD_REV_ID_VAL                 DEVICE_PROD_REV_ID
+
+#define     IFX_DPS310_SOFT_RESET_REG_ADDR              0x0C
+#define     IFX_DPS310_SOFT_RESET_REG_DATA              0x09
+#define     IFX_DPS310_SOFT_RESET_REG_LEN               1
+#define     IFX_DPS310_SOFT_RESET_VERIFY_REG_ADDR       0x06
+
+#define     IFX_DPS310_COEF_REG_ADDR                    0x10
+#define     IFX_DPS310_COEF_LEN                         18    // Length in bytes
+
+#define     IFX_DPS310_TMP_COEF_SRCE_REG_ADDR           0x28
+#define     IFX_DPS310_TMP_COEF_SRCE_REG_LEN            1    // Length in bytes
+#define     IFX_DPS310_TMP_COEF_SRCE_REG_POS_MASK       7    // Length in bytes
+
+#define     IFX_DPS310_PSR_TMP_READ_REG_ADDR            0x00
+#define     IFX_DPS310_PSR_TMP_READ_LEN                 6
+
+#define     IFX_DPS310_PRS_CFG_REG_ADDR                 0x06
+#define     IFX_DPS310_PRS_CFG_REG_LEN                  1
+
+#define     IFX_DPS310_TMP_CFG_REG_ADDR                 0x07
+#define     IFX_DPS310_TMP_CFG_REG_LEN                  1
+
+#define     IFX_DPS310_MEAS_CFG_REG_ADDR                0x08
+#define     IFX_DPS310_MEAS_CFG_REG_LEN                 1
+
+#define     IFX_DPS310_CFG_REG_ADDR                     0x09
+#define     IFX_DPS310_CFG_REG_LEN                      1
+
+#define     IFX_DPS310_CFG_TMP_SHIFT_EN_SET_VAL         0x08
+#define     IFX_DPS310_CFG_PRS_SHIFT_EN_SET_VAL         0x04
+
+
+#define     IFX_DPS310_FIFO_READ_REG_ADDR               0x00
+#define     IFX_DPS310_FIFO_REG_READ_LEN                3
+#define     IFX_DPS310_FIFO_BYTES_PER_ENTRY             3
+
+#define     IFX_DPS310_FIFO_FLUSH_REG_ADDR              0x0C
+#define     IFX_DPS310_FIFO_FLUSH_REG_VAL               0b1000000U
+
+#define     IFX_DPS310_CFG_SPI_MODE_POS                 0
+#define     IFX_DPS310_CFG_SPI_MODE_3_WIRE_VAL          1
+#define     IFX_DPS310_CFG_SPI_MODE_4_WIRE_VAL          0
+
+#define     IFX_DPS310_CFG_FIFO_ENABLE_POS              1
+#define     IFX_DPS310_CFG_FIFO_ENABLE_VAL              1
+#define     IFX_DPS310_CFG_FIFO_DISABLE_VAL             0
+
+#define     IFX_DPS310_CFG_INTR_PRS_ENABLE_POS          4
+#define     IFX_DPS310_CFG_INTR_PRS_ENABLE_VAL          1U
+#define     IFX_DPS310_CFG_INTR_PRS_DISABLE_VAL         0U
+
+#define     IFX_DPS310_CFG_INTR_TEMP_ENABLE_POS         5
+#define     IFX_DPS310_CFG_INTR_TEMP_ENABLE_VAL         1U
+#define     IFX_DPS310_CFG_INTR_TEMP_DISABLE_VAL        0U
+
+#define     IFX_DPS310_CFG_INTR_FIFO_FULL_ENABLE_POS    6
+#define     IFX_DPS310_CFG_INTR_FIFO_FULL_ENABLE_VAL    1U
+#define     IFX_DPS310_CFG_INTR_FIFO_FULL_DISABLE_VAL   0U
+
+#define     IFX_DPS310_CFG_INTR_LEVEL_TYP_SEL_POS       7
+#define     IFX_DPS310_CFG_INTR_LEVEL_TYP_ACTIVE_H      1U
+#define     IFX_DPS310_CFG_INTR_LEVEL_TYP_ACTIVE_L      0U
+
+#define     IFX_DPS310_INTR_SOURCE_PRESSURE             0
+#define     IFX_DPS310_INTR_SOURCE_TEMPERATURE          1
+#define     IFX_DPS310_INTR_SOURCE_BOTH                 2
+
+#define     IFX_DPS310_INTR_STATUS_REG_ADDR             0x0A
+#define     IFX_DPS310_INTR_STATUS_REG_LEN              1
+#define     IFX_DPS310_INTR_DISABLE_ALL                (uint8_t)0b10001111
+
+#define     EINVAL                                      1
+#define     EIO                                         2
+
+#ifndef NULL
+#define     NULL                                        ((void*)0)
+#endif // NULL
+
+
+/* _______________________________________________________ */
+
+#define POW_2_23_MINUS_1	0x7FFFFF   //implies 2^23-1
+#define POW_2_24			0x1000000
+#define POW_2_15_MINUS_1	0x7FFF
+#define POW_2_16			0x10000
+#define POW_2_11_MINUS_1	0x7FF
+#define POW_2_12			0x1000
+#define POW_2_20			0x100000
+#define POW_2_19_MINUS_1	524287
+
+/* _______________________________________________________ */
+
+/*Some aliases*/
+typedef unsigned char       u8;
+
+typedef char                s8;
+
+typedef unsigned short      u16;
+
+typedef short               s16;
+
+typedef long                s32;
+
+typedef	long long           s64;
+
+//typedef	unsigned long       u32;
+
+typedef	unsigned long long  u64;
+
+typedef float               f32;
+
+typedef double              f64;
+
+typedef u8                  bool;
+
+#define false               0
+#define true                1
+
+/* Struct to hold calibration coefficients read from device*/
+typedef struct
+{
+  /* calibration registers */
+
+  s16 	C0;	// 12bit
+  s16 	C1;	// 12bit
+  s32	C00;	// 20bit
+  s32   C10;	// 20bit
+  s16 	C01;	// 16bit
+  s16	C11;	// 16bit
+  s16	C20;	// 16bit
+  s16	C21;	// 16bit
+  s16	C30;	// 16bit
+
+}dps310_cal_coeff_regs_s;
+
+
+/* enum for seeting/getting device operating mode*/
+
+typedef enum
+	{DPS310_MODE_IDLE = 0,
+  DPS310_MODE_COMMAND_PRESSURE       =  1,
+  DPS310_MODE_COMMAND_TEMPERATURE    =  2,
+  DPS310_MODE_BACKGROUND_PRESSURE    =  5,
+  DPS310_MODE_BACKGROUND_TEMPERATURE =  6,
+  DPS310_MODE_BACKGROUND_ALL         =  7
+
+}dps310_operating_modes_e;
+
+
+
+/* enum of scaling coefficients either Kp or Kt*/
+typedef enum
+{
+    OSR_SF_1   = 524288,
+    OSR_SF_2   = 1572864,
+    OSR_SF_4   = 3670016,
+    OSR_SF_8   = 7864320,
+    OSR_SF_16  = 253952,
+    OSR_SF_32  = 516096,
+    OSR_SF_64  = 1040384,
+    OSR_SF_128 = 2088960
+
+} dps310_scaling_coeffs_e;
+
+
+
+/* enum of oversampling rates for pressure and temperature*/
+typedef enum
+{
+    OSR_1   = 0,
+    OSR_2   = 1,
+    OSR_4   = 2,
+    OSR_8   = 3,
+    OSR_16  = 4,
+    OSR_32  = 5,
+    OSR_64  = 6,
+    OSR_128 = 7
+
+} dps310_osr_e;
+
+
+
+/* enum of measurement rates for pressure*/
+
+typedef enum
+{
+    PM_MR_1   = 0,
+    PM_MR_2   = 0x10,
+    PM_MR_4   = 0x20,
+    PM_MR_8   = 0x30,
+    PM_MR_16  = 0x40,
+    PM_MR_32  = 0x50,
+    PM_MR_64  = 0x60,
+    PM_MR_128 = 0x70
+
+} dps310_pm_rate_e;
+
+
+
+/* enum of measurement rates for temperature*/
+
+typedef enum
+{
+    TMP_MR_1   = 0,
+    TMP_MR_2   = 0x10,
+    TMP_MR_4   = 0x20,
+    TMP_MR_8   = 0x30,
+    TMP_MR_16  = 0x40,
+    TMP_MR_32  = 0x50,
+    TMP_MR_64  = 0x60,
+    TMP_MR_128 = 0x70
+
+} dps310_tmp_rate_e;
+
+/* enum of oversampling and measurement rates*/
+
+typedef enum
+
+{
+    TMP_EXT_ASIC = 0x00,
+    TMP_EXT_MEMS = 0x80,
+
+}dps310_temperature_src_e;
+
+
+/*Please update callbacks for bus communication
+* callbacks are protocol agnostic/abstract so
+* as to wrap around I2C or SPI low level protocols
+*/
+
+typedef struct {
+
+        /*Provide a wrapper for single byte read/write and multi byte read
+        * all callbacks return negative values to indicate error
+        * however, read_byte must return the content in case of successful read
+        * and read_block shall return number of bytes read successfully
+        * For write_byte non zero return value shall indicate successful write
+        */
+        s16 (*read_byte)(u8 address);
+
+        s16 (*read_block)(u8 address, u8 length, u8 *read_buffer);
+
+        s16 (*write_byte)(u8 address, u8 data);
+
+        /*It is expected to provide a wrapper for incorporating delay
+        * the delay shall be in milliseconds. This is required as
+        * after powering up the sensor, it takes 40ms until fused
+        * calibration coefficients are ready to read.
+        * in case this delay is handled appropriately by caller by other mechanism
+        * please set this callback to NULL
+        */
+        void (*delayms)(u8 duration);
+
+}dps310_bus_connection;
+
+
+struct dps310_state {
+
+        dps310_scaling_coeffs_e   tmp_osr_scale_coeff;                    /* Temperature scaling coefficient*/
+        dps310_scaling_coeffs_e   prs_osr_scale_coeff;                    /* Pressure scaling coefficient*/
+        dps310_cal_coeff_regs_s   calib_coeffs;                           /* Calibration coefficients index */
+        dps310_operating_modes_e  dev_mode;                               /* Current operating mode of device */
+        dps310_pm_rate_e	      press_mr;				  /* Current measurement readout rate (ODR) for pressure */
+        dps310_tmp_rate_e         temp_mr;				  /* Current measurement readout rate (ODR) for temperature */
+        dps310_osr_e		      temp_osr;				  /* Current oversampling rate (OSR) for temperature */
+        dps310_osr_e		      press_osr;				  /* Current oversampling rate (OSR) for pressure */
+        dps310_temperature_src_e  tmp_ext;                                /* Temperature ASIC or MEMS. Should always be set MEMS*/
+        u8                        cfg_word;                               /* Keep the contents of CFG register as it gets configured
+                                                                            to avoid excessive bus transactions */
+	bool 			              enable;
+	dps310_bus_connection         *io;                                    /*To access bus communication call backs */
+};
+
+
+/* public function prototypes */
+int
+dps310_init
+(
+ struct dps310_state *drv_state,
+ dps310_bus_connection *io
+);
+
+
+int dps310_get_processed_data
+(
+ struct dps310_state *drv_state,
+ f64 *pressure,
+ f64 *temperature
+ );
+
+
+int
+dps310_config
+(
+ struct dps310_state *drv_state,
+ dps310_osr_e osr_temp,
+ dps310_tmp_rate_e mr_temp,
+ dps310_osr_e osr_press,
+ dps310_pm_rate_e mr_press,
+ dps310_temperature_src_e temp_src
+ );
+
+int
+dps310_standby
+(
+ struct dps310_state *drv_state
+);
+
+int
+dps310_resume
+(
+ struct dps310_state *drv_state
+);
+
+
+#endif // DPS310_H_INCLUDED
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps368_test.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps368_test.c"
new file mode 100644
index 0000000..0344486
--- /dev/null
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/dps368_test.c"
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2015-2016 Infineon Technologies AG
+ *
+ * Driver for Infineon DPS310 Digital Barometric Pressure Sensor
+ *
+ *
+ */
+#include <stdio.h>
+#include <stdlib.h>
+#include "dps310.h"
+
+#include "lis3dh_driver.h"
+/*bus communication protocol stubs
+* Please wrap around platform specific implementation
+* for low level bus handling (I2C or SPI), that matches 
+* prototypes provided by dps310_bus_connection structure
+* in dps310.h
+*/
+void delay_us(uint32_t nTimer);
+/* Should return -1 in case of failure otherwise valid contents*/
+s16 test_read_byte(u8 ReadAddr)
+{
+	
+  uint8_t temp=0;		  	    																 
+	IIC2_Start();  
+	IIC2_Send_Byte(0xee);	     //发送写命令
+	IIC2_Wait_Ack();       
+	IIC2_Send_Byte(ReadAddr);   //发送读地址
+	IIC2_Wait_Ack();	    
+	IIC2_Start();  	 	   
+	IIC2_Send_Byte(0xef);       //发送读命令,进入接收模式		   
+	IIC2_Wait_Ack();	 
+	temp=IIC2_Read_Byte(0);		   
+	IIC2_Stop();								//产生一个停止条件	     
+	return temp;
+}
+
+/* Should return -1 or negative value in case of failure otherwise length of 
+* read contents in read_buffer
+* and shall place read contents in read_buffer
+*/
+s16 test_read_block(u8 ReadAddr, u8 Len, u8 *read_buffer)
+{
+   	uint8_t t;
+	uint32_t temp=0;
+	for(t=0;t<Len;t++)
+	{
+		*read_buffer=test_read_byte(ReadAddr+t); 	 	
+		 read_buffer++;		
+	}
+	//return temp;	
+    return Len;
+}
+
+/* Should return -1 in case of failure otherwise non negative number*/
+s16 test_write_byte(u8 WriteAddr, u8 DataToWrite)
+{
+    IIC2_Start();  
+	IIC2_Send_Byte(0xee);	    //发送写命令
+	IIC2_Wait_Ack();
+	IIC2_Send_Byte(WriteAddr);					//发送地址
+	IIC2_Wait_Ack();	   	 										  		   
+	IIC2_Send_Byte(DataToWrite);     //发送字节							   
+	IIC2_Wait_Ack();  		    	   
+	IIC2_Stop();//产生一个停止条件 
+	delay_us(10);	
+}
+
+/* Shall implement delay in milliseconds*/
+void test_wait_ms(u8 delay)
+{
+     printf("Waiting for %dms\n",delay);
+}
+struct dps310_state drv_state;
+f64 pressure,temperature; 
+int BarInit(void)
+{
+
+    /*Instantiate driver state*/
+   
+
+    /*Instantiate bus connection callback holder*/
+    dps310_bus_connection cnn;
+   IIC2_Init();
+   /* Assign/register platform specific bus handlers*/
+    cnn.read_byte=&test_read_byte;
+    cnn.read_block=&test_read_block;
+    cnn.write_byte=&test_write_byte;
+    cnn.delayms = &test_wait_ms;
+    int ret = dps310_init(&drv_state,&cnn);
+    
+   // ret = dps310_get_processed_data(&drv_state,&pressure,&temperature);
+    return ret;
+}
+float Height;
+float GetPressAndHeight(void)
+{  u8 ret;    
+    
+	
+    /*Instantiate driver state*/
+  
+	ret = dps310_get_processed_data(&drv_state,&pressure,&temperature);
+    Height = 44330 * (1.0 - pow((pressure / 1013.25), (1 / 5.255)));
+   
+	return Height;
+	//height=PressToHeight(pressure,temperature);
+	// printf("get_processed_data ret val = %d, pressure = %lf, temp = %lf\n",ret,pressure,temperature);
+   }
\ No newline at end of file
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/led.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/led.c"
index d04ee55..dba856a 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/led.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/led.c"
@@ -16,6 +16,12 @@
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_Init(GPIOB, &GPIO_InitStructure);
+    
+    GPIO_WriteBit(GPIOB, GPIO_Pin_6, Bit_SET);
+    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
+    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
+    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
+    GPIO_Init(GPIOB, &GPIO_InitStructure);
 }
 
 void GPIO_Toggle(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/lis3dh_driver.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/lis3dh_driver.c"
new file mode 100644
index 0000000..bba165e
--- /dev/null
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/lis3dh_driver.c"
@@ -0,0 +1,1995 @@
+/******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
+* File Name          : LIS3DH_driver.c
+* Author             : MSH Application Team
+* Author             : Fabio Tota
+* Version            : $Revision:$
+* Date               : $Date:$
+* Description        : LIS3DH driver file
+*                      
+* HISTORY:
+* Date               |	Modification                    |	Author
+* 24/06/2011         |	Initial Revision                |	Fabio Tota
+* 11/06/2012         |	Support for multiple drivers in the same program |	Abhishek Anand
+
+********************************************************************************
+* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
+* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
+* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
+* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*
+* THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS.
+*
+*******************************************************************************/
+
+/* Includes ------------------------------------------------------------------*/
+
+#include "lis3dh_driver.h"
+#include "stdlib.h"
+#include "math.h"
+#include "stm32f10x_it.h"
+/* Private typedef -----------------------------------------------------------*/
+/* Private define ------------------------------------------------------------*/
+/* Private macro -------------------------------------------------------------*/
+/* Private variables ---------------------------------------------------------*/
+/* Private function prototypes -----------------------------------------------*/
+
+//int main(void)
+//{
+//	delay_init();	    	 //延时函数初始化	
+//	uart_init(115200);	 	//串口初始化为115200
+//	IIC2_Init();
+//	delay_ms(100);
+//	while(1)
+//	{
+//		LIS3DH_Data_Init();	
+//		delay_ms(1000);	
+//	}	
+//	
+//}
+//void delay_us(uint32_t nTimer)  
+//{  
+//    uint32_t i=0;  
+//    for(i=0;i<nTimer;i++){  
+//        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
+//		__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
+//		__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();  
+//        __NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
+//		__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();
+//		__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();__NOP();  
+//        __NOP();__NOP();__NOP();__NOP(); 
+//    }  
+//}
+AxesRaw_t lis2dhdata;
+
+//OLED初始化IIC
+void IIC2_Init(void)
+{	
+    GPIO_InitTypeDef GPIO_InitStructure; 
+    SDA_1;
+    SCL_1;
+    GPIO_InitStructure.GPIO_Pin = SDA_Pin|SCL_Pin;
+    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
+    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
+    GPIO_Init(GPIOB, &GPIO_InitStructure);
+}
+
+
+void LIS3DH_Data_Init()	
+{
+	//uint8_t buffer[26]; 
+	
+	uint8_t lisid,response;
+    uint8_t lisidtemp;
+	
+	LIS3DH_WriteReg(LIS3DH_CTRL_REG1, 0x37);	/* CTRL_REG1(20h): ??sensor,???????? ODR 25HZ */
+	LIS3DH_WriteReg(LIS3DH_CTRL_REG2, 0x03);	/* CTRL_REG2(21h): IA1?IA2 ?????? bc */
+	
+	LIS3DH_WriteReg(LIS3DH_CTRL_REG3, 0x40);	/* CTRL_REG3(22h): 0x80 ???????INT_1 INT_2 */
+	LIS3DH_WriteReg(LIS3DH_CTRL_REG4, 0x08);  /* CTRL_REG4(23h): ???,????,???+/-2G,?????? */
+	LIS3DH_WriteReg(LIS3DH_INT1_CFG, 0xaa);  /* INT1_CFG(30h): ??,6D X/Y/Z???????? */
+	
+//	LIS3DH_WriteReg(LIS3DH_INT1_THS, (uint8_t)g_com_map[IMU_THRES]);  	/* INT1_THS(32h): ?????? 0x10: 16*2(FS)  0x20: 32*16(FS) */
+ LIS3DH_WriteReg(LIS3DH_INT1_DURATION, 0x02);  	/* INT1_DURATION(33h): 1LSB=1/ODR  ??ODR=100HZ  ??1LSB=10ms ???? 1s,??100->0x64 */
+	/* Start sensor */
+	LIS3DH_WriteReg(0x20, 0x5f);  /* CTRL_REG1(20h): Start sensor at ODR 100Hz Low-power mode */
+	// Read ID
+	LIS3DH_GetWHO_AM_I(&lisidtemp);  
+//	lisid=(uint16_t)lisidtemp;
+//	printf("LIS3DH ID: %x \r\n",lisid);
+	//get Acceleration Raw data  
+//	response=LIS3DH_GetAccAxesRaw(&data);
+	//print data values
+	delay_us(10); 
+//	if(response==1)
+//	{
+//		
+//		printf("传感器原始值:x=%d, y=%d, z=%d\r\n", lis2dhdata.AXIS_X, lis2dhdata.AXIS_Y, lis2dhdata.AXIS_Z);
+//		printf( "处理后的加速度值Accel:[x]%dmg,[y]%dmg,[z]%dmg\r\n", 
+//																(int16_t)((float)lis2dhdata.AXIS_X*4/65536*1000), 
+//																(int16_t)((float)lis2dhdata.AXIS_Y*4/65536*1000), 
+//																(int16_t)((float)lis2dhdata.AXIS_Z*4/65536*1000));
+//	
+//	}
+
+}
+void LIS3DH_ENTER_STY_Init()	
+{
+	//uint8_t buffer[26]; 
+	
+	uint8_t lisid,response;
+    uint8_t lisidtemp;
+	//set ODR (turn ON device)
+	LIS3DH_SetODR(LIS3DH_ODR_10Hz);
+	//set PowerMode 
+	LIS3DH_SetMode(LIS3DH_POWER_DOWN);
+	//set Fullscale
+	LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2);
+	LIS3DH_SetInt2Pin(LIS3DH_I1_INT2_ON_PIN_INT1_ENABLE);
+//LIS3DH_SetTriggerInt(LIS3DH_TRIG_INT2);
+//	LIS3DH_WriteReg(0x34,0xff);
+//	LIS3DH_WriteReg(0x35,0x7f);
+//	LIS3DH_WriteReg(0x36,0x20);
+	//set axis Enable
+	LIS3DH_SetAxis(LIS3DH_X_DISABLE | LIS3DH_Y_DISABLE | LIS3DH_Y_DISABLE);
+	// Read ID
+	//LIS3DH_GetWHO_AM_I(&lisidtemp);  
+//	lisid=(uint16_t)lisidtemp;
+//	printf("LIS3DH ID: %x \r\n",lisid);
+	//get Acceleration Raw data  
+//	response=LIS3DH_GetAccAxesRaw(&data);
+	//print data values
+//	HAL_Delay(100); 
+//	if(response==1)
+//	{
+//		
+//		printf("传感器原始值:x=%d, y=%d, z=%d\r\n", lis2dhdata.AXIS_X, lis2dhdata.AXIS_Y, lis2dhdata.AXIS_Z);
+//		printf( "处理后的加速度值Accel:[x]%dmg,[y]%dmg,[z]%dmg\r\n", 
+//																(int16_t)((float)lis2dhdata.AXIS_X*4/65536*1000), 
+//																(int16_t)((float)lis2dhdata.AXIS_Y*4/65536*1000), 
+//																(int16_t)((float)lis2dhdata.AXIS_Z*4/65536*1000));
+//	
+//	}
+
+}
+//获取数据
+float drv_lis2dh12_get_angle(void)
+{
+	float acc_x, acc_y, acc_z, acc_g;
+	float angle_x, angle_y, angle_z, angle_xyz;
+	int8_t data[6];
+	uint8_t i;
+	uint8_t lisid,response;
+    uint8_t lisidtemp;
+	//set ODR (turn ON device)
+	LIS3DH_SetODR(LIS3DH_ODR_100Hz);
+	//set PowerMode 
+	LIS3DH_SetMode(LIS3DH_NORMAL);
+	//set Fullscale
+	LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2);
+	//set axis Enable
+	LIS3DH_SetAxis(LIS3DH_X_ENABLE | LIS3DH_Y_ENABLE | LIS3DH_Z_ENABLE);
+	// Read ID
+	LIS3DH_GetWHO_AM_I(&lisidtemp);
+	lisid=(uint16_t)lisidtemp;
+//	printf("LIS3DH ID: %x \r\n",lisid);
+	//get Acceleration Raw data  
+	response=LIS3DH_GetAccAxesRaw(&lis2dhdata);
+	//print data values
+	delay_us(10); 
+//    LIS3DH_GetAccAxesRaw(&lis2dhdata);
+//	for (i=0; i<6; i++)
+//		drv_lis2dh12_iic_read_byte(0x28 + i, data+i);
+	if(response==1)
+	{
+	/* x, y, z ???? */
+	acc_x = abs(lis2dhdata.AXIS_X);
+	acc_y = abs(lis2dhdata.AXIS_Y);
+	acc_z = abs(lis2dhdata.AXIS_Z);
+	
+	/* ????? */
+	acc_g = sqrt(pow(acc_x, 2) + pow(acc_y, 2) + pow(acc_z, 2));
+	
+	if (acc_z > acc_g)
+		acc_z = acc_g;
+
+	/* angle_z/90 = asin(acc_z/acc_g)/p/2 */
+	angle_z = asin(acc_z/acc_g) * 2 / 3.14 * 90;
+	angle_z = 90 - angle_z;
+	if(angle_z < 0)
+		angle_z = 0;
+	}
+	return acc_g;
+}
+
+
+//产生IIC起始信号
+void IIC2_Start(void)
+{
+//		IIC2_SDA_OUT();     //sda线输出
+		SDA_1;
+		delay_us(10);	
+		SCL_1;
+		delay_us(10);
+		SDA_0;//START:when CLK is high,DATA change form high to low
+		delay_us(10);
+		SCL_0;//钳住I2C总线,准备发送或接收数据 
+}	  
+//产生IIC停止信号
+void IIC2_Stop(void)
+{
+//		IIC2_SDA_OUT();//sda线输出
+		SCL_0;
+//		delay_us(10);
+		SDA_0;//STOP:when CLK is high DATA change form low to high
+	 	delay_us(10);
+		SCL_1; 
+//		delay_us(10);
+		SDA_1;//发送I2C总线结束信号
+		delay_us(10);	
+
+}
+
+//等待应答信号到来
+//返回值:1,接收应答失败
+//        0,接收应答成功
+uint8_t IIC2_Wait_Ack(void)
+{
+	uint8_t ucErrTime=0;
+//  IIC2_SDA_IN();      //SDA设置为输入
+ 	SDA_1;
+	delay_us(6);	   
+	SCL_1;
+	delay_us(6);	
+
+	while(IIC2_READ_SDA)
+	{
+		ucErrTime++;
+		if(ucErrTime>250)
+		{
+			IIC2_Stop();
+			return 1;
+		}
+	}
+	SCL_0;//时钟输出0
+	return 0;  
+} 
+//产生ACK应答
+void IIC2_Ack(void)
+{
+	SCL_0;
+//	IIC2_SDA_OUT();
+	SDA_0;
+	delay_us(10);
+	SCL_1;
+	delay_us(10);
+	SCL_0;
+}
+//不产生ACK应答		    
+void IIC2_NAck(void)
+{
+	SCL_0;
+//	IIC2_SDA_OUT();
+	SDA_1;
+	delay_us(10);
+	SCL_1;
+	delay_us(10);
+	SCL_0;
+}
+
+
+//IIC发送一个字节,WRITE
+//返回从机有无应答
+//1,有应答
+//0,无应答			  
+void IIC2_Send_Byte(uint8_t txd)
+{                        
+    uint8_t t;   
+//		IIC2_SDA_OUT();
+		SCL_0;//拉低时钟开始数据传输
+    for(t=0;t<8;t++)
+    {              
+			if((txd&0x80)>>7)
+			{
+				SDA_1;
+			}
+			else
+			{
+				SDA_0;
+			}
+		txd <<= 1;
+		delay_us(10);
+		SCL_1;
+		delay_us(10);
+		SCL_0;
+		delay_us(10);
+    } 	 
+} 
+
+//读1个字节,ack=1时,发送ACK,ack=0,发送nACK   
+uint8_t IIC2_Read_Byte(unsigned char ack)
+{
+	unsigned char i,receive=0;
+//	IIC2_SDA_IN();//SDA设置为输入
+    for(i=0;i<8;i++ )
+	{
+    SCL_0; 
+    delay_us(10);
+		SCL_1;
+    receive<<=1;
+    if(IIC2_READ_SDA)receive++;   
+		delay_us(5); 
+    }					 
+    if (!ack)
+        IIC2_NAck();//发送nACK
+    else
+        IIC2_Ack(); //发送ACK   
+    return receive;
+}
+
+//在LIS3DH里面的指定地址开始读一字节数据
+//ReadAddr   :读出的地址 
+//返回值     :读出的数据
+uint8_t LIS3DH_ReadOneByte(uint16_t ReadAddr)
+{
+	uint8_t temp=0;		  	    																 
+	IIC2_Start();  
+	IIC2_Send_Byte(0X32);	     //发送写命令
+	IIC2_Wait_Ack();       
+	IIC2_Send_Byte(ReadAddr);   //发送读地址
+	IIC2_Wait_Ack();	    
+	IIC2_Start();  	 	   
+	IIC2_Send_Byte(0X33);       //发送读命令,进入接收模式		   
+	IIC2_Wait_Ack();	 
+	temp=IIC2_Read_Byte(0);		   
+	IIC2_Stop();								//产生一个停止条件	     
+	return temp;
+}
+//在LIS3DH指定地址写入一个数据
+//WriteAddr  :写入数据的目的地址    
+//DataToWrite:要写入的数据
+void LIS3DH_WriteOneByte(uint16_t WriteAddr,uint8_t DataToWrite)
+{				   	  	    																 
+	IIC2_Start();  
+	IIC2_Send_Byte(0X32);	    //发送写命令
+	IIC2_Wait_Ack();
+	IIC2_Send_Byte(WriteAddr);					//发送地址
+	IIC2_Wait_Ack();	   	 										  		   
+	IIC2_Send_Byte(DataToWrite);     //发送字节							   
+	IIC2_Wait_Ack();  		    	   
+	IIC2_Stop();//产生一个停止条件 
+	delay_us(10);	
+			
+}
+//在AT24CXX里面的指定地址开始写入长度为Len的数据
+//该函数用于写入16bit或者32bit的数据.
+//WriteAddr  :开始写入的地址  
+//DataToWrite:数据数组首地址
+//Len        :要写入数据的长度2,4
+void LIS3DH_WriteLenByte(uint16_t WriteAddr,uint32_t DataToWrite,uint8_t Len)
+{  	
+	uint8_t t;
+	for(t=0;t<Len;t++)
+	{
+		LIS3DH_WriteOneByte(WriteAddr+t,(DataToWrite>>(8*t))&0xff);
+	}												    
+}
+
+//在AT24CXX里面的指定地址开始读出长度为Len的数据
+//该函数用于读出16bit或者32bit的数据.
+//ReadAddr   :开始读出的地址 
+//返回值     :数据
+//Len        :要读出数据的长度2,4
+uint32_t LIS3DH_ReadLenByte(uint16_t ReadAddr,uint8_t Len)
+{  	
+	uint8_t t;
+	uint32_t temp=0;
+	for(t=0;t<Len;t++)
+	{
+		temp<<=8;
+		temp+=LIS3DH_ReadOneByte(ReadAddr+Len-t-1); 	 				   
+	}
+	return temp;												    
+}
+
+/*******************************************************************************
+* Function Name		: LIS3DH_ReadReg
+* Description		: Generic Reading function. It must be fullfilled with either
+*			: I2C or SPI reading functions					
+* Input			: Register Address
+* Output		: Data REad
+* Return		: None
+*******************************************************************************/
+uint8_t LIS3DH_ReadReg(uint8_t Reg, uint8_t* Data) {
+  
+	//To be completed with either I2c or SPI reading function
+	//i.e. *Data = SPI_Mems_Read_Reg( Reg );
+	*Data = LIS3DH_ReadOneByte(Reg);
+	return 1;
+}
+
+
+/*******************************************************************************
+* Function Name		: LIS3DH_WriteReg
+* Description		: Generic Writing function. It must be fullfilled with either
+*			: I2C or SPI writing function
+* Input			: Register Address, Data to be written
+* Output		: None
+* Return		: None
+*******************************************************************************/
+uint8_t LIS3DH_WriteReg(uint8_t WriteAddr, uint8_t Data) {
+  
+	//To be completed with either I2c or SPI writing function
+	//i.e. SPI_Mems_Write_Reg(WriteAddr, Data);
+		LIS3DH_WriteOneByte(WriteAddr,Data);
+		
+	return 1;
+}
+
+/* Private functions ---------------------------------------------------------*/
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetWHO_AM_I
+* Description    : Read identification code by WHO_AM_I register
+* Input          : Char to empty by Device identification Value
+* Output         : None
+* Return         : Status [value of FSS]
+*******************************************************************************/
+status_t LIS3DH_GetWHO_AM_I(uint8_t* val){
+  
+	if( !LIS3DH_ReadReg(LIS3DH_WHO_AM_I, val) )	  
+	return MEMS_ERROR;
+
+	return MEMS_SUCCESS;
+}
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetStatusAUX
+* Description    : Read the AUX status register
+* Input          : Char to empty by status register buffer
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetStatusAUX(uint8_t* val) {
+  
+  if( !LIS3DH_ReadReg(LIS3DH_STATUS_AUX, val) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;  
+}
+
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetStatusAUXBIT
+* Description    : Read the AUX status register BIT
+* Input          : LIS3DH_STATUS_AUX_321OR, LIS3DH_STATUS_AUX_3OR, LIS3DH_STATUS_AUX_2OR, LIS3DH_STATUS_AUX_1OR,
+                   LIS3DH_STATUS_AUX_321DA, LIS3DH_STATUS_AUX_3DA, LIS3DH_STATUS_AUX_2DA, LIS3DH_STATUS_AUX_1DA
+* Output         : None
+* Return         : Status of BIT [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetStatusAUXBit(uint8_t statusBIT, uint8_t* val) {
+  uint8_t value;  
+  
+  if( !LIS3DH_ReadReg(LIS3DH_STATUS_AUX, &value) )
+    return MEMS_ERROR;
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_321OR){
+    if(value &= LIS3DH_STATUS_AUX_321OR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_3OR){
+    if(value &= LIS3DH_STATUS_AUX_3OR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }     
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_2OR){
+    if(value &= LIS3DH_STATUS_AUX_2OR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }    
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_1OR){
+    if(value &= LIS3DH_STATUS_AUX_1OR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_321DA){
+    if(value &= LIS3DH_STATUS_AUX_321DA) {     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_3DA){
+    if(value &= LIS3DH_STATUS_AUX_3DA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_2DA){
+    if(value &= LIS3DH_STATUS_AUX_2DA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_STATUS_AUX_1DA){
+    if(value &= LIS3DH_STATUS_AUX_1DA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }  
+  return MEMS_ERROR;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetODR
+* Description    : Sets LIS3DH Output Data Rate
+* Input          : Output Data Rate
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetODR(LIS3DH_ODR_t ov){
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG1, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x0f;
+  value |= ov<<LIS3DH_ODR_BIT;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG1, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetTemperature
+* Description    : Sets LIS3DH Output Temperature
+* Input          : MEMS_ENABLE, MEMS_DISABLE
+* Output         : None
+* Note           : For Read Temperature by LIS3DH_OUT_AUX_3, LIS3DH_SetADCAux and LIS3DH_SetBDU 
+				   functions must be ENABLE
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetTemperature(State_t state){
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_TEMP_CFG_REG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xBF;
+  value |= state<<LIS3DH_TEMP_EN;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_TEMP_CFG_REG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetADCAux
+* Description    : Sets LIS3DH Output ADC
+* Input          : MEMS_ENABLE, MEMS_DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetADCAux(State_t state){
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_TEMP_CFG_REG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x7F;
+  value |= state<<LIS3DH_ADC_PD;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_TEMP_CFG_REG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetAuxRaw
+* Description    : Read the Aux Values Output Registers
+* Input          : Buffer to empty
+* Output         : Aux Values Registers buffer
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetAuxRaw(LIS3DH_Aux123Raw_t* buff) {
+  uint8_t valueL;
+  uint8_t valueH;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_1_L, &valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_1_H, &valueH) )
+    return MEMS_ERROR;
+  
+  buff->AUX_1 = (uint16_t)( (valueH << 8) | valueL )/16;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_2_L, &valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_2_H, &valueH) )
+    return MEMS_ERROR;
+  
+  buff->AUX_2 = (uint16_t)( (valueH << 8) | valueL )/16;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_3_L, &valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_3_H, &valueH) )
+    return MEMS_ERROR;
+  
+  buff->AUX_3 = (uint16_t)( (valueH << 8) | valueL )/16;
+  
+  return MEMS_SUCCESS;  
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetTempRaw
+* Description    : Read the Temperature Values by AUX Output Registers OUT_3_H
+* Input          : Buffer to empty
+* Output         : Temperature Values Registers buffer
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetTempRaw(int8_t* buff) {
+  uint8_t valueL;
+  uint8_t valueH;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_3_L, &valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_3_H, &valueH) )
+    return MEMS_ERROR;
+  
+  *buff = (int8_t)( valueH );
+  
+  return MEMS_SUCCESS;  
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetMode
+* Description    : Sets LIS3DH Operating Mode
+* Input          : Modality (LIS3DH_NORMAL, LIS3DH_LOW_POWER, LIS3DH_POWER_DOWN)
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetMode(LIS3DH_Mode_t md) {
+  uint8_t value;
+  uint8_t value2;
+  static   uint8_t ODR_old_value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG1, &value) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG4, &value2) )
+    return MEMS_ERROR;
+  
+  if((value & 0xF0)==0) 
+    value = value | (ODR_old_value & 0xF0); //if it comes from POWERDOWN  
+  
+  switch(md) {
+    
+  case LIS3DH_POWER_DOWN:
+    ODR_old_value = value;
+    value &= 0x0F;
+    break;
+    
+  case LIS3DH_NORMAL:
+    value &= 0xF7;
+    value |= (MEMS_RESET<<LIS3DH_LPEN);
+    value2 &= 0xF7;
+    value2 |= (MEMS_SET<<LIS3DH_HR);   //set HighResolution_BIT
+    break;
+    
+  case LIS3DH_LOW_POWER:		
+    value &= 0xF7;
+    value |=  (MEMS_SET<<LIS3DH_LPEN);
+    value2 &= 0xF7;
+    value2 |= (MEMS_RESET<<LIS3DH_HR); //reset HighResolution_BIT
+    break;
+    
+  default:
+    return MEMS_ERROR;
+  }
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG1, value) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG4, value2) )
+    return MEMS_ERROR;  
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetAxis
+* Description    : Enable/Disable LIS3DH Axis
+* Input          : LIS3DH_X_ENABLE/DISABLE | LIS3DH_Y_ENABLE/DISABLE | LIS3DH_Z_ENABLE/DISABLE
+* Output         : None
+* Note           : You MUST use all input variable in the argument, as example
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetAxis(LIS3DH_Axis_t axis) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG1, &value) )
+    return MEMS_ERROR;
+  value &= 0xF8;
+  value |= (0x07 & axis);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG1, value) )
+    return MEMS_ERROR;   
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetFullScale
+* Description    : Sets the LIS3DH FullScale
+* Input          : LIS3DH_FULLSCALE_2/LIS3DH_FULLSCALE_4/LIS3DH_FULLSCALE_8/LIS3DH_FULLSCALE_16
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetFullScale(LIS3DH_Fullscale_t fs) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG4, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xCF;	
+  value |= (fs<<LIS3DH_FS);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG4, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetBDU
+* Description    : Enable/Disable Block Data Update Functionality
+* Input          : ENABLE/DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetBDU(State_t bdu) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG4, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x7F;
+  value |= (bdu<<LIS3DH_BDU);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG4, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetBLE
+* Description    : Set Endianess (MSB/LSB)
+* Input          : BLE_LSB / BLE_MSB
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetBLE(LIS3DH_Endianess_t ble) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG4, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xBF;	
+  value |= (ble<<LIS3DH_BLE);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG4, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetSelfTest
+* Description    : Set Self Test Modality
+* Input          : LIS3DH_SELF_TEST_DISABLE/ST_0/ST_1
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetSelfTest(LIS3DH_SelfTest_t st) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG4, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xF9;
+  value |= (st<<LIS3DH_ST);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG4, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_HPFClick
+* Description    : Enable/Disable High Pass Filter for click
+* Input          : MEMS_ENABLE/MEMS_DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_HPFClickEnable(State_t hpfe) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG2, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xFB;
+  value |= (hpfe<<LIS3DH_HPCLICK);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG2, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_HPFAOI1
+* Description    : Enable/Disable High Pass Filter for AOI on INT_1
+* Input          : MEMS_ENABLE/MEMS_DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_HPFAOI1Enable(State_t hpfe) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG2, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xFE;
+  value |= (hpfe<<LIS3DH_HPIS1);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG2, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_HPFAOI2
+* Description    : Enable/Disable High Pass Filter for AOI on INT_2
+* Input          : MEMS_ENABLE/MEMS_DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_HPFAOI2Enable(State_t hpfe) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG2, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xFD;
+  value |= (hpfe<<LIS3DH_HPIS2);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG2, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetHPFMode
+* Description    : Set High Pass Filter Modality
+* Input          : LIS3DH_HPM_NORMAL_MODE_RES/LIS3DH_HPM_REF_SIGNAL/
+				   LIS3DH_HPM_NORMAL_MODE/LIS3DH_HPM_AUTORESET_INT
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetHPFMode(LIS3DH_HPFMode_t hpm) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG2, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x3F;
+  value |= (hpm<<LIS3DH_HPM);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG2, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetHPFCutOFF
+* Description    : Set High Pass CUT OFF Freq
+* Input          : HPFCF [0,3]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetHPFCutOFF(LIS3DH_HPFCutOffFreq_t hpf) {
+  uint8_t value;
+  
+  if (hpf > 3)
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG2, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xCF;
+  value |= (hpf<<LIS3DH_HPCF);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG2, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+  
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetFilterDataSel
+* Description    : Set Filter Data Selection bypassed or sent to FIFO OUT register
+* Input          : MEMS_SET, MEMS_RESET
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetFilterDataSel(State_t state) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG2, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xF7;
+  value |= (state<<LIS3DH_FDS);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG2, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+  
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetInt1Pin
+* Description    : Set Interrupt1 pin Function
+* Input          :  LIS3DH_CLICK_ON_PIN_INT1_ENABLE/DISABLE    | LIS3DH_I1_INT1_ON_PIN_INT1_ENABLE/DISABLE |              
+                    LIS3DH_I1_INT2_ON_PIN_INT1_ENABLE/DISABLE  | LIS3DH_I1_DRDY1_ON_INT1_ENABLE/DISABLE    |              
+                    LIS3DH_I1_DRDY2_ON_INT1_ENABLE/DISABLE     | LIS3DH_WTM_ON_INT1_ENABLE/DISABLE         |           
+                    LIS3DH_INT1_OVERRUN_ENABLE/DISABLE  
+* example        : SetInt1Pin(LIS3DH_CLICK_ON_PIN_INT1_ENABLE | LIS3DH_I1_INT1_ON_PIN_INT1_ENABLE |              
+                    LIS3DH_I1_INT2_ON_PIN_INT1_DISABLE | LIS3DH_I1_DRDY1_ON_INT1_ENABLE | LIS3DH_I1_DRDY2_ON_INT1_ENABLE |
+                    LIS3DH_WTM_ON_INT1_DISABLE | LIS3DH_INT1_OVERRUN_DISABLE   ) 
+* Note           : To enable Interrupt signals on INT1 Pad (You MUST use all input variable in the argument, as example)
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetInt1Pin(LIS3DH_IntPinConf_t pinConf) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG3, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x00;
+  value |= pinConf;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG3, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetInt2Pin
+* Description    : Set Interrupt2 pin Function
+* Input          : LIS3DH_CLICK_ON_PIN_INT2_ENABLE/DISABLE   | LIS3DH_I2_INT1_ON_PIN_INT2_ENABLE/DISABLE |               
+                   LIS3DH_I2_INT2_ON_PIN_INT2_ENABLE/DISABLE | LIS3DH_I2_BOOT_ON_INT2_ENABLE/DISABLE |                   
+                   LIS3DH_INT_ACTIVE_HIGH/LOW
+* example        : LIS3DH_SetInt2Pin(LIS3DH_CLICK_ON_PIN_INT2_ENABLE/DISABLE | LIS3DH_I2_INT1_ON_PIN_INT2_ENABLE/DISABLE |               
+                   LIS3DH_I2_INT2_ON_PIN_INT2_ENABLE/DISABLE | LIS3DH_I2_BOOT_ON_INT2_ENABLE/DISABLE |                   
+                   LIS3DH_INT_ACTIVE_HIGH/LOW)
+* Note           : To enable Interrupt signals on INT2 Pad (You MUST use all input variable in the argument, as example)
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetInt2Pin(LIS3DH_IntPinConf_t pinConf) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG6, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x00;
+  value |= pinConf;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG6, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}                       
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetClickCFG
+* Description    : Set Click Interrupt config Function
+* Input          : LIS3DH_ZD_ENABLE/DISABLE | LIS3DH_ZS_ENABLE/DISABLE  | LIS3DH_YD_ENABLE/DISABLE  | 
+                   LIS3DH_YS_ENABLE/DISABLE | LIS3DH_XD_ENABLE/DISABLE  | LIS3DH_XS_ENABLE/DISABLE 
+* example        : LIS3DH_SetClickCFG( LIS3DH_ZD_ENABLE | LIS3DH_ZS_DISABLE | LIS3DH_YD_ENABLE | 
+                               LIS3DH_YS_DISABLE | LIS3DH_XD_ENABLE | LIS3DH_XS_ENABLE)
+* Note           : You MUST use all input variable in the argument, as example
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetClickCFG(uint8_t status) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CLICK_CFG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xC0;
+  value |= status;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CLICK_CFG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}  
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetClickTHS
+* Description    : Set Click Interrupt threshold
+* Input          : Click-click Threshold value [0-127]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetClickTHS(uint8_t ths) {
+  
+  if(ths>127)     
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CLICK_THS, ths) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+} 
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetClickLIMIT
+* Description    : Set Click Interrupt Time Limit
+* Input          : Click-click Time Limit value [0-127]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetClickLIMIT(uint8_t t_limit) {
+  
+  if(t_limit>127)     
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_TIME_LIMIT, t_limit) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+} 
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetClickLATENCY
+* Description    : Set Click Interrupt Time Latency
+* Input          : Click-click Time Latency value [0-255]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetClickLATENCY(uint8_t t_latency) {
+  
+  if( !LIS3DH_WriteReg(LIS3DH_TIME_LATENCY, t_latency) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+} 
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetClickWINDOW
+* Description    : Set Click Interrupt Time Window
+* Input          : Click-click Time Window value [0-255]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetClickWINDOW(uint8_t t_window) {
+  
+  if( !LIS3DH_WriteReg(LIS3DH_TIME_WINDOW, t_window) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetClickResponse
+* Description    : Get Click Interrupt Response by CLICK_SRC REGISTER
+* Input          : char to empty by Click Response Typedef
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetClickResponse(uint8_t* res) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CLICK_SRC, &value) ) 
+    return MEMS_ERROR;
+  
+  value &= 0x7F;
+  
+  if((value & LIS3DH_IA)==0) {        
+    *res = LIS3DH_NO_CLICK;     
+    return MEMS_SUCCESS;
+  }
+  else {
+    if (value & LIS3DH_DCLICK){
+      if (value & LIS3DH_CLICK_SIGN){
+        if (value & LIS3DH_CLICK_Z) {
+          *res = LIS3DH_DCLICK_Z_N;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_Y) {
+          *res = LIS3DH_DCLICK_Y_N;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_X) {
+          *res = LIS3DH_DCLICK_X_N;   
+          return MEMS_SUCCESS;
+        }
+      }
+      else{
+        if (value & LIS3DH_CLICK_Z) {
+          *res = LIS3DH_DCLICK_Z_P;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_Y) {
+          *res = LIS3DH_DCLICK_Y_P;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_X) {
+          *res = LIS3DH_DCLICK_X_P;   
+          return MEMS_SUCCESS;
+        }
+      }       
+    }
+    else{
+      if (value & LIS3DH_CLICK_SIGN){
+        if (value & LIS3DH_CLICK_Z) {
+          *res = LIS3DH_SCLICK_Z_N;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_Y) {
+          *res = LIS3DH_SCLICK_Y_N;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_X) {
+          *res = LIS3DH_SCLICK_X_N;   
+          return MEMS_SUCCESS;
+        }
+      }
+      else{
+        if (value & LIS3DH_CLICK_Z) {
+          *res = LIS3DH_SCLICK_Z_P;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_Y) {
+          *res = LIS3DH_SCLICK_Y_P;   
+          return MEMS_SUCCESS;
+        }
+        if (value & LIS3DH_CLICK_X) {
+          *res = LIS3DH_SCLICK_X_P;   
+          return MEMS_SUCCESS;
+        }
+      }
+    }
+  }
+  return MEMS_ERROR;
+} 
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_Int1LatchEnable
+* Description    : Enable Interrupt 1 Latching function
+* Input          : ENABLE/DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_Int1LatchEnable(State_t latch) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xF7;
+  value |= latch<<LIS3DH_LIR_INT1;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_ResetInt1Latch
+* Description    : Reset Interrupt 1 Latching function
+* Input          : None
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_ResetInt1Latch(void) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_SRC, &value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetIntConfiguration
+* Description    : Interrupt 1 Configuration (without LIS3DH_6D_INT)
+* Input          : LIS3DH_INT1_AND/OR | LIS3DH_INT1_ZHIE_ENABLE/DISABLE | LIS3DH_INT1_ZLIE_ENABLE/DISABLE...
+* Output         : None
+* Note           : You MUST use all input variable in the argument, as example
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetIntConfiguration(LIS3DH_Int1Conf_t ic) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_CFG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x40; 
+  value |= ic;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_INT1_CFG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+} 
+
+     
+/*******************************************************************************
+* Function Name  : LIS3DH_SetIntMode
+* Description    : Interrupt 1 Configuration mode (OR, 6D Movement, AND, 6D Position)
+* Input          : LIS3DH_INT_MODE_OR, LIS3DH_INT_MODE_6D_MOVEMENT, LIS3DH_INT_MODE_AND, 
+				   LIS3DH_INT_MODE_6D_POSITION
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetIntMode(LIS3DH_Int1Mode_t int_mode) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_CFG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x3F; 
+  value |= (int_mode<<LIS3DH_INT_6D);
+  
+  if( !LIS3DH_WriteReg(LIS3DH_INT1_CFG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+    
+/*******************************************************************************
+* Function Name  : LIS3DH_SetInt6D4DConfiguration
+* Description    : 6D, 4D Interrupt Configuration
+* Input          : LIS3DH_INT1_6D_ENABLE, LIS3DH_INT1_4D_ENABLE, LIS3DH_INT1_6D_4D_DISABLE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetInt6D4DConfiguration(LIS3DH_INT_6D_4D_t ic) {
+  uint8_t value;
+  uint8_t value2;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_CFG, &value) )
+    return MEMS_ERROR;
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value2) )
+    return MEMS_ERROR;
+  
+  if(ic == LIS3DH_INT1_6D_ENABLE){
+    value &= 0xBF; 
+    value |= (MEMS_ENABLE<<LIS3DH_INT_6D);
+    value2 &= 0xFB; 
+    value2 |= (MEMS_DISABLE<<LIS3DH_D4D_INT1);
+  }
+  
+  if(ic == LIS3DH_INT1_4D_ENABLE){
+    value &= 0xBF; 
+    value |= (MEMS_ENABLE<<LIS3DH_INT_6D);
+    value2 &= 0xFB; 
+    value2 |= (MEMS_ENABLE<<LIS3DH_D4D_INT1);
+  }
+  
+  if(ic == LIS3DH_INT1_6D_4D_DISABLE){
+    value &= 0xBF; 
+    value |= (MEMS_DISABLE<<LIS3DH_INT_6D);
+    value2 &= 0xFB; 
+    value2 |= (MEMS_DISABLE<<LIS3DH_D4D_INT1);
+  }
+  
+  if( !LIS3DH_WriteReg(LIS3DH_INT1_CFG, value) )
+    return MEMS_ERROR;
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value2) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_Get6DPosition
+* Description    : 6D, 4D Interrupt Position Detect
+* Input          : Byte to empty by POSITION_6D_t Typedef
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_Get6DPosition(uint8_t* val){
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_SRC, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x7F;
+  
+  switch (value){
+  case LIS3DH_UP_SX:   
+    *val = LIS3DH_UP_SX;    
+    break;
+  case LIS3DH_UP_DX:   
+    *val = LIS3DH_UP_DX;    
+    break;
+  case LIS3DH_DW_SX:   
+    *val = LIS3DH_DW_SX;    
+    break;
+  case LIS3DH_DW_DX:   
+    *val = LIS3DH_DW_DX;    
+    break;
+  case LIS3DH_TOP:     
+    *val = LIS3DH_TOP;      
+    break;
+  case LIS3DH_BOTTOM:  
+    *val = LIS3DH_BOTTOM;   
+    break;
+  }
+  
+  return MEMS_SUCCESS;  
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetInt1Threshold
+* Description    : Sets Interrupt 1 Threshold
+* Input          : Threshold = [0,31]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetInt1Threshold(uint8_t ths) {
+  if (ths > 127)
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_INT1_THS, ths) )
+    return MEMS_ERROR;    
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetInt1Duration
+* Description    : Sets Interrupt 1 Duration
+* Input          : Duration value
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetInt1Duration(LIS3DH_Int1Conf_t id) {
+  
+  if (id > 127)
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_INT1_DURATION, id) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_FIFOModeEnable
+* Description    : Sets Fifo Modality
+* Input          : LIS3DH_FIFO_DISABLE, LIS3DH_FIFO_BYPASS_MODE, LIS3DH_FIFO_MODE, 
+				   LIS3DH_FIFO_STREAM_MODE, LIS3DH_FIFO_TRIGGER_MODE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_FIFOModeEnable(LIS3DH_FifoMode_t fm) {
+  uint8_t value;  
+  
+  if(fm == LIS3DH_FIFO_DISABLE) { 
+    if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0x1F;
+    value |= (LIS3DH_FIFO_BYPASS_MODE<<LIS3DH_FM);                     
+    
+    if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )           //fifo mode bypass
+      return MEMS_ERROR;   
+    if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0xBF;    
+    
+    if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value) )               //fifo disable
+      return MEMS_ERROR;   
+  }
+  
+  if(fm == LIS3DH_FIFO_BYPASS_MODE)   {  
+    if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0xBF;
+    value |= MEMS_SET<<LIS3DH_FIFO_EN;
+    
+    if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value) )               //fifo enable
+      return MEMS_ERROR;  
+    if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0x1f;
+    value |= (fm<<LIS3DH_FM);                     //fifo mode configuration
+    
+    if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )
+      return MEMS_ERROR;
+  }
+  
+  if(fm == LIS3DH_FIFO_MODE)   {
+    if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0xBF;
+    value |= MEMS_SET<<LIS3DH_FIFO_EN;
+    
+    if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value) )               //fifo enable
+      return MEMS_ERROR;  
+    if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0x1f;
+    value |= (fm<<LIS3DH_FM);                      //fifo mode configuration
+    
+    if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )
+      return MEMS_ERROR;
+  }
+  
+  if(fm == LIS3DH_FIFO_STREAM_MODE)   {  
+    if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0xBF;
+    value |= MEMS_SET<<LIS3DH_FIFO_EN;
+    
+    if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value) )               //fifo enable
+      return MEMS_ERROR;   
+    if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0x1f;
+    value |= (fm<<LIS3DH_FM);                      //fifo mode configuration
+    
+    if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )
+      return MEMS_ERROR;
+  }
+  
+  if(fm == LIS3DH_FIFO_TRIGGER_MODE)   {  
+    if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG5, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0xBF;
+    value |= MEMS_SET<<LIS3DH_FIFO_EN;
+    
+    if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG5, value) )               //fifo enable
+      return MEMS_ERROR;    
+    if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+      return MEMS_ERROR;
+    
+    value &= 0x1f;
+    value |= (fm<<LIS3DH_FM);                      //fifo mode configuration
+    
+    if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )
+      return MEMS_ERROR;
+  }
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetTriggerInt
+* Description    : Trigger event liked to trigger signal INT1/INT2
+* Input          : LIS3DH_TRIG_INT1/LIS3DH_TRIG_INT2
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetTriggerInt(LIS3DH_TrigInt_t tr) {
+  uint8_t value;  
+  
+  if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xDF;
+  value |= (tr<<LIS3DH_TR); 
+  
+  if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_SetWaterMark
+* Description    : Sets Watermark Value
+* Input          : Watermark = [0,31]
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetWaterMark(uint8_t wtm) {
+  uint8_t value;
+  
+  if(wtm > 31)
+    return MEMS_ERROR;  
+  
+  if( !LIS3DH_ReadReg(LIS3DH_FIFO_CTRL_REG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xE0;
+  value |= wtm; 
+  
+  if( !LIS3DH_WriteReg(LIS3DH_FIFO_CTRL_REG, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+  
+/*******************************************************************************
+* Function Name  : LIS3DH_GetStatusReg
+* Description    : Read the status register
+* Input          : char to empty by Status Reg Value
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetStatusReg(uint8_t* val) {
+  if( !LIS3DH_ReadReg(LIS3DH_STATUS_REG, val) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;  
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetStatusBIT
+* Description    : Read the status register BIT
+* Input          : LIS3DH_STATUS_REG_ZYXOR, LIS3DH_STATUS_REG_ZOR, LIS3DH_STATUS_REG_YOR, LIS3DH_STATUS_REG_XOR,
+                   LIS3DH_STATUS_REG_ZYXDA, LIS3DH_STATUS_REG_ZDA, LIS3DH_STATUS_REG_YDA, LIS3DH_STATUS_REG_XDA, 
+				   LIS3DH_DATAREADY_BIT
+				   val: Byte to be filled with the status bit	
+* Output         : status register BIT
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetStatusBit(uint8_t statusBIT, uint8_t* val) {
+  uint8_t value;  
+  
+  if( !LIS3DH_ReadReg(LIS3DH_STATUS_REG, &value) )
+    return MEMS_ERROR;
+  
+  switch (statusBIT){
+  case LIS3DH_STATUS_REG_ZYXOR:     
+    if(value &= LIS3DH_STATUS_REG_ZYXOR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  case LIS3DH_STATUS_REG_ZOR:       
+    if(value &= LIS3DH_STATUS_REG_ZOR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  case LIS3DH_STATUS_REG_YOR:       
+    if(value &= LIS3DH_STATUS_REG_YOR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }                                 
+  case LIS3DH_STATUS_REG_XOR:       
+    if(value &= LIS3DH_STATUS_REG_XOR){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }     
+  case LIS3DH_STATUS_REG_ZYXDA:     
+    if(value &= LIS3DH_STATUS_REG_ZYXDA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  case LIS3DH_STATUS_REG_ZDA:       
+    if(value &= LIS3DH_STATUS_REG_ZDA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  case LIS3DH_STATUS_REG_YDA:       
+    if(value &= LIS3DH_STATUS_REG_YDA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }   
+  case LIS3DH_STATUS_REG_XDA:       
+    if(value &= LIS3DH_STATUS_REG_XDA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }                                  
+    
+  }
+  return MEMS_ERROR;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetAccAxesRaw
+* Description    : Read the Acceleration Values Output Registers
+* Input          : buffer to empity by AxesRaw_t Typedef
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetAccAxesRaw(AxesRaw_t* buff) {
+  int16_t value;
+  uint8_t *valueL = (uint8_t *)(&value);
+  uint8_t *valueH = ((uint8_t *)(&value)+1);
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_X_L, valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_X_H, valueH) )
+    return MEMS_ERROR;
+  
+  buff->AXIS_X = value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_Y_L, valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_Y_H, valueH) )
+    return MEMS_ERROR;
+  
+  buff->AXIS_Y = value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_Z_L, valueL) )
+    return MEMS_ERROR;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_OUT_Z_H, valueH) )
+    return MEMS_ERROR;
+  
+  buff->AXIS_Z = value;
+  
+  return MEMS_SUCCESS; 
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetInt1Src
+* Description    : Reset Interrupt 1 Latching function
+* Input          : Char to empty by Int1 source value
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetInt1Src(uint8_t* val) {
+  
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_SRC, val) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetInt1SrcBit
+* Description    : Reset Interrupt 1 Latching function
+* Input          : statusBIT: LIS3DH_INT_SRC_IA, LIS3DH_INT_SRC_ZH, LIS3DH_INT_SRC_ZL.....
+*                  val: Byte to be filled with the status bit
+* Output         : None
+* Return         : Status of BIT [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetInt1SrcBit(uint8_t statusBIT, uint8_t* val) {
+  uint8_t value;  
+   
+  if( !LIS3DH_ReadReg(LIS3DH_INT1_SRC, &value) )
+      return MEMS_ERROR;
+   
+  if(statusBIT == LIS3DH_INT1_SRC_IA){
+    if(value &= LIS3DH_INT1_SRC_IA){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_INT1_SRC_ZH){
+    if(value &= LIS3DH_INT1_SRC_ZH){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_INT1_SRC_ZL){
+    if(value &= LIS3DH_INT1_SRC_ZL){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_INT1_SRC_YH){
+    if(value &= LIS3DH_INT1_SRC_YH){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_INT1_SRC_YL){
+    if(value &= LIS3DH_INT1_SRC_YL){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  if(statusBIT == LIS3DH_INT1_SRC_XH){
+    if(value &= LIS3DH_INT1_SRC_XH){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_INT1_SRC_XL){
+    if(value &= LIS3DH_INT1_SRC_XL){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  return MEMS_ERROR;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetFifoSourceReg
+* Description    : Read Fifo source Register
+* Input          : Byte to empty by FIFO source register value
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetFifoSourceReg(uint8_t* val) {
+  
+  if( !LIS3DH_ReadReg(LIS3DH_FIFO_SRC_REG, val) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetFifoSourceBit
+* Description    : Read Fifo WaterMark source bit
+* Input          : statusBIT: LIS3DH_FIFO_SRC_WTM, LIS3DH_FIFO_SRC_OVRUN, LIS3DH_FIFO_SRC_EMPTY
+*				   val: Byte to fill  with the bit value
+* Output         : None
+* Return         : Status of BIT [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_GetFifoSourceBit(uint8_t statusBIT,  uint8_t* val){
+  uint8_t value;  
+  
+  if( !LIS3DH_ReadReg(LIS3DH_FIFO_SRC_REG, &value) )
+    return MEMS_ERROR;
+  
+  
+  if(statusBIT == LIS3DH_FIFO_SRC_WTM){
+    if(value &= LIS3DH_FIFO_SRC_WTM){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  
+  if(statusBIT == LIS3DH_FIFO_SRC_OVRUN){
+    if(value &= LIS3DH_FIFO_SRC_OVRUN){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  if(statusBIT == LIS3DH_FIFO_SRC_EMPTY){
+    if(value &= statusBIT == LIS3DH_FIFO_SRC_EMPTY){     
+      *val = MEMS_SET;
+      return MEMS_SUCCESS;
+    }
+    else{  
+      *val = MEMS_RESET;
+      return MEMS_SUCCESS;
+    }  
+  }
+  return MEMS_ERROR;
+}
+
+
+/*******************************************************************************
+* Function Name  : LIS3DH_GetFifoSourceFSS
+* Description    : Read current number of unread samples stored in FIFO
+* Input          : Byte to empty by FIFO unread sample value
+* Output         : None
+* Return         : Status [value of FSS]
+*******************************************************************************/
+status_t LIS3DH_GetFifoSourceFSS(uint8_t* val){
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_FIFO_SRC_REG, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0x1F;
+  
+  *val = value;
+  
+  return MEMS_SUCCESS;
+}
+
+      
+/*******************************************************************************
+* Function Name  : LIS3DH_SetSPIInterface
+* Description    : Set SPI mode: 3 Wire Interface OR 4 Wire Interface
+* Input          : LIS3DH_SPI_3_WIRE, LIS3DH_SPI_4_WIRE
+* Output         : None
+* Return         : Status [MEMS_ERROR, MEMS_SUCCESS]
+*******************************************************************************/
+status_t LIS3DH_SetSPIInterface(LIS3DH_SPIMode_t spi) {
+  uint8_t value;
+  
+  if( !LIS3DH_ReadReg(LIS3DH_CTRL_REG4, &value) )
+    return MEMS_ERROR;
+  
+  value &= 0xFE;
+  value |= spi<<LIS3DH_SIM;
+  
+  if( !LIS3DH_WriteReg(LIS3DH_CTRL_REG4, value) )
+    return MEMS_ERROR;
+  
+  return MEMS_SUCCESS;
+}
+/******************* (C) COPYRIGHT 2012 STMicroelectronics *****END OF FILE****/
+
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/lis3dh_driver.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/lis3dh_driver.h"
new file mode 100644
index 0000000..49cdbae
--- /dev/null
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/lis3dh_driver.h"
@@ -0,0 +1,569 @@
+/******************** (C) COPYRIGHT 2012 STMicroelectronics ********************
+* File Name          : lis3dh_driver.h
+* Author             : MSH Application Team
+* Author             : Abhishek Anand, Fabio Tota
+* Version            : $Revision:$
+* Date               : $Date:$
+* Description        : Descriptor Header for lis3dh_driver.c driver file
+*
+* HISTORY:
+* Date        | Modification                                | Author
+* 24/06/2011  | Initial Revision                            | Fabio Tota
+* 07/06/2012  | Support for multiple drivers in the same program | Abhishek Anand
+*
+********************************************************************************
+* THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+* WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
+* AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
+* INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
+* CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
+* INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+*
+* THIS SOFTWARE IS SPECIFICALLY DESIGNED FOR EXCLUSIVE USE WITH ST PARTS.
+*
+*******************************************************************************/
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __LIS3DH_DRIVER__H
+#define __LIS3DH_DRIVER__H
+
+/* Includes ------------------------------------------------------------------*/
+/* Exported types ------------------------------------------------------------*/
+#include "math.h"
+#include "stdint.h"
+
+//#define BITBAND(addr, bitnum) ((addr & 0xF0000000)+0x2000000+((addr &0xFFFFF)<<5)+(bitnum<<2)) 
+//#define MEM_ADDR(addr)  *((volatile unsigned long  *)(addr)) 
+//#define BIT_ADDR(addr, bitnum)   MEM_ADDR(BITBAND(addr, bitnum)) 
+//#define GPIOA_ODR_Addr    (GPIOA_BASE+0x14) //0x4001080C 
+//#define GPIOA_IDR_Addr    (GPIOA_BASE+0x10) //0x40010808 
+
+//#define PAout(n)   BIT_ADDR(GPIOA_ODR_Addr,n)  //输出 
+//#define PAin(n)    BIT_ADDR(GPIOA_IDR_Addr,n)  //输入 
+
+////IO操作函数	 
+//#define IIC2_SCL    PAout(2) //SCL
+//#define IIC2_SDA    PAout(3) //SDA	 
+//#define IIC2_READ_SDA   PAin(3)  //输入SDA 
+#define SDA_Pin     GPIO_Pin_13 
+#define SCL_Pin     GPIO_Pin_12 
+
+#define IIC2_READ_SDA GPIO_ReadInputDataBit(GPIOB, SDA_Pin)
+#define SDA_1   GPIO_SetBits(GPIOB, SDA_Pin)
+#define SCL_1	GPIO_SetBits(GPIOB, SCL_Pin)
+
+#define SDA_0       GPIO_ResetBits(GPIOB, SDA_Pin)
+#define SCL_0	    GPIO_ResetBits(GPIOB, SCL_Pin)
+//IIC所有操作函数
+void IIC2_Init(void);					//初始化IIC的IO口	
+uint8_t LIS3DH_WriteReg(uint8_t WriteAddr, uint8_t Data);	 
+void IIC2_Start(void);				//发送IIC开始信号
+void IIC2_Stop(void);	  			//发送IIC停止信号
+void IIC2_Send_Byte(uint8_t txd);			//IIC发送一个字节
+uint8_t IIC2_Read_Byte(unsigned char ack);//IIC读取一个字节
+uint8_t IIC2_Wait_Ack(void); 				//IIC等待ACK信号
+void IIC2_Ack(void);					//IIC发送ACK信号
+void IIC2_NAck(void);				//IIC不发送ACK信号
+float drv_lis2dh12_get_angle(void);
+//these could change accordingly with the architecture
+void LIS3DH_Data_Init(void);	
+void LIS3DH_ENTER_STY_Init();
+		//初始化,并操作	
+#ifndef __ARCHDEP__TYPES
+#define __ARCHDEP__TYPES
+
+//为兼容HAL_Cube库,使用统一命名
+//typedef unsigned char uint8_t;
+//typedef unsigned short int uint16_t;
+//typedef short int int16_t;
+//typedef signed char int8_t;
+
+
+
+
+#endif /*__ARCHDEP__TYPES*/
+
+typedef uint8_t LIS3DH_IntPinConf_t;
+typedef uint8_t LIS3DH_Axis_t;
+typedef uint8_t LIS3DH_Int1Conf_t;
+
+
+//define structure
+#ifndef __SHARED__TYPES
+#define __SHARED__TYPES
+
+typedef enum {
+  MEMS_SUCCESS				=		0x01,
+  MEMS_ERROR				=		0x00	
+} status_t;
+
+typedef enum {
+  MEMS_ENABLE				=		0x01,
+  MEMS_DISABLE				=		0x00	
+} State_t;
+
+typedef struct {
+  int16_t AXIS_X;
+  int16_t AXIS_Y;
+  int16_t AXIS_Z;
+} AxesRaw_t;
+
+#endif /*__SHARED__TYPES*/
+
+typedef enum {  
+  LIS3DH_ODR_1Hz		        =		0x01,		
+  LIS3DH_ODR_10Hz                      =		0x02,
+  LIS3DH_ODR_25Hz		        =		0x03,
+  LIS3DH_ODR_50Hz		        =		0x04,
+  LIS3DH_ODR_100Hz		        =		0x05,	
+  LIS3DH_ODR_200Hz		        =		0x06,
+  LIS3DH_ODR_400Hz		        =		0x07,
+  LIS3DH_ODR_1620Hz_LP		        =		0x08,
+  LIS3DH_ODR_1344Hz_NP_5367HZ_LP       =		0x09	
+} LIS3DH_ODR_t;
+
+typedef enum {
+  LIS3DH_POWER_DOWN                    =		0x00,
+  LIS3DH_LOW_POWER 			=		0x01,
+  LIS3DH_NORMAL			=		0x02
+} LIS3DH_Mode_t;
+
+typedef enum {
+  LIS3DH_HPM_NORMAL_MODE_RES           =               0x00,
+  LIS3DH_HPM_REF_SIGNAL                =               0x01,
+  LIS3DH_HPM_NORMAL_MODE               =               0x02,
+  LIS3DH_HPM_AUTORESET_INT             =               0x03
+} LIS3DH_HPFMode_t;
+
+typedef enum {
+  LIS3DH_HPFCF_0                       =               0x00,
+  LIS3DH_HPFCF_1                       =               0x01,
+  LIS3DH_HPFCF_2                       = 		0x02,
+  LIS3DH_HPFCF_3                       =               0x03
+} LIS3DH_HPFCutOffFreq_t;
+
+typedef struct {
+  uint16_t AUX_1;
+  uint16_t AUX_2;
+  uint16_t AUX_3;
+} LIS3DH_Aux123Raw_t;
+
+typedef enum {
+  LIS3DH_FULLSCALE_2                   =               0x00,
+  LIS3DH_FULLSCALE_4                   =               0x01,
+  LIS3DH_FULLSCALE_8                   =               0x02,
+  LIS3DH_FULLSCALE_16                  =               0x03
+} LIS3DH_Fullscale_t;
+
+typedef enum {
+  LIS3DH_BLE_LSB			=		0x00,
+  LIS3DH_BLE_MSB			=		0x01
+} LIS3DH_Endianess_t;
+
+typedef enum {
+  LIS3DH_SELF_TEST_DISABLE             =               0x00,
+  LIS3DH_SELF_TEST_0                   =               0x01,
+  LIS3DH_SELF_TEST_1                   =               0x02
+} LIS3DH_SelfTest_t;
+
+typedef enum {
+  LIS3DH_FIFO_BYPASS_MODE              =               0x00,
+  LIS3DH_FIFO_MODE                     =               0x01,
+  LIS3DH_FIFO_STREAM_MODE              =               0x02,
+  LIS3DH_FIFO_TRIGGER_MODE             =               0x03,
+  LIS3DH_FIFO_DISABLE                  =               0x04
+} LIS3DH_FifoMode_t;
+
+typedef enum {
+  LIS3DH_TRIG_INT1                     =		0x00,
+  LIS3DH_TRIG_INT2 			=		0x01
+} LIS3DH_TrigInt_t;
+
+typedef enum {
+  LIS3DH_SPI_4_WIRE                    =               0x00,
+  LIS3DH_SPI_3_WIRE                    =               0x01
+} LIS3DH_SPIMode_t;
+
+typedef enum {
+  LIS3DH_X_ENABLE                      =               0x01,
+  LIS3DH_X_DISABLE                     =               0x00,
+  LIS3DH_Y_ENABLE                      =               0x02,
+  LIS3DH_Y_DISABLE                     =               0x00,
+  LIS3DH_Z_ENABLE                      =               0x04,
+  LIS3DH_Z_DISABLE                     =               0x00    
+} LIS3DH_AXISenable_t;
+
+typedef enum {
+  LIS3DH_INT1_6D_4D_DISABLE            =               0x00,
+  LIS3DH_INT1_6D_ENABLE                =               0x01,
+  LIS3DH_INT1_4D_ENABLE                =               0x02 
+} LIS3DH_INT_6D_4D_t;
+
+typedef enum {
+  LIS3DH_UP_SX                         =               0x44,
+  LIS3DH_UP_DX                         =               0x42,
+  LIS3DH_DW_SX                         =               0x41,
+  LIS3DH_DW_DX                         =               0x48,
+  LIS3DH_TOP                           =               0x60,
+  LIS3DH_BOTTOM                        =               0x50
+} LIS3DH_POSITION_6D_t;
+
+typedef enum {
+  LIS3DH_INT_MODE_OR                   =               0x00,
+  LIS3DH_INT_MODE_6D_MOVEMENT          =               0x01,
+  LIS3DH_INT_MODE_AND                  =               0x02,
+  LIS3DH_INT_MODE_6D_POSITION          =               0x03  
+} LIS3DH_Int1Mode_t;
+
+
+//interrupt click response
+//  b7 = don't care   b6 = IA  b5 = DClick  b4 = Sclick  b3 = Sign  
+//  b2 = z      b1 = y     b0 = x
+typedef enum {
+LIS3DH_DCLICK_Z_P                      =               0x24,
+LIS3DH_DCLICK_Z_N                      =               0x2C,
+LIS3DH_SCLICK_Z_P                      =               0x14,
+LIS3DH_SCLICK_Z_N                      =               0x1C,
+LIS3DH_DCLICK_Y_P                      =               0x22,
+LIS3DH_DCLICK_Y_N                      =               0x2A,
+LIS3DH_SCLICK_Y_P                      =               0x12,
+LIS3DH_SCLICK_Y_N			=		0x1A,
+LIS3DH_DCLICK_X_P                      =               0x21,
+LIS3DH_DCLICK_X_N                      =               0x29,
+LIS3DH_SCLICK_X_P                      =               0x11,
+LIS3DH_SCLICK_X_N                      =               0x19,
+LIS3DH_NO_CLICK                        =               0x00
+} LIS3DH_Click_Response; 
+
+//TODO: start from here and manage the shared macros etc before this
+
+/* Exported constants --------------------------------------------------------*/
+
+#ifndef __SHARED__CONSTANTS
+#define __SHARED__CONSTANTS
+
+#define MEMS_SET                                        0x01
+#define MEMS_RESET                                      0x00
+
+#endif /*__SHARED__CONSTANTS*/
+
+
+//Register Definition
+#define LIS3DH_WHO_AM_I				0x0F  // device identification register
+
+// CONTROL REGISTER 1
+#define LIS3DH_CTRL_REG1				0x20
+#define LIS3DH_ODR_BIT				        BIT(4)
+#define LIS3DH_LPEN					BIT(3)
+#define LIS3DH_ZEN					BIT(2)
+#define LIS3DH_YEN					BIT(1)
+#define LIS3DH_XEN					BIT(0)
+
+//CONTROL REGISTER 2
+#define LIS3DH_CTRL_REG2				0x21
+#define LIS3DH_HPM     				BIT(6)
+#define LIS3DH_HPCF					BIT(4)
+#define LIS3DH_FDS					BIT(3)
+#define LIS3DH_HPCLICK					BIT(2)
+#define LIS3DH_HPIS2					BIT(1)
+#define LIS3DH_HPIS1					BIT(0)
+
+//CONTROL REGISTER 3
+#define LIS3DH_CTRL_REG3				0x22
+#define LIS3DH_I1_CLICK				BIT(7)
+#define LIS3DH_I1_AOI1					BIT(6)
+#define LIS3DH_I1_AOI2				        BIT(5)
+#define LIS3DH_I1_DRDY1				BIT(4)
+#define LIS3DH_I1_DRDY2				BIT(3)
+#define LIS3DH_I1_WTM					BIT(2)
+#define LIS3DH_I1_ORUN					BIT(1)
+
+//CONTROL REGISTER 6
+#define LIS3DH_CTRL_REG6				0x25
+#define LIS3DH_I2_CLICK				BIT(7)
+#define LIS3DH_I2_INT1					BIT(6)
+#define LIS3DH_I2_BOOT         			BIT(4)
+#define LIS3DH_H_LACTIVE				BIT(1)
+
+//TEMPERATURE CONFIG REGISTER
+#define LIS3DH_TEMP_CFG_REG				0x1F
+#define LIS3DH_ADC_PD				        BIT(7)
+#define LIS3DH_TEMP_EN					BIT(6)
+
+//CONTROL REGISTER 4
+#define LIS3DH_CTRL_REG4				0x23
+#define LIS3DH_BDU					BIT(7)
+#define LIS3DH_BLE					BIT(6)
+#define LIS3DH_FS					BIT(4)
+#define LIS3DH_HR					BIT(3)
+#define LIS3DH_ST       				BIT(1)
+#define LIS3DH_SIM					BIT(0)
+
+//CONTROL REGISTER 5
+#define LIS3DH_CTRL_REG5				0x24
+#define LIS3DH_BOOT                                    BIT(7)
+#define LIS3DH_FIFO_EN                                 BIT(6)
+#define LIS3DH_LIR_INT1                                BIT(3)
+#define LIS3DH_D4D_INT1                                BIT(2)
+
+//REFERENCE/DATA_CAPTURE
+#define LIS3DH_REFERENCE_REG		                0x26
+#define LIS3DH_REF		                	BIT(0)
+
+//STATUS_REG_AXIES
+#define LIS3DH_STATUS_REG				0x27
+#define LIS3DH_ZYXOR                                   BIT(7)
+#define LIS3DH_ZOR                                     BIT(6)
+#define LIS3DH_YOR                                     BIT(5)
+#define LIS3DH_XOR                                     BIT(4)
+#define LIS3DH_ZYXDA                                   BIT(3)
+#define LIS3DH_ZDA                                     BIT(2)
+#define LIS3DH_YDA                                     BIT(1)
+#define LIS3DH_XDA                                     BIT(0)
+
+//STATUS_REG_AUX
+#define LIS3DH_STATUS_AUX				0x07
+
+//INTERRUPT 1 CONFIGURATION
+#define LIS3DH_INT1_CFG				0x30
+#define LIS3DH_ANDOR                                   BIT(7)
+#define LIS3DH_INT_6D                                  BIT(6)
+#define LIS3DH_ZHIE                                    BIT(5)
+#define LIS3DH_ZLIE                                    BIT(4)
+#define LIS3DH_YHIE                                    BIT(3)
+#define LIS3DH_YLIE                                    BIT(2)
+#define LIS3DH_XHIE                                    BIT(1)
+#define LIS3DH_XLIE                                    BIT(0)
+
+//FIFO CONTROL REGISTER
+#define LIS3DH_FIFO_CTRL_REG                           0x2E
+#define LIS3DH_FM                                      BIT(6)
+#define LIS3DH_TR                                      BIT(5)
+#define LIS3DH_FTH                                     BIT(0)
+
+//CONTROL REG3 bit mask
+#define LIS3DH_CLICK_ON_PIN_INT1_ENABLE                0x80
+#define LIS3DH_CLICK_ON_PIN_INT1_DISABLE               0x00
+#define LIS3DH_I1_INT1_ON_PIN_INT1_ENABLE              0x40
+#define LIS3DH_I1_INT1_ON_PIN_INT1_DISABLE             0x00
+#define LIS3DH_I1_INT2_ON_PIN_INT1_ENABLE              0x20
+#define LIS3DH_I1_INT2_ON_PIN_INT1_DISABLE             0x00
+#define LIS3DH_I1_DRDY1_ON_INT1_ENABLE                 0x10
+#define LIS3DH_I1_DRDY1_ON_INT1_DISABLE                0x00
+#define LIS3DH_I1_DRDY2_ON_INT1_ENABLE                 0x08
+#define LIS3DH_I1_DRDY2_ON_INT1_DISABLE                0x00
+#define LIS3DH_WTM_ON_INT1_ENABLE                      0x04
+#define LIS3DH_WTM_ON_INT1_DISABLE                     0x00
+#define LIS3DH_INT1_OVERRUN_ENABLE                     0x02
+#define LIS3DH_INT1_OVERRUN_DISABLE                    0x00
+
+//CONTROL REG6 bit mask
+#define LIS3DH_CLICK_ON_PIN_INT2_ENABLE                0x80
+#define LIS3DH_CLICK_ON_PIN_INT2_DISABLE               0x00
+#define LIS3DH_I2_INT1_ON_PIN_INT2_ENABLE              0x40
+#define LIS3DH_I2_INT1_ON_PIN_INT2_DISABLE             0x00
+#define LIS3DH_I2_INT2_ON_PIN_INT2_ENABLE              0x20
+#define LIS3DH_I2_INT2_ON_PIN_INT2_DISABLE             0x00
+#define LIS3DH_I2_BOOT_ON_INT2_ENABLE                  0x10
+#define LIS3DH_I2_BOOT_ON_INT2_DISABLE                 0x00
+#define LIS3DH_INT_ACTIVE_HIGH                         0x00
+#define LIS3DH_INT_ACTIVE_LOW                          0x02
+
+//INT1_CFG bit mask
+#define LIS3DH_INT1_AND                                0x80
+#define LIS3DH_INT1_OR                                 0x00
+#define LIS3DH_INT1_ZHIE_ENABLE                        0x20
+#define LIS3DH_INT1_ZHIE_DISABLE                       0x00
+#define LIS3DH_INT1_ZLIE_ENABLE                        0x10
+#define LIS3DH_INT1_ZLIE_DISABLE                       0x00
+#define LIS3DH_INT1_YHIE_ENABLE                        0x08
+#define LIS3DH_INT1_YHIE_DISABLE                       0x00
+#define LIS3DH_INT1_YLIE_ENABLE                        0x04
+#define LIS3DH_INT1_YLIE_DISABLE                       0x00
+#define LIS3DH_INT1_XHIE_ENABLE                        0x02
+#define LIS3DH_INT1_XHIE_DISABLE                       0x00
+#define LIS3DH_INT1_XLIE_ENABLE                        0x01
+#define LIS3DH_INT1_XLIE_DISABLE                       0x00
+
+//INT1_SRC bit mask
+#define LIS3DH_INT1_SRC_IA                             0x40
+#define LIS3DH_INT1_SRC_ZH                             0x20
+#define LIS3DH_INT1_SRC_ZL                             0x10
+#define LIS3DH_INT1_SRC_YH                             0x08
+#define LIS3DH_INT1_SRC_YL                             0x04
+#define LIS3DH_INT1_SRC_XH                             0x02
+#define LIS3DH_INT1_SRC_XL                             0x01
+
+//INT1 REGISTERS
+#define LIS3DH_INT1_THS                                0x32
+#define LIS3DH_INT1_DURATION                           0x33
+
+//INTERRUPT 1 SOURCE REGISTER
+#define LIS3DH_INT1_SRC				0x31
+
+//FIFO Source Register bit Mask
+#define LIS3DH_FIFO_SRC_WTM                            0x80
+#define LIS3DH_FIFO_SRC_OVRUN                          0x40
+#define LIS3DH_FIFO_SRC_EMPTY                          0x20
+  
+//INTERRUPT CLICK REGISTER
+#define LIS3DH_CLICK_CFG				0x38
+//INTERRUPT CLICK CONFIGURATION bit mask
+#define LIS3DH_ZD_ENABLE                               0x20
+#define LIS3DH_ZD_DISABLE                              0x00
+#define LIS3DH_ZS_ENABLE                               0x10
+#define LIS3DH_ZS_DISABLE                              0x00
+#define LIS3DH_YD_ENABLE                               0x08
+#define LIS3DH_YD_DISABLE                              0x00
+#define LIS3DH_YS_ENABLE                               0x04
+#define LIS3DH_YS_DISABLE                              0x00
+#define LIS3DH_XD_ENABLE                               0x02
+#define LIS3DH_XD_DISABLE                              0x00
+#define LIS3DH_XS_ENABLE                               0x01
+#define LIS3DH_XS_DISABLE                              0x00
+
+//INTERRUPT CLICK SOURCE REGISTER
+#define LIS3DH_CLICK_SRC                               0x39
+//INTERRUPT CLICK SOURCE REGISTER bit mask
+#define LIS3DH_IA                                      0x40
+#define LIS3DH_DCLICK                                  0x20
+#define LIS3DH_SCLICK                                  0x10
+#define LIS3DH_CLICK_SIGN                              0x08
+#define LIS3DH_CLICK_Z                                 0x04
+#define LIS3DH_CLICK_Y                                 0x02
+#define LIS3DH_CLICK_X                                 0x01
+
+//Click-click Register
+#define LIS3DH_CLICK_THS                               0x3A
+#define LIS3DH_TIME_LIMIT                              0x3B
+#define LIS3DH_TIME_LATENCY                            0x3C
+#define LIS3DH_TIME_WINDOW                             0x3D
+
+//OUTPUT REGISTER
+#define LIS3DH_OUT_X_L					0x28
+#define LIS3DH_OUT_X_H					0x29
+#define LIS3DH_OUT_Y_L					0x2A
+#define LIS3DH_OUT_Y_H					0x2B
+#define LIS3DH_OUT_Z_L					0x2C
+#define LIS3DH_OUT_Z_H					0x2D
+
+//AUX REGISTER
+#define LIS3DH_OUT_1_L					0x08
+#define LIS3DH_OUT_1_H					0x09
+#define LIS3DH_OUT_2_L					0x0A
+#define LIS3DH_OUT_2_H					0x0B
+#define LIS3DH_OUT_3_L					0x0C
+#define LIS3DH_OUT_3_H					0x0D
+
+//STATUS REGISTER bit mask
+#define LIS3DH_STATUS_REG_ZYXOR                        0x80    // 1	:	new data set has over written the previous one
+							// 0	:	no overrun has occurred (default)	
+#define LIS3DH_STATUS_REG_ZOR                          0x40    // 0	:	no overrun has occurred (default)
+							// 1	:	new Z-axis data has over written the previous one
+#define LIS3DH_STATUS_REG_YOR                          0x20    // 0	:	no overrun has occurred (default)
+							// 1	:	new Y-axis data has over written the previous one
+#define LIS3DH_STATUS_REG_XOR                          0x10    // 0	:	no overrun has occurred (default)
+							// 1	:	new X-axis data has over written the previous one
+#define LIS3DH_STATUS_REG_ZYXDA                        0x08    // 0	:	a new set of data is not yet avvious one
+                                                        // 1	:	a new set of data is available 
+#define LIS3DH_STATUS_REG_ZDA                          0x04    // 0	:	a new data for the Z-Axis is not availvious one
+                                                        // 1	:	a new data for the Z-Axis is available
+#define LIS3DH_STATUS_REG_YDA                          0x02    // 0	:	a new data for the Y-Axis is not available
+                                                        // 1	:	a new data for the Y-Axis is available
+#define LIS3DH_STATUS_REG_XDA                          0x01    // 0	:	a new data for the X-Axis is not available
+
+#define LIS3DH_DATAREADY_BIT                           LIS3DH_STATUS_REG_ZYXDA
+
+
+//STATUS AUX REGISTER bit mask
+#define LIS3DH_STATUS_AUX_321OR                         0x80
+#define LIS3DH_STATUS_AUX_3OR                           0x40
+#define LIS3DH_STATUS_AUX_2OR                           0x20
+#define LIS3DH_STATUS_AUX_1OR                           0x10
+#define LIS3DH_STATUS_AUX_321DA                         0x08
+#define LIS3DH_STATUS_AUX_3DA                           0x04
+#define LIS3DH_STATUS_AUX_2DA                           0x02
+#define LIS3DH_STATUS_AUX_1DA                           0x01
+
+#define LIS3DH_MEMS_I2C_ADDRESS			        0x33
+
+//FIFO REGISTERS
+#define LIS3DH_FIFO_CTRL_REG			        0x2E
+#define LIS3DH_FIFO_SRC_REG			        0x2F
+
+
+/* Exported macro ------------------------------------------------------------*/
+
+#ifndef __SHARED__MACROS
+
+#define __SHARED__MACROS
+#define ValBit(VAR,Place)         (VAR & (1<<Place))
+#define BIT(x) ( (x) )
+
+#endif /*__SHARED__MACROS*/
+
+/* Exported functions --------------------------------------------------------*/
+//Sensor Configuration Functions
+status_t LIS3DH_SetODR(LIS3DH_ODR_t ov);
+status_t LIS3DH_SetMode(LIS3DH_Mode_t md);
+status_t LIS3DH_SetAxis(LIS3DH_Axis_t axis);
+status_t LIS3DH_SetFullScale(LIS3DH_Fullscale_t fs);
+status_t LIS3DH_SetBDU(State_t bdu);
+status_t LIS3DH_SetBLE(LIS3DH_Endianess_t ble);
+status_t LIS3DH_SetSelfTest(LIS3DH_SelfTest_t st);
+status_t LIS3DH_SetTemperature(State_t state);
+status_t LIS3DH_SetADCAux(State_t state);
+
+//Filtering Functions
+status_t LIS3DH_HPFClickEnable(State_t hpfe);
+status_t LIS3DH_HPFAOI1Enable(State_t hpfe);
+status_t LIS3DH_HPFAOI2Enable(State_t hpfe);
+status_t LIS3DH_SetHPFMode(LIS3DH_HPFMode_t hpf);
+status_t LIS3DH_SetHPFCutOFF(LIS3DH_HPFCutOffFreq_t hpf);
+status_t LIS3DH_SetFilterDataSel(State_t state);
+
+//Interrupt Functions
+status_t LIS3DH_SetInt1Pin(LIS3DH_IntPinConf_t pinConf);
+status_t LIS3DH_SetInt2Pin(LIS3DH_IntPinConf_t pinConf);
+status_t LIS3DH_Int1LatchEnable(State_t latch);
+status_t LIS3DH_ResetInt1Latch(void);
+status_t LIS3DH_SetIntConfiguration(LIS3DH_Int1Conf_t ic);
+status_t LIS3DH_SetInt1Threshold(uint8_t ths);
+status_t LIS3DH_SetInt1Duration(LIS3DH_Int1Conf_t id);
+status_t LIS3DH_SetIntMode(LIS3DH_Int1Mode_t ic);
+status_t LIS3DH_SetClickCFG(uint8_t status);
+status_t LIS3DH_SetInt6D4DConfiguration(LIS3DH_INT_6D_4D_t ic);
+status_t LIS3DH_GetInt1Src(uint8_t* val);
+status_t LIS3DH_GetInt1SrcBit(uint8_t statusBIT, uint8_t* val);
+
+//FIFO Functions
+status_t LIS3DH_FIFOModeEnable(LIS3DH_FifoMode_t fm);
+status_t LIS3DH_SetWaterMark(uint8_t wtm);
+status_t LIS3DH_SetTriggerInt(LIS3DH_TrigInt_t tr);
+status_t LIS3DH_GetFifoSourceReg(uint8_t* val);
+status_t LIS3DH_GetFifoSourceBit(uint8_t statusBIT, uint8_t* val);
+status_t LIS3DH_GetFifoSourceFSS(uint8_t* val);
+
+//Other Reading Functions
+status_t LIS3DH_GetStatusReg(uint8_t* val);
+status_t LIS3DH_GetStatusBit(uint8_t statusBIT, uint8_t* val);
+status_t LIS3DH_GetStatusAUXBit(uint8_t statusBIT, uint8_t* val);
+status_t LIS3DH_GetStatusAUX(uint8_t* val);
+status_t LIS3DH_GetAccAxesRaw(AxesRaw_t* buff);
+status_t LIS3DH_GetAuxRaw(LIS3DH_Aux123Raw_t* buff);
+status_t LIS3DH_GetClickResponse(uint8_t* val);
+status_t LIS3DH_GetTempRaw(int8_t* val);
+status_t LIS3DH_GetWHO_AM_I(uint8_t* val);
+status_t LIS3DH_Get6DPosition(uint8_t* val);
+
+//Generic
+// i.e. uint8_t LIS3DH_ReadReg(uint8_t Reg, uint8_t* Data);
+// i.e. uint8_t LIS3DH_WriteReg(uint8_t Reg, uint8_t Data);
+
+
+#endif /* __LIS3DH_H */
+
+/******************* (C) COPYRIGHT 2012 STMicroelectronics *****END OF FILE****/
+
+
+
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
index 088b3aa..c9eaf86 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.c"
@@ -165,7 +165,7 @@
 }
 
 u16 tag_time_recv[TAG_NUM_IN_SYS];
-u8 usart_send[100],usart_send_anc[100];
+u8 usart_send[150],usart_send_anc[100];
 u8 battary,button,tag_frequency,tag_slotpos;
 extern uint8_t g_pairstart;
 void tag_sleep_configuraion(void)
@@ -863,8 +863,7 @@
 			dwt_writetxfctrl(sizeof(tx_resp_msg), 0);//设定发送长度
 			result = dwt_starttx(DWT_START_TX_DELAYED | DWT_RESPONSE_EXPECTED);//延迟发送,等待接收
 
-			battary = rx_buffer[BATTARY_IDX];
-			button = rx_buffer[BUTTON_IDX];
+			
 			frame_seq_nb2 = rx_buffer[SEQUENCE_IDX];
 			if(result==0)
 			{
@@ -988,11 +987,6 @@
 
 			result = dwt_starttx(DWT_START_TX_DELAYED | DWT_RESPONSE_EXPECTED);//延迟发送,等待接收
 
-			battary = rx_buffer[BATTARY_IDX];
-			button = rx_buffer[BUTTON_IDX];
-			frame_seq_nb2 = rx_buffer[SEQUENCE_IDX];
-			tag_frequency = rx_buffer[NEARP_TAGFREQ_INDEX];
-			tag_slotpos = rx_buffer[NEARP_TAGSLOTPOS_INDEX];
 			if(result==0)
 			{
 				while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR))&&!g_start_sync_flag)///不断查询芯片状态直到接收成功或者出现错误
@@ -1074,7 +1068,7 @@
 					usart_send[18] = tag_slotpos;
 					checksum = Checksum_u16(&usart_send[2],17);
 					memcpy(&usart_send[19],&checksum,2);
-					UART_PushFrame(usart_send,21);
+				//	UART_PushFrame(usart_send,21);
 				#else		
 					memcpy(&usart_send_anc[4+6*anc_report_num],&tag_id_recv,2);
 					memcpy(&usart_send_anc[6+6*anc_report_num],&tagdist_list[taglist_pos],4);
@@ -1108,12 +1102,15 @@
 				dwt_write32bitreg(SYS_STATUS_ID, SYS_STATUS_ALL_RX_ERR);
 			}
 }
-
+extern int32_t intheight;
 extern u16 synclost_count;
 uint32_t current_syncid=0xffffffff,synclost_timer;
 extern u8 flag_syncbase,waitsync_flag;
 u8 tagpos_rec[50],tagpos_send[50],ancidlist_num;
 u16 ancidlist_rec[20],ancidlist_send[20];
+u16 recnearbaselist_id[30];
+int32_t recnearbaselist_dist[30];
+int16_t rec_tagheight;
 void Anchor_App(void)
 {
 	
@@ -1218,7 +1215,8 @@
 		}
 		break;
 			case NEAR_POLL:		
-		//	GPIO_WriteBit(GPIOB, GPIO_Pin_10, Bit_SET);					
+		//	GPIO_WriteBit(GPIOB, GPIO_Pin_10, Bit_SET);	
+               
 				memcpy(&tag_id_recv,&rx_buffer[TAG_ID_IDX],2);
 				taglist_pos=CmpTagInList(tag_id_recv);
 				if(taglist_pos==taglist_num)
@@ -1231,10 +1229,42 @@
 					new_tagid=0;
 				}
 				tagofflinetime[taglist_pos]=0;
-		    temp_tagpos=round((float)(sync_timer%g_com_map[COM_INTERVAL])/slottime);
+                temp_tagpos=round((float)(sync_timer%g_com_map[COM_INTERVAL])/slottime);
 				tagpos_rec[(u8)temp_tagpos]=1;
 				rec_nearbase_num=rx_buffer[NEARBASENUM_INDEX];
-			
+                battary = rx_buffer[BATTARY_IDX];
+                button = rx_buffer[BUTTON_IDX];
+                frame_seq_nb2 = rx_buffer[SEQUENCE_IDX];
+			tag_frequency = rx_buffer[NEARP_TAGFREQ_INDEX];
+			tag_slotpos = rx_buffer[NEARP_TAGSLOTPOS_INDEX];
+      ////////////////基站汇总模式数据          
+                memcpy(&rec_tagheight,&rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*6+4],2);
+                memcpy(&recnearbaselist_id,&rx_buffer[NEARBASEID_INDEX],rec_nearbase_num*2);
+                memcpy(&recnearbaselist_dist,&rx_buffer[NEARBASEID_INDEX+rec_nearbase_num*2],rec_nearbase_num*4+4);
+                usart_send[2] = 0x0c;//正常模式 
+					usart_send[3] = 15+8*(rec_nearbase_num+1);//数据段长度
+					memcpy(&usart_send[4],&tag_id_recv,2);
+                    usart_send[6] = rx_buffer[SEQUENCE_IDX];
+                    usart_send[7] = rx_buffer[SEQUENCEH_IDX];
+					usart_send[8] = battary;
+                    usart_send[9] = button;
+                    memcpy(&usart_send[10],&rec_tagheight,2);
+					usart_send[12] = tag_frequency;
+                    usart_send[13] = tag_slotpos;
+                    usart_send[14] = 0;
+                    usart_send[15] = 0;
+					usart_send[16] = rec_nearbase_num+1;
+                    memcpy(&usart_send[17],&anc_id_recv,2);
+                    memcpy(&usart_send[19],&recnearbaselist_id,2*rec_nearbase_num);
+                    memcpy(&usart_send[19+rec_nearbase_num*2],&recnearbaselist_dist,4*rec_nearbase_num+4);
+					
+					checksum = Checksum_u16(&usart_send[2],23+8*rec_nearbase_num);
+					memcpy(&usart_send[25+8*rec_nearbase_num],&checksum,2);
+					UART_PushFrame(usart_send,27+8*rec_nearbase_num);
+
+    //////////////////////////////////////////////////////////////            
+                
+                
 GPIO_WriteBit(GPIOB, GPIO_Pin_10, Bit_SET);	
 			if(anc_id_recv==dev_id)
 			{
@@ -1259,7 +1289,8 @@
 //						seize_anchor=1;   //抢占anchor
 //						Anchor_RecNearPoll(i);	
 //					}
-
+//                    if(tag_id_recv==0x4008)
+//                    printf("标签高度: %d,基站高度: %d,高度差: %d. \r\n",rec_tagheight,intheight,intheight-rec_tagheight);
 				
 				break;
 			 default:
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h"
index 411bd5b..60791e3 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/dw_app.h"
@@ -114,6 +114,7 @@
 #define SEQUENCE_IDX					3
 #define BATTARY_IDX						4
 #define BUTTON_IDX						7
+#define SEQUENCEH_IDX					8
 #define NEARP_TAGFREQ_INDEX  10
 #define NEARP_TAGSLOTPOS_INDEX  12
 //REG RESPONSE
@@ -136,7 +137,7 @@
 extern uint32_t g_UWB_com_interval;
 extern float dis_after_filter;
 extern LPFilter_Frac* p_Dis_Filter;		//测距用的低通滤波器
-extern u8 usart_send[100],usart_send_anc[100],flag_syncbase,remotesend_state, remotetag_para[30];;
+extern u8 usart_send[150],usart_send_anc[100],flag_syncbase,remotesend_state, remotetag_para[30];;
 
 void IdleTask(void);
 uint16_t Checksum_u16(uint8_t* pdata, uint32_t len);
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c"
index e659858..fcace1f 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.c"
@@ -41,7 +41,7 @@
 		g_com_map[NEARSWITCH_DISTANCE_INDEX] = 0;	//默认报警距离50cm
 		g_com_map[ALARM_DISTANCE2] = 0;	//默认报警距离50cm
 		g_com_map[ALARM_DISTANCE3] = 0;	//默认报警距离50cm
-		g_com_map[HEARTBEAT]=0;
+		g_com_map[HEARTBEAT]=1;
 		g_com_map[CNT_RESTART]=0;
 		g_com_map[CNT_REBOOT]=0;
 		g_com_map[CNT_UPDATE]=0;
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
index 8857175..9e0215c 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/main.c"
@@ -94,7 +94,7 @@
 #endif
 	OUT485_ENABLE;
 	ComMapCheck();
-	g_com_map[VERSION] = 0x0210;	
+	g_com_map[VERSION] = 0x0211;	
 	dev_id = g_com_map[DEV_ID];
 	slottime=ceil((double)g_com_map[MAX_REPORT_ANC_NUM]*SLOT_SCALE)+3;
 	max_slotpos=g_com_map[COM_INTERVAL]/slottime;
@@ -136,15 +136,21 @@
  *
  * @return none
  */
+extern float GetPressAndHeight(void);
 extern u16 synclost_count;
+extern float Height;
+int32_t intheight;
 void HeatBeat(void)
 { u16 checksum;
+    GetPressAndHeight();
+    intheight = Height*100+g_com_map[MAX_REPORT_ANC_NUM];
 	if(synclost_count>5)
 	{
 		hbsend[6] = 0;
 	}else{
 		hbsend[6] = 1;
 	}
+   memcpy(&hbsend[7],&intheight,4); 
 checksum = Checksum_u16(&hbsend[2],12);
 memcpy(&hbsend[14],&checksum,2);
 UART_PushFrame(hbsend,16);
@@ -169,19 +175,19 @@
 		if(g_com_map[HEARTBEAT]&&g_com_map[DEV_ROLE]==0)
 		HeatBeat();
 	}
-	if(flag_newsecond)
-	{
-	  flag_newsecond=0;
-		tagpos_binary=0;
-		memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2);
-		ancidlist_num=0;
-		for(u8 i=0;i<max_slotpos;i++)
-		{
-			if(tagpos_rec[i])
-				tagpos_binary|=1<<i;
-			tagpos_rec[i] = 0;
-		}
-	}
+//	if(flag_newsecond)
+//	{
+//	  flag_newsecond=0;
+//		tagpos_binary=0;
+//		memcpy(ancidlist_send,ancidlist_rec,ancidlist_num*2);
+//		ancidlist_num=0;
+//		for(u8 i=0;i<max_slotpos;i++)
+//		{
+//			if(tagpos_rec[i])
+//				tagpos_binary|=1<<i;
+//			tagpos_rec[i] = 0;
+//		}
+//	}
 	if(target_time>1000)
 	{target_time-=1000;}
 	#ifdef USART_INTEGRATE_OUTPUT
@@ -240,6 +246,7 @@
 	Device_Init();
 	Program_Init();
 	Dw1000_Init();
+    BarInit();
   delay_ms(10);	
 	Dw1000_App_Init();
     /* Loop forever initiating ranging exchanges. */

--
Gitblit v1.9.3