From bdad051416564607f0b31df44732e3ea97b7174a Mon Sep 17 00:00:00 2001
From: zhyinch <zhyinch@gmail.com>
Date: 星期日, 25 八月 2019 17:56:12 +0800
Subject: [PATCH] 华星火车项目测试完成

---
 源码/核心板/Src/application/dw_app.h             |   15 
 源码/核心板/Src/application/global_param.c       |   28 
 源码/核心板/Src/main.c                           |   77 +
 源码/核心板/Src/ExternalDevices/beep.h           |    4 
 源码/核心板/Src/application/serial_at_cmd_app.c  |  284 +++-----
 源码/核心板/Src/stm32f10x_it.c                   |   32 
 源码/核心板/MDK-ARM/Project.uvoptx               |    6 
 源码/核心板/Src/application/global_param.h       |   30 
 源码/核心板/MDK-ARM/Project.uvguix.Administrator | 1423 +++++++++++++++++++++++++++++++++++++++++
 源码/核心板/Src/application/dw_app.c             |  131 ++-
 10 files changed, 1,728 insertions(+), 302 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"
new file mode 100644
index 0000000..4931c64
--- /dev/null
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/MDK-ARM/Project.uvguix.Administrator"
@@ -0,0 +1,1423 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<ProjectGui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_guix.xsd">
+
+  <SchemaVersion>-5.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <ViewPool/>
+
+  <SECTreeCtrl>
+    <View>
+      <WinId>38003</WinId>
+      <ViewName>Registers</ViewName>
+      <TableColWidths>115 275</TableColWidths>
+    </View>
+    <View>
+      <WinId>346</WinId>
+      <ViewName>Code Coverage</ViewName>
+      <TableColWidths>370 160</TableColWidths>
+    </View>
+    <View>
+      <WinId>204</WinId>
+      <ViewName>Performance Analyzer</ViewName>
+      <TableColWidths>530</TableColWidths>
+    </View>
+  </SECTreeCtrl>
+
+  <TreeListPane>
+    <View>
+      <WinId>1506</WinId>
+      <ViewName>Symbols</ViewName>
+      <UserString></UserString>
+      <TableColWidths>133 133 133</TableColWidths>
+    </View>
+    <View>
+      <WinId>1936</WinId>
+      <ViewName>Watch 1</ViewName>
+      <UserString></UserString>
+      <TableColWidths>133 133 133</TableColWidths>
+    </View>
+    <View>
+      <WinId>1937</WinId>
+      <ViewName>Watch 2</ViewName>
+      <UserString></UserString>
+      <TableColWidths>133 133 133</TableColWidths>
+    </View>
+    <View>
+      <WinId>1935</WinId>
+      <ViewName>Call Stack + Locals</ViewName>
+      <UserString></UserString>
+      <TableColWidths>133 133 133</TableColWidths>
+    </View>
+    <View>
+      <WinId>2506</WinId>
+      <ViewName>Trace Data</ViewName>
+      <UserString></UserString>
+      <TableColWidths>75 135 130 95 70 230 200 150</TableColWidths>
+    </View>
+  </TreeListPane>
+
+  <WindowSettings>
+    <LogicAnalizer>
+      <ShowLACursor>1</ShowLACursor>
+      <ShowSignalInfo>1</ShowSignalInfo>
+      <ShowCycles>0</ShowCycles>
+      <LeftSideBarSize>0</LeftSideBarSize>
+      <TimeBaseIndex>-1</TimeBaseIndex>
+    </LogicAnalizer>
+  </WindowSettings>
+
+  <WinLayoutEx>
+    <sActiveDebugView></sActiveDebugView>
+    <WindowPosition>
+      <length>44</length>
+      <flags>2</flags>
+      <showCmd>3</showCmd>
+      <MinPosition>
+        <xPos>-32000</xPos>
+        <yPos>-32000</yPos>
+      </MinPosition>
+      <MaxPosition>
+        <xPos>-1</xPos>
+        <yPos>-1</yPos>
+      </MaxPosition>
+      <NormalPosition>
+        <Top>104</Top>
+        <Left>104</Left>
+        <Right>1064</Right>
+        <Bottom>585</Bottom>
+      </NormalPosition>
+    </WindowPosition>
+    <MDIClientArea>
+      <RegID>0</RegID>
+      <MDITabState>
+        <Len>957</Len>
+        <Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000008000000040000000100000041453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C676C6F62616C5F706172616D2E63000000000E676C6F62616C5F706172616D2E6300000000C5D4F200FFFFFFFF46453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C73657269616C5F61745F636D645F6170702E63000000001373657269616C5F61745F636D645F6170702E6300000000D9ADC200FFFFFFFF43453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C626565705F6C6F6769635F6170702E630000000010626565705F6C6F6769635F6170702E6300000000F7B88600FFFFFFFF2D453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6D61696E2E6300000000066D61696E2E63000000009CC1B600FFFFFFFF3B453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C64775F6170702E63000000000864775F6170702E6300000000BCA8E100FFFFFFFF78453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4C69627261726965735C434D5349535C434D335C446576696365537570706F72745C53545C53544D3332463130785C737461727475705C61726D5C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000F0A0A100FFFFFFFF3B453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C6170706C69636174696F6E5C64775F6170702E68000000000864775F6170702E6800000000BECEA100FFFFFFFF3A453A5C4749545C5557425F536D616C6C4D6F64756C655CD4B4C2EB5CBACBD0C4B0E55C5372635C4F6E43686970446576696365735C5370692E6300000000055370692E6300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000094010000660000000005000007020000</Data>
+      </MDITabState>
+    </MDIClientArea>
+    <ViewEx>
+      <ViewType>0</ViewType>
+      <ViewName>Build</ViewName>
+      <Window>
+        <RegID>-1</RegID>
+        <PaneID>-1</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>940100004F000000B0030000B3000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>9401000066000000B0030000CA000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1005</RegID>
+        <PaneID>1005</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>03000000660000008D010000D7010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>109</RegID>
+        <PaneID>109</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>03000000660000008D010000D7010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000F8000000B5010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1465</RegID>
+        <PaneID>1465</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1466</RegID>
+        <PaneID>1466</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1467</RegID>
+        <PaneID>1467</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1468</RegID>
+        <PaneID>1468</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1506</RegID>
+        <PaneID>1506</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>16384</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1913</RegID>
+        <PaneID>1913</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>9701000066000000AD0300009A000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1935</RegID>
+        <PaneID>1935</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1936</RegID>
+        <PaneID>1936</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1937</RegID>
+        <PaneID>1937</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1939</RegID>
+        <PaneID>1939</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1940</RegID>
+        <PaneID>1940</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1941</RegID>
+        <PaneID>1941</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>1942</RegID>
+        <PaneID>1942</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>195</RegID>
+        <PaneID>195</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>03000000660000008D010000D7010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000F8000000B5010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>196</RegID>
+        <PaneID>196</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>03000000660000008D010000D7010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000F8000000B5010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>197</RegID>
+        <PaneID>197</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0000000008020000000500007E020000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>198</RegID>
+        <PaneID>198</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>32768</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>000000003B010000B0030000A7010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>199</RegID>
+        <PaneID>199</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>030000000B020000FD040000AC020000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>203</RegID>
+        <PaneID>203</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>8192</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>9701000066000000AD0300009A000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>204</RegID>
+        <PaneID>204</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>9701000066000000AD0300009A000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>221</RegID>
+        <PaneID>221</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>00000000000000000000000000000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>0A0000000A0000006E0000006E000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>2506</RegID>
+        <PaneID>2506</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>2507</RegID>
+        <PaneID>2507</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>343</RegID>
+        <PaneID>343</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>9701000066000000AD0300009A000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>346</RegID>
+        <PaneID>346</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>9701000066000000AD0300009A000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35824</RegID>
+        <PaneID>35824</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>9701000066000000AD0300009A000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35885</RegID>
+        <PaneID>35885</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35886</RegID>
+        <PaneID>35886</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35887</RegID>
+        <PaneID>35887</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35888</RegID>
+        <PaneID>35888</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35889</RegID>
+        <PaneID>35889</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35890</RegID>
+        <PaneID>35890</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35891</RegID>
+        <PaneID>35891</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35892</RegID>
+        <PaneID>35892</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35893</RegID>
+        <PaneID>35893</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35894</RegID>
+        <PaneID>35894</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35895</RegID>
+        <PaneID>35895</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35896</RegID>
+        <PaneID>35896</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35897</RegID>
+        <PaneID>35897</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35898</RegID>
+        <PaneID>35898</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35899</RegID>
+        <PaneID>35899</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35900</RegID>
+        <PaneID>35900</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35901</RegID>
+        <PaneID>35901</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35902</RegID>
+        <PaneID>35902</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35903</RegID>
+        <PaneID>35903</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35904</RegID>
+        <PaneID>35904</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>35905</RegID>
+        <PaneID>35905</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>2302000066000000AD03000026010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>38003</RegID>
+        <PaneID>38003</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>03000000660000008D01000090010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000F8000000B5010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>38007</RegID>
+        <PaneID>38007</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>030000000B020000FD040000AC020000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C0000005300000014020000AB000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>436</RegID>
+        <PaneID>436</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>030000000B020000FD040000AC020000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000F8000000B5010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>437</RegID>
+        <PaneID>437</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>440</RegID>
+        <PaneID>440</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0300000052010000AD0300008E010000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>3C00000053000000CC010000E3010000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>59392</RegID>
+        <PaneID>59392</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>940</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>8192</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>0000000000000000B70300001C000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>0A0000000A0000006E0000006E000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>59393</RegID>
+        <PaneID>0</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>32767</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>4096</RecentFrameAlignment>
+        <RecentRowIndex>0</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>000000007E0200000005000091020000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>0A0000000A0000006E0000006E000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>59399</RegID>
+        <PaneID>59399</PaneID>
+        <IsVisible>1</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>463</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>8192</RecentFrameAlignment>
+        <RecentRowIndex>1</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>000000001C000000DA01000038000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>0A0000000A0000006E0000006E000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <Window>
+        <RegID>59400</RegID>
+        <PaneID>59400</PaneID>
+        <IsVisible>0</IsVisible>
+        <IsFloating>0</IsFloating>
+        <IsTabbed>0</IsTabbed>
+        <IsActivated>0</IsActivated>
+        <MRUWidth>612</MRUWidth>
+        <PinState>0</PinState>
+        <RecentFrameAlignment>8192</RecentFrameAlignment>
+        <RecentRowIndex>2</RecentRowIndex>
+        <RectRecentDocked>
+          <Len>16</Len>
+          <Data>00000000380000006F02000054000000</Data>
+        </RectRecentDocked>
+        <RectRecentFloat>
+          <Len>16</Len>
+          <Data>0A0000000A0000006E0000006E000000</Data>
+        </RectRecentFloat>
+      </Window>
+      <DockMan>
+        <Len>2619</Len>
+        <Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000009401000066000000B0030000CA000000940100004F000000B0030000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1C0200004F000000200200003F010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000002002000066000000B003000056010000200200004F000000B00300003F0100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF900100004F00000094010000F0010000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006600000090010000C0010000000000004F00000090010000F00100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000037010000B00300003B01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000052010000B0030000BE010000000000003B010000B0030000A701000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD80100003B010000DC010000A701000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000F001000000050000F401000001000000010000100400000001000000ABFEFFFFCF000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000100000000000000C4010000000500009502000000000000F4010000000500007E0200000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000</Data>
+      </DockMan>
+      <ToolBar>
+        <RegID>59392</RegID>
+        <Name>File</Name>
+        <Buttons>
+          <Len>2002</Len>
+          <Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
+        </Buttons>
+        <OriginalItems>
+          <Len>1423</Len>
+          <Data>2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
+        </OriginalItems>
+        <OrigResetItems>
+          <Len>1423</Len>
+          <Data>2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000</Data>
+        </OrigResetItems>
+      </ToolBar>
+      <ToolBar>
+        <RegID>59399</RegID>
+        <Name>Build</Name>
+        <Buttons>
+          <Len>672</Len>
+          <Data>00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000553544D3332960000000000000001000553544D3332000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000</Data>
+        </Buttons>
+        <OriginalItems>
+          <Len>583</Len>
+          <Data>1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
+        </OriginalItems>
+        <OrigResetItems>
+          <Len>583</Len>
+          <Data>1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000</Data>
+        </OrigResetItems>
+      </ToolBar>
+      <ToolBar>
+        <RegID>59400</RegID>
+        <Name>Debug</Name>
+        <Buttons>
+          <Len>2220</Len>
+          <Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
+        </Buttons>
+        <OriginalItems>
+          <Len>898</Len>
+          <Data>1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000</Data>
+        </OriginalItems>
+        <OrigResetItems>
+          <Len>898</Len>
+          <Data>1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000</Data>
+        </OrigResetItems>
+      </ToolBar>
+      <ControlBarsSummary>
+        <Bars>0</Bars>
+        <ScreenCX>1280</ScreenCX>
+        <ScreenCY>720</ScreenCY>
+      </ControlBarsSummary>
+    </ViewEx>
+  </WinLayoutEx>
+
+  <MDIGroups>
+    <Orientation>1</Orientation>
+    <ActiveMDIGroup>0</ActiveMDIGroup>
+    <MDIGroup>
+      <Size>100</Size>
+      <ActiveTab>4</ActiveTab>
+      <Doc>
+        <Name>..\Src\application\global_param.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>17</TopLine>
+        <CurrentLine>39</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\application\serial_at_cmd_app.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>1</TopLine>
+        <CurrentLine>1</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\application\beep_logic_app.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>1</TopLine>
+        <CurrentLine>1</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\main.c</Name>
+        <ColumnNumber>9</ColumnNumber>
+        <TopLine>76</TopLine>
+        <CurrentLine>96</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\application\dw_app.c</Name>
+        <ColumnNumber>3</ColumnNumber>
+        <TopLine>586</TopLine>
+        <CurrentLine>605</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>130</TopLine>
+        <CurrentLine>133</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\application\dw_app.h</Name>
+        <ColumnNumber>2</ColumnNumber>
+        <TopLine>3</TopLine>
+        <CurrentLine>9</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+      <Doc>
+        <Name>..\Src\OnChipDevices\Spi.c</Name>
+        <ColumnNumber>0</ColumnNumber>
+        <TopLine>146</TopLine>
+        <CurrentLine>161</CurrentLine>
+        <Folding>1</Folding>
+        <ContractedFolders></ContractedFolders>
+        <PaneID>0</PaneID>
+      </Doc>
+    </MDIGroup>
+  </MDIGroups>
+
+</ProjectGui>
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 59279e6..842ed65 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"
@@ -77,7 +77,7 @@
         <tvExpOptDlg>0</tvExpOptDlg>
         <IsCurrentTarget>1</IsCurrentTarget>
       </OPTFL>
-      <CpuCode>255</CpuCode>
+      <CpuCode>18</CpuCode>
       <Books>
         <Book>
           <Number>0</Number>
@@ -141,10 +141,6 @@
         <pMon>Segger\JL2CM3.dll</pMon>
       </DebugOpt>
       <TargetDriverDllRegistry>
-        <SetRegEntry>
-          <Number>0</Number>
-          <Key>DLGUARM</Key>
-        </SetRegEntry>
         <SetRegEntry>
           <Number>0</Number>
           <Key>UL2CM3</Key>
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h"
index cdbcd2e..130dcc4 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/ExternalDevices/beep.h"
@@ -8,8 +8,8 @@
 #define KEY0_GPIO					GPIOB
 #define	READ_KEY0 				GPIO_ReadInputDataBit(KEY0_GPIO,KEY0_PIN)
 
-#define BEEP_PIN					GPIO_Pin_6
-#define BEEP_GPIO					GPIOB
+#define BEEP_PIN					GPIO_Pin_12
+#define BEEP_GPIO					GPIOA
 #define BEEP_ON						GPIO_WriteBit(BEEP_GPIO, BEEP_PIN, Bit_SET)
 #define BEEP_OFF					GPIO_WriteBit(BEEP_GPIO, BEEP_PIN, Bit_RESET)
 
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 2a1e753..643eb8b 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"
@@ -69,9 +69,13 @@
 #define TAG_ID_IDX    				5
 #define MESSAGE_TYPE_IDX 			9	
 #define DIST_IDX 							10
+//Poll
 #define ANC_TYPE_IDX 					14
 #define BATTARY_IDX						15
 #define BUTTON_IDX						16
+
+//respose
+#define TIMECORRE             14
 
 #define POLL     					0x01
 #define RESPONSE 					0x02
@@ -98,7 +102,7 @@
 static uint8_t tx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
 	
 //static uint8_t rx_poll_msg[] = {0x00, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x21, 0, 0};
-static uint8_t tx_resp_msg[16] = {0};
+static uint8_t tx_resp_msg[18] = {0};
 //static uint8_t rx_final_msg[] = {0x41, 0x88, 0, 0xCA, 0xDE, 'W', 'A', 'V', 'E', 0x23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
 	
 /* Frame sequence number, incremented after each transmission. */
@@ -125,7 +129,7 @@
 
 static double tof;
 	
-uint32_t anchor_dist_last_frm[TAG_NUM_IN_SYS];	
+uint32_t anchor_dist_last_frm[TAG_NUM_IN_SYS],his_dist[TAG_NUM_IN_SYS];	;	
 uint32_t tag_id = 0;
 uint32_t tag_id_recv = 0;
 uint8_t random_delay_tim = 0;
@@ -136,7 +140,7 @@
 float dis_after_filter;				//当前距离值
 LPFilter_Frac* p_Dis_Filter;		//测距用的低通滤波器
 
-uint16_t g_Tagdist[TOTAL_TAG_NUM];
+uint16_t g_Tagdist[TAG_NUM_IN_SYS];
 uint8_t g_flag_Taggetdist[256];
 /*------------------------------------ Functions ------------------------------------------*/
 
@@ -279,7 +283,7 @@
     return sum;
 }
 
-u16 tag_time_recv[TOTAL_TAG_NUM];
+u16 tag_time_recv[TAG_NUM_IN_SYS];
 u8 usart_send[25];
 u8 battary,button;
 extern uint8_t g_pairstart;
@@ -293,6 +297,7 @@
 u8 tag_succ_times=0;
 u32 hex_dist;
 u16 checksum;
+int8_t tag_delaytime;
 void Tag_App(void)//发送模式(TAG标签)
 {
 	uint32_t frame_len;
@@ -308,7 +313,7 @@
 	tx_poll_msg[BATTARY_IDX] = Get_Battary();
 	tx_poll_msg[BUTTON_IDX] = !READ_KEY0;
 
-	for(i=0;i<REPOET_ANC_NUM;i++)
+	for(i=0;i<g_com_map[MAX_REPORT_ANC_NUM];i++)
 	{
 	/* Write frame data to DW1000 and prepare transmission. See NOTE 7 below. */
 	tx_poll_msg[ANC_TYPE_IDX] = i;
@@ -354,6 +359,15 @@
 			poll_tx_ts = get_tx_timestamp_u64();										//获得POLL发送时间T1
 			resp_rx_ts = get_rx_timestamp_u64();										//获得RESPONSE接收时间T4
 			
+							if(i==0)
+								{
+								tag_delaytime=rx_buffer[TIMECORRE];
+							if(tag_delaytime>g_com_map[COM_INTERVAL]/2)
+							{
+							tag_delaytime=tag_delaytime-g_com_map[COM_INTERVAL];
+							}
+								}
+								
 			memcpy(&anchor_dist_last_frm[0], &rx_buffer[DIST_IDX], 4);
 			memcpy(&tx_final_msg[ANCHOR_ID_IDX], &rx_buffer[ANCHOR_ID_IDX], 4);
 			/* Compute final message transmission time. See NOTE 9 below. */
@@ -375,25 +389,23 @@
 			result=dwt_starttx(DWT_START_TX_DELAYED);//设定为延迟发送
 			
 			tag_succ_times++;
-			#ifdef WORK_MODE_TAG
+			
 				LED0_BLINK;
-			#endif
-				#ifdef HEX_OUTPUT
-					usart_send[2] = frame_seq_nb++;
-					//usart_send[6] = tag_id_recv;
-					//usart_send[8] = g_com_map[DEV_ID];
-					memcpy(&usart_send[3],&dev_id,4);
-					memcpy(&usart_send[7],&rx_buffer[ANCHOR_ID_IDX],4);
-					hex_dist = anchor_dist_last_frm[0];
-					memcpy(&usart_send[11],&hex_dist,4);
-					usart_send[15] = battary;
-					usart_send[16] = button;
-					checksum = Checksum_u16(&usart_send[2],19);
-					memcpy(&usart_send[21],&checksum,2);
-					UART_PushFrame(usart_send,23);
-					#else
-					printf("Anchor ID: %d, Tag ID: %d, Dist = %d cm\n", g_com_map[DEV_ID_L]|g_com_map[DEV_ID_L]<<8, tag_id_recv, (uint16_t)dist_cm);
-					#endif
+			
+					
+					usart_send[2] = 1;//正常模式
+					usart_send[3] = 17;//数据段长度
+					usart_send[4] = frame_seq_nb++;//数据段长度
+					memcpy(&usart_send[5],&dev_id,2);
+					memcpy(&usart_send[7],&rx_buffer[ANCHOR_ID_IDX],2);
+					hex_dist = anchor_dist_last_frm[0];;
+					memcpy(&usart_send[9],&hex_dist,4);
+					usart_send[13] = battary;
+					usart_send[14] = button;
+					checksum = Checksum_u16(&usart_send[2],17);
+					memcpy(&usart_send[19],&checksum,2);
+					UART_PushFrame(usart_send,21);
+
 			/* Poll DW1000 until TX frame sent event set. See NOTE 8 below. */
 			if(result==0)
 			{while (!(dwt_read32bitreg(SYS_STATUS_ID) & SYS_STATUS_TXFRS))//不断查询芯片状态直到发送完成
@@ -420,16 +432,15 @@
 //	deca_sleep(10);
 }
 //	dwt_entersleep();
-	if(tag_succ_times<REPOET_ANC_NUM_MIN)
+	if(tag_succ_times<g_com_map[MIN_REPORT_ANC_NUM])
 	{
-	random_delay_tim =time32_incr&0x8f+7;
-	deca_sleep(random_delay_tim);
+	//poll_timer +=time32_incr&0x7+3;
 	}
-	//LED0_BLINK;
-	RTC_SET_ALARM(1);
+
 	/* Execute a delay between ranging exchanges. */
 	
 }
+int8_t correction_time;
 extern uint8_t g_start_send_flag;
 void Anchor_App(void)
 {
@@ -445,8 +456,7 @@
 	/* Poll for reception of a frame or error/timeout. See NOTE 7 below. */
 	while (!((status_reg = dwt_read32bitreg(SYS_STATUS_ID)) & (SYS_STATUS_RXFCG | SYS_STATUS_ALL_RX_ERR))&&!g_start_send_flag)//不断查询芯片状态直到接收成功或者出现错误
 	{ 
-		UART_CheckReceive();
-		UART_CheckSend();
+		IdleTask();
 		g_Resttimer=0;
 	};
 
@@ -478,6 +488,13 @@
 		
 		if (rx_buffer[MESSAGE_TYPE_IDX] == POLL&&(anchor_type == rx_buffer[ANC_TYPE_IDX])) //判断是否是poll包数据
 		{
+			correction_time=tag_timer-(tag_id_recv%GROUP_TAG_NUM)*3;
+							if(correction_time == g_com_map[COM_INTERVAL])
+								correction_time = 0;
+								tx_resp_msg[TIMECORRE] = correction_time;
+//							if(correction_time>10)
+//							{correction_time++;}
+							
 			/* Retrieve poll reception timestamp. */
 			poll_rx_ts = get_rx_timestamp_u64();//获得Poll包接收时间T2
 
@@ -490,7 +507,7 @@
 			dwt_setrxtimeout(FINAL_RX_TIMEOUT_UUS);//接收超时时间
 
 			/* Write and send the response message. See NOTE 9 below.*/
-			if(tag_id_recv-TAG_ID_START<=TOTAL_TAG_NUM)
+			if(tag_id_recv-TAG_ID_START<=TAG_NUM_IN_SYS)
 			memcpy(&tx_resp_msg[DIST_IDX], &anchor_dist_last_frm[tag_id_recv-TAG_ID_START], 4);
 		
 			dwt_writetxdata(sizeof(tx_resp_msg), tx_resp_msg, 0);//写入发送数据
@@ -559,38 +576,28 @@
 					LED0_BLINK; //每成功一次通讯则闪烁一次
 					g_UWB_com_interval = 0;
 					dis_after_filter=dist_cm;
-		//			g_Tagdist[tag_id_recv-TAG_ID_START]=dist_cm;
-//					if(g_pairstart==1&&dist_cm<20)
-//					{
-//						g_pairstart=0;
-//						g_com_map[PAIR_ID]=tag_id_recv;
-//						save_com_map_to_flash();
-//						BEEP2_ON;
-//						delay_ms(1000);
-//						printf("Pair Finish PairID: %d. \r\n",g_com_map[PAIR_ID]);
-//					}
-					// tag_time_recv[tag_id_recv] = tag_recv_timer;
-						if(tag_id_recv-TAG_ID_START<=TOTAL_TAG_NUM)
-						{
-					g_flag_Taggetdist[tag_id_recv-TAG_ID_START]=0;
-					anchor_dist_last_frm[tag_id_recv-TAG_ID_START] = dist_cm;
-						}
-					#ifdef HEX_OUTPUT
-					usart_send[2] = frame_seq_nb++;
-					//usart_send[6] = tag_id_recv;
-					//usart_send[8] = g_com_map[DEV_ID];
-					memcpy(&usart_send[3],&tag_id_recv,4);
-					memcpy(&usart_send[7],&dev_id,4);
+					hex_dist = (int16_t)(dist_cm+g_com_map[DIST_OFFSET]);
+						if(tag_id_recv-TAG_ID_START<=TAG_NUM_IN_SYS)
+					if(abs(hex_dist-his_dist[tag_id_recv-TAG_ID_START])<1000)
+					{
+						g_Tagdist[tag_id_recv-TAG_ID_START] = hex_dist;
+						anchor_dist_last_frm[tag_id_recv-TAG_ID_START] = hex_dist;
+					}
+					his_dist[tag_id_recv-TAG_ID_START]=hex_dist;
+						
+					usart_send[2] = 1;//正常模式
+					usart_send[3] = 17;//数据段长度
+					usart_send[4] = frame_seq_nb++;//数据段长度
+					memcpy(&usart_send[5],&tag_id_recv,2);
+					memcpy(&usart_send[7],&dev_id,2);
 					hex_dist = dist_cm;
-					memcpy(&usart_send[11],&hex_dist,4);
-					usart_send[15] = battary;
-					usart_send[16] = button;
-					checksum = Checksum_u16(&usart_send[2],19);
-					memcpy(&usart_send[21],&checksum,2);
-					UART_PushFrame(usart_send,23);
-					#else
-					printf("Anchor ID: %d, Tag ID: %d, Dist = %d cm\n", g_com_map[DEV_ID_L]|g_com_map[DEV_ID_L]<<8, tag_id_recv, (uint16_t)dist_cm);
-					#endif
+					memcpy(&usart_send[9],&hex_dist,4);
+					usart_send[13] = battary;
+					usart_send[14] = button;
+					checksum = Checksum_u16(&usart_send[2],17);
+					memcpy(&usart_send[19],&checksum,2);
+					UART_PushFrame(usart_send,21);
+
 					
 					//dis_after_filter = LP_Frac_Update(p_Dis_Filter, dist_cm);
 
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 b9a4427..e3388ff 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"
@@ -2,11 +2,12 @@
 #ifndef __DW_APP_H__
 #define __DW_APP_H__
 
+#include <string.h>
 #include "stm32f10x.h"
 #include "filters.h"
 #include "ADC.h"
-#define WORK_MODE_TAG
-//#define WORK_MODE_ANCHOR
+//#define WORK_MODE_TAG
+#define WORK_MODE_ANCHOR
 
 //#define NEWBOARD
 //#define TAG_OUTPUT
@@ -14,12 +15,12 @@
 
 #define REPOET_ANC_NUM 1
 #define REPOET_ANC_NUM_MIN 1
-#define TOTAL_TAG_NUM  200
 #define TAG_ID_START 		0// 0x00980000
-
+#define GROUP_TAG_NUM 2
 #define TAG_NUM_IN_SYS				256
 #define DFT_RAND_DLY_TIM_MS			1
-
+extern u16 poll_timer,tag_timer;
+extern int8_t tag_delaytime;
 extern u32 dev_id;
 extern u8 anchor_type;
 extern volatile uint32_t time32_incr;
@@ -30,11 +31,13 @@
 extern LPFilter_Frac* p_Dis_Filter;		//测距用的低通滤波器
 extern u8 usart_send[25];
 
+void IdleTask(void);
+uint16_t Checksum_u16(uint8_t* pdata, uint32_t len);
 void Dw1000_Init(void);
 void Tag_App(void);
 void Anchor_App(void);
 void tag_sleep_configuraion(void);
-extern uint16_t g_Tagdist[TOTAL_TAG_NUM];
+extern uint16_t g_Tagdist[TAG_NUM_IN_SYS];
 extern uint8_t g_flag_Taggetdist[256];
 extern void TagDistClear(void);
 void Dw1000_App_Init(void);
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 59524bd..99177bc 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"
@@ -25,13 +25,27 @@
 	if(g_com_map[0] != 0x55AA)
 	{
 		g_com_map[0] = 0x55AA;
-//		g_com_map[ALARM_DISTANCE1] = 100;	//默认报警距离50cm
-//		g_com_map[ALARM_DISTANCE2] = 600;	//默认报警距离50cm
-//		g_com_map[ALARM_DISTANCE3] = 900;	//默认报警距离50cm
-//		g_com_map[ALARM_DEV] = 1;
-		g_com_map[DEV_ID_L] =0x04;//DEFAULT_DEV_ID;	//默认设备ID
-		g_com_map[DEV_ID_H] =0x00;//DEFAULT_DEV_ID;	//默认设备ID
-		g_com_map[COM_INTERVAL]=1000;
+		g_com_map[VERSION] = 0x0100;		
+		g_com_map[DEV_ID] =0x04;//DEFAULT_DEV_ID;	//默认设备ID
+
+		g_com_map[COM_INTERVAL]=50;
+		g_com_map[MAX_REPORT_ANC_NUM]=2;
+		g_com_map[MIN_REPORT_ANC_NUM]=2;
+		g_com_map[DIST_OFFSET]=-26;
+		#ifdef WORK_MODE_TAG
+			g_com_map[DEV_ROLE] =0x1;
+		#else
+			g_com_map[DEV_ROLE] =0x0;
+		#endif
+		g_com_map[ANC_POLL]=0;
+		g_com_map[ALARM_DEV] = 1;
+		g_com_map[ALARM_DISTANCE1] = 100;	//默认报警距离50cm
+		g_com_map[ALARM_DISTANCE2] = 600;	//默认报警距离50cm
+		g_com_map[ALARM_DISTANCE3] = 900;	//默认报警距离50cm
+		g_com_map[HEARTBEAT]=0;
+		g_com_map[CNT_RESTART]=0;
+		g_com_map[CNT_REBOOT]=0;
+		g_com_map[CNT_UPDATE]=0;
 		save_com_map_to_flash();
 	}	
 }
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.h" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.h"
index 2438903..317c3fe 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.h"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/global_param.h"
@@ -8,17 +8,27 @@
 #define DEFAULT_DEV_ID		5555		//默认设备ID是5555
 
 /*---------------Map Definition-------------------*/
-#define 	DEV_ROLE				0x10		//该设备是anchor还是tag	
-#define 	DEV_ID_L					0x11		//设备的Id号低8位
-#define 	DEV_ID_H					0x12		//设备的Id号高8位
-#define 	COM_INTERVAL			0x13		//通讯间隔
-#define 	DEV_GROUP_ID			0x14		//通讯组ID
+#define 	VERSION        			  0x1		
+#define 	DEV_ID								0x2		//设备的Id
+#define 	COM_INTERVAL					0x3		//通讯间隔
+#define 	MAX_REPORT_ANC_NUM		0x4		//单次通讯基站上限
+#define 	MIN_REPORT_ANC_NUM		0x5		//单次通讯基站下限
+#define 	DIST_OFFSET						0x6	
+#define 	DEV_ROLE							0x7		//该设备是anchor还是tag	
+#define 	ANC_POLL							0x8		//该设备是anchor还是tag	
 
-#define 	ALARM_DEV				0x20		//是哪个设备报警
-#define		ALARM_DISTANCE1			0x21		//小于多少距离报警
-#define		ALARM_DISTANCE2			0x22		//小于多少距离报警
-#define		ALARM_DISTANCE3			0x23		//小于多少距离报警
-#define		PAIR_ID							0x24		//小于多少距离报警
+#define 	ALARM_DEV						0x9		//是哪个设备报警
+#define		ALARM_DISTANCE1			0xA		//小于多少距离报警
+#define		ALARM_DISTANCE2			0xB		//小于多少距离报警
+#define		ALARM_DISTANCE3			0xC		//小于多少距离报警
+#define		PAIR_ID							0xD		//小于多少距离报警
+#define		HEARTBEAT       		0xE
+
+#define 	CNT_RESTART						0x30
+#define 	CNT_REBOOT						0x31
+#define 	CNT_UPDATE						0x32
+
+
 /*------------END Map Definition-------------------*/
 
 
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c"
index fe9b6d4..60b4204 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/application/serial_at_cmd_app.c"
@@ -4,188 +4,124 @@
 #include <stdio.h>
 #include "dw_app.h"
 #include "RTC.h"
-uint8_t m_frame_data[MAX_FRAME_LEN] = {0};
-uint8_t m_frame_data_len = 0;
-uint8_t g_pairstart=0;
-void ParseFrame(void)
+
+
+#define CMD_READ	1
+#define CMD_WRITE	2
+#define CMD_REPLY 3
+#define EUART_RX_BUF_SIZE 100
+typedef enum{	UsartReceiveWaitHead0, 
+				UsartReceiveWaitHead1,
+				UsartReceiveWaitMsgType,
+				UsartReceiveWaitLength, 
+				UsartReceiveWaitCMD,
+				UsartReceiveWaitIndex,
+				UsartReceiveWaitDataLen,
+				UsartReceiveWaitData,
+				UsartReceiveWaitChecksum
+}UsartRecvPackState;
+uint8_t mUsartReceivePack[100] = {0};
+
+void SendComMap(uint8_t data_length, uint8_t index)
 {
-	if(!memcmp(m_frame_data, "DIS1", 4))
+	static uint8_t send_frame[EUART_RX_BUF_SIZE];
+	uint16_t checksum = 0;
+	send_frame[0] = 0x55;
+	send_frame[1] = 0xAA;
+	send_frame[2] = 0x03;
+	send_frame[3] = data_length+5;
+	send_frame[4] = CMD_REPLY;
+	send_frame[5] = index;
+	send_frame[6] = data_length;
+	memcpy(&send_frame[7], &g_com_map[index], data_length);
+	for(int i = 0; i<(data_length+5); i++)
 	{
-		g_com_map[ALARM_DISTANCE1] =0;
-		for(uint8_t i=5; i < m_frame_data_len; i++)
-		{
-			if(m_frame_data[i]<58 && m_frame_data[i]>47)
-			{
-				g_com_map[ALARM_DISTANCE1] = g_com_map[ALARM_DISTANCE1]*10 + m_frame_data[i]- '0';
-			}
-			else
-			{
-				printf("Error: Wrong DISTANCE.\r\n");
-				break;
-			}
-		}
-		printf("When distance1 < %d cm, alarm1 is on.\n", g_com_map[ALARM_DISTANCE1]);
-		save_com_map_to_flash();
+		checksum += send_frame[2+i];
 	}
-	else if(!memcmp(m_frame_data, "DIS2", 4))
-	{
-		g_com_map[ALARM_DISTANCE2] =0;
-		for(uint8_t i=5; i < m_frame_data_len; i++)
-		{
-			if(m_frame_data[i]<58 && m_frame_data[i]>47)
-			{
-				g_com_map[ALARM_DISTANCE2] = g_com_map[ALARM_DISTANCE2]*10 + m_frame_data[i]- '0';
-			}
-			else
-			{
-				printf("Error: Wrong DISTANCE.\r\n");
-				break;
-			}
-		}
-		printf("When distance2 < %d cm, alarm2 is on.\n", g_com_map[ALARM_DISTANCE2]);
-		save_com_map_to_flash();
-	}
-	else if(!memcmp(m_frame_data, "DIS3", 4))
-	{
-		g_com_map[ALARM_DISTANCE3] =0;
-		for(uint8_t i=5; i < m_frame_data_len; i++)
-		{
-			if(m_frame_data[i]<58 && m_frame_data[i]>47)
-			{
-				g_com_map[ALARM_DISTANCE3] = g_com_map[ALARM_DISTANCE3]*10 + m_frame_data[i]- '0';
-			}
-			else
-			{
-				printf("Error: Wrong DISTANCE.\r\n");
-				break;
-			}
-		}
-		printf("When distance3 < %d cm, alarm3 is on.\n", g_com_map[ALARM_DISTANCE3]);
-		save_com_map_to_flash();
-	}
-	else if(!memcmp(m_frame_data, "DEV", 3))
-	{
-		g_com_map[ALARM_DEV] = m_frame_data[4]-'0';
-		printf("Alarm device is %d. \n", g_com_map[ALARM_DEV]);
-		save_com_map_to_flash();
-	}
-	else if(!memcmp(m_frame_data, "ID", 2))
-	{
-	dev_id = 0;
-		for(uint8_t i=3; i < m_frame_data_len; i++)
-		{
-			if(m_frame_data[i]<='9' && m_frame_data[i]>='0')
-			{
-				dev_id = (dev_id<<4)|(m_frame_data[i]- '0');
-			}else if(m_frame_data[i]<='f' && m_frame_data[i]>='a')
-			{
-				dev_id = (dev_id<<4)|(m_frame_data[i]- 'a'+10);
-			}else if(m_frame_data[i]<='F' && m_frame_data[i]>='A')
-			{
-				dev_id = (dev_id<<4)|(m_frame_data[i]- 'A'+10);
-			}
-			else
-			{
-				printf("Error: Wrong ID.\r\n");
-				break;
-			}
-		}
-		g_com_map[DEV_ID_L] = dev_id;
-		g_com_map[DEV_ID_H] = dev_id>>16;
-		Dw1000_App_Init();
-		printf("set dev id = %x. \r\n", dev_id);
-		save_com_map_to_flash();
-	}else if(!memcmp(m_frame_data, "INT", 3))
-	{
-		g_com_map[COM_INTERVAL] = 0;
-		for(uint8_t i=4; i < m_frame_data_len; i++)
-		{
-			if(m_frame_data[i]<58 && m_frame_data[i]>47)
-			{
-				g_com_map[COM_INTERVAL] = g_com_map[COM_INTERVAL]*10 + m_frame_data[i]- '0';
-			}
-			else
-			{
-				printf("Error: Wrong COM_INTERVAL.\r\n");
-				break;
-			}
-		}
-		printf("set dev interval = %d ms. \r\n", g_com_map[COM_INTERVAL]);
-		RTC_Configuration(g_com_map[COM_INTERVAL]*20);
-		save_com_map_to_flash();
-	}else if(!memcmp(m_frame_data, "PAIRID", 6))
-	{
-		g_com_map[PAIR_ID] = 0;
-		for(uint8_t i=7; i < m_frame_data_len; i++)
-		{
-			if(m_frame_data[i]<58 && m_frame_data[i]>47)
-			{
-				g_com_map[PAIR_ID] = g_com_map[PAIR_ID]*10 + m_frame_data[i]- '0';
-			}
-			else
-			{
-				printf("Error: Wrong PAIR_ID.\r\n");
-				break;
-			}
-		}
-		printf("set dev PAIR_ID = %d . \r\n", g_com_map[PAIR_ID]);
-		save_com_map_to_flash();
-	}else if(!memcmp(m_frame_data, "STARTPAIR", 9))
-	{
-		g_pairstart=1;
-		printf("Start Pair Mode. \r\n");
-	}else{
-		printf("Error: Wrong Command.\r\n");
-	}
+	checksum = Checksum_u16(&send_frame[2],5+data_length);
+	memcpy(&send_frame[7+data_length],&checksum,2);
+	
+	UART_PushFrame(send_frame, data_length+9);	
 }
 
 void UsartParseDataHandler(uint8_t data)
 {
-	static uint8_t s_usart_state = 0;
-	static uint8_t s_data_pos;
+	static UsartRecvPackState usart_receive_state = UsartReceiveWaitHead0;
+	uint16_t checksum = 0;
+	static uint8_t pack_datalen = 0,pack_length = 0,pack_index = 0,pack_msgtype = 0,pack_cmd = CMD_READ;
+	static uint8_t index = 0;
+
+
 	
-	switch(s_usart_state)
-	{
-		case 0:
-			if(data=='A')	s_usart_state=  1;
-		break;
-			
-		case 1:
-			if(data=='T')	s_usart_state = 2;
-		break;
+	if(usart_receive_state == UsartReceiveWaitChecksum) {			//若收到校验和包
+		checksum = 0;
+		for(int i = 0; i<pack_length-5; i++) { 
+			checksum += mUsartReceivePack[i];
+		}
+		checksum += pack_cmd;
+		checksum += pack_length;
+		checksum += pack_index;
+		checksum += pack_datalen;
+		checksum += pack_msgtype;
+		if((data + checksum)&0xff == 0xFF)				//校验通过
+		{
+			switch(pack_cmd)
+			{
+				case CMD_WRITE:
+					//从mUsartReceivePack中读取pack_length长度的字节,放到全局变量中
+					memcpy((uint8_t*)&g_com_map + pack_index, mUsartReceivePack, pack_length);
+					//返回一个error状态
+					//SendComMap(pack_datalen,pack_index);
+					save_com_map_to_flash();
+					delay_ms(100);
+					NVIC_SystemReset();
+					break;
+				case CMD_READ:
+					//read包中data字节,即mUsartReceivePack[0]表示数据长度;
+				//从g_com_data结构体中的第index位置读取长度为mUsartReceivePack[0]的字节,发送出来
+					SendComMap(pack_datalen,pack_index>>1);		
+					break;
+				default:
+					break;
+			}
+		}
+		usart_receive_state = UsartReceiveWaitHead0;
+		pack_index = 0;
+		pack_length = 0;
+		index=0;
+	} else if((usart_receive_state == UsartReceiveWaitData) && (pack_index < pack_length)) {	//若果收到的是正常通讯包
+		mUsartReceivePack[index] = data;
+		index++;
+		if(index == pack_length-5) {		//如果收到的index与长度相等
+			usart_receive_state = UsartReceiveWaitChecksum;
+		}
+	} else if(usart_receive_state == UsartReceiveWaitDataLen) {						//收到指令类型字节
+		pack_datalen = data;
+		usart_receive_state = UsartReceiveWaitData;
+	}else if(usart_receive_state == UsartReceiveWaitIndex) {						//收到指令类型字节
+		pack_index = data;
+		usart_receive_state = UsartReceiveWaitDataLen;
+	} else if(usart_receive_state == UsartReceiveWaitCMD) {							//收到指令类型字节
+		pack_cmd = data;
+		usart_receive_state = UsartReceiveWaitIndex;
+	} else if(usart_receive_state == UsartReceiveWaitLength) {						//收到长度字节
 		
-		case 2:
-			if(data=='+')
-			{ 
-				s_usart_state = 3;
-				s_data_pos = 0;
-				m_frame_data_len = 0;
-			}
-		break;
-			
-		case 3:
-			m_frame_data_len = s_data_pos;
-			m_frame_data[s_data_pos++] = data;
-			if(data == 0x0d)
-			{
-				s_usart_state = 4;
-			}
-			if(s_data_pos >= MAX_FRAME_LEN) //如果超过最大长度
-			{
-				m_frame_data_len = MAX_FRAME_LEN;
-				ParseFrame();
-				s_usart_state = 0;
-			}
-		break;
-			
-		case 4:
-			if(data == 0x0a)
-			{
-				ParseFrame();
-				s_usart_state = 0;
-			}
-		break;
-			
-		default: break;
+			pack_length = data;
+			pack_index = 0;			
+			usart_receive_state = UsartReceiveWaitCMD;
+		
+	} else if((usart_receive_state == UsartReceiveWaitHead0) && (data == 0x55)) {	//收到第一个包头
+		usart_receive_state = UsartReceiveWaitHead1;
+	} else if((usart_receive_state == UsartReceiveWaitHead1) && (data == 0xAA)) {	//收到第二个包头
+		usart_receive_state = UsartReceiveWaitMsgType;
+	}else if ((usart_receive_state == UsartReceiveWaitMsgType) && (data == 0x3)) {
+		usart_receive_state = UsartReceiveWaitLength;
+		pack_msgtype = data;
 	}
+	else {
+		usart_receive_state = UsartReceiveWaitHead0;
+		pack_index = 0;
+		pack_length = 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 5cf332a..e07463e 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"
@@ -29,25 +29,39 @@
 }
 u8 anchor_type;
 u32 dev_id;
+u8 hbsend[16];
+void HeartBeatInit(void)
+{
+	u16 checksum;
+	hbsend[0]=0x55;
+	hbsend[1]=0xAA;
+	hbsend[2]=0x2;
+	hbsend[3]=0xc;
+	memcpy(&hbsend[4],&g_com_map[DEV_ID],2);
+	checksum = Checksum_u16(&hbsend[2],12);
+	memcpy(&hbsend[14],&checksum,2);
+}
 void Program_Init(void)
 {uint16_t i;
 	Usart1ParseDataCallback = UsartParseDataHandler;
 	parameter_init();
 	//deca_sleep(1000);
-	dev_id = g_com_map[DEV_ID_H]<<16|g_com_map[DEV_ID_L];
-	#ifdef WORK_MODE_TAG	
+	HeartBeatInit();
+	dev_id = g_com_map[DEV_ID];
+	if(g_com_map[DEV_ROLE])
+	{
 	printf("标签ID: %d .\r\n",dev_id);
 	printf("通讯间隔: %d ms.\r\n",g_com_map[COM_INTERVAL]);
-	printf("单次通讯基站数量: %d个.\r\n",REPOET_ANC_NUM);
-	#else
-	anchor_type = dev_id%REPOET_ANC_NUM;
+	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
+	}else{
+	anchor_type = dev_id%g_com_map[MAX_REPORT_ANC_NUM];
 	printf("基站ID: %x .\r\n",dev_id);
 	printf("基站类型: %c .\r\n",anchor_type+0x41);
-	printf("单次通讯基站数量: %d个.\r\n",REPOET_ANC_NUM);
-
+	printf("单次通讯基站数量: %d个.\r\n",g_com_map[MAX_REPORT_ANC_NUM]);
+	}
 //	printf("DEVICE PAIRID: %d .\r\n",g_com_map[PAIR_ID]);
 //	printf("DEVICE ALARM DISTANCE: 1.%d 2.%d 3.%d .\r\n",g_com_map[ALARM_DISTANCE1],g_com_map[ALARM_DISTANCE2],g_com_map[ALARM_DISTANCE3]);
-	#endif
+
 	
 	for(i=0;i<255;i++)
 	{
@@ -64,7 +78,41 @@
  *
  * @return none
  */
+void HeatBeat(void)
+{ 
+UART_PushFrame(hbsend,16);
+}
+u16 heartbeat_timer,poll_timer;
+void IdleTask(void)
+{
+			UART_CheckReceive();
+		UART_CheckSend();
+	if(heartbeat_timer>1000)
+	{
+		heartbeat_timer=0;
+		if(g_com_map[HEARTBEAT]&&g_com_map[DEV_ROLE]==0)
+		HeatBeat();
+	}
+	if(poll_timer>=g_com_map[COM_INTERVAL]-tag_delaytime)
+	{
+		poll_timer=0;
+		if(g_com_map[ANC_POLL]||g_com_map[DEV_ROLE])
+		{
+			if(g_com_map[DEV_ROLE]==0)
+			{int8_t correction_time;
+				correction_time=tag_timer-(GROUP_TAG_NUM+1)*3;
+				tag_delaytime=correction_time;
+							if(tag_delaytime>g_com_map[COM_INTERVAL]/2)
+							{
+							tag_delaytime=tag_delaytime-g_com_map[COM_INTERVAL];
+							}
+			}
+		g_start_send_flag=1;
+		}
+		
+	}
 
+	}
 int main(void)
 {
  
@@ -72,10 +120,6 @@
 	Program_Init();
 	Dw1000_Init();
   delay_ms(10);	
-//#ifdef WORK_MODE_TAG
-	RTC_Configuration(g_com_map[COM_INTERVAL]*20);
-//	tag_sleep_configuraion();
-//#endif
 	Dw1000_App_Init();
     /* Loop forever initiating ranging exchanges. */
 	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
@@ -83,19 +127,16 @@
 	usart_send[1]=0xAA;
 	while(1)
 	{
-		UART_CheckSend();
+		IdleTask();		
 	if(g_start_send_flag)
 	{
 		g_start_send_flag = 0;
 		
 		Tag_App();
 	}
-//	UART_CheckReceive();
-	//PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);	
-#ifdef WORK_MODE_ANCHOR
+	
+if(g_com_map[DEV_ROLE]==0)
 		Anchor_App();
-#endif
-
 	}
 }
 
diff --git "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c" "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c"
index ba07c44..ab9ecfb 100644
--- "a/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c"
+++ "b/\346\272\220\347\240\201/\346\240\270\345\277\203\346\235\277/Src/stm32f10x_it.c"
@@ -33,27 +33,35 @@
 uint8_t tt=0;
 uint8_t g_start_send_flag = 0;
 uint16_t sysscal;
-u16 tag_recv_timer;
-extern uint16_t g_Resttimer;
+u16 tag_recv_timer, tag_timer;
+extern uint16_t g_Resttimer,heartbeat_timer;
 extern uint8_t g_pairstart;
+
 void SysTick_Handler(void)
 {
   time32_incr++;
 	g_UWB_com_interval++;
+	heartbeat_timer++;
+	poll_timer++;
 	
+	if(tag_timer++>=g_com_map[COM_INTERVAL])
+	{tag_timer=0;}
 	if(g_Resttimer++>2000)
 	{
 		NVIC_SystemReset();
 	}
+
 //	if(g_UWB_com_interval > 1000)
 //	{	
 //		dis_after_filter = DEFAULT_DISTANCE;
 //	}
 //#ifdef WORK_MODE_ANCHOR
-	//tag_recv_timer++;
-//	TagDistClear();
-//	if(g_pairstart!=1)
-//		main_logic();
+	if(!g_com_map[DEV_ROLE])
+	{tag_recv_timer++;
+	TagDistClear();
+	//if(g_pairstart!=1)
+		main_logic();
+	}
 //#endif	
 
 }
@@ -70,18 +78,6 @@
   }   
 }
 
-void RTCAlarm_IRQHandler(void)
-{
-	//		LED0_BLINK;
-	RCC_Configuration();
-	//	LED0_BLINK;
-	EXTI_ClearITPendingBit(EXTI_Line17);
-	RTC_ClearITPendingBit(RTC_FLAG_ALR);
-	g_start_send_flag = 1;
-	
-	tt++;
-  //SYS.wake_id|=1<<17;
-}
 void USART1_IRQHandler(void)
 {
   if(USART_GetITStatus(EXT_UART, USART_IT_RXNE) != RESET)//?????????

--
Gitblit v1.9.3