From 8aa343c68337975234072baae5eda592487c4271 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期六, 16 八月 2025 18:29:41 +0800 Subject: [PATCH] 防丢手环V1.0demo版本实现一对多测距和发送震动信息 --- keil/uwb_simple_example.uvoptx | 399 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 335 insertions(+), 64 deletions(-) diff --git a/keil/uwb_simple_example.uvoptx b/keil/uwb_simple_example.uvoptx index 2a1ffb4..97a3e74 100644 --- a/keil/uwb_simple_example.uvoptx +++ b/keil/uwb_simple_example.uvoptx @@ -148,144 +148,391 @@ <Ww> <count>0</count> <WinNumber>1</WinNumber> - <ItemText>nomove_count</ItemText> + <ItemText>rx_rpt,0x10</ItemText> </Ww> <Ww> <count>1</count> <WinNumber>1</WinNumber> - <ItemText>gps_timeout_flag</ItemText> + <ItemText>rx_rpt,0x10</ItemText> </Ww> <Ww> <count>2</count> <WinNumber>1</WinNumber> - <ItemText>gps_wait_count,0x0A</ItemText> + <ItemText>rx_buf</ItemText> </Ww> <Ww> <count>3</count> <WinNumber>1</WinNumber> - <ItemText>moter_open_uwb_flag</ItemText> + <ItemText>rec_nearbase_num</ItemText> </Ww> <Ww> <count>4</count> <WinNumber>1</WinNumber> - <ItemText>motor_open_air_flag</ItemText> + <ItemText>resp_tx_en_start_u32,0x0A</ItemText> </Ww> <Ww> <count>5</count> <WinNumber>1</WinNumber> - <ItemText>motor_power_state</ItemText> + <ItemText>ancrec_nearbasepos</ItemText> </Ww> <Ww> <count>6</count> <WinNumber>1</WinNumber> - <ItemText>gps_need_data_flag</ItemText> + <ItemText>rec_ancdistlist</ItemText> </Ww> <Ww> <count>7</count> <WinNumber>1</WinNumber> - <ItemText>UWB_Work_State</ItemText> + <ItemText>rec_ancidlist</ItemText> </Ww> <Ww> <count>8</count> <WinNumber>1</WinNumber> - <ItemText>distance,0x0A</ItemText> + <ItemText>resp_tx_en_start_u32,0x0A</ItemText> </Ww> <Ww> <count>9</count> <WinNumber>1</WinNumber> - <ItemText>anchordata_num</ItemText> + <ItemText>rec_nearbase_num</ItemText> </Ww> <Ww> <count>10</count> <WinNumber>1</WinNumber> - <ItemText>mUsart2ReceivePack_now,0x0A</ItemText> + <ItemText>mUsart2ReceivePack[index]</ItemText> </Ww> <Ww> <count>11</count> <WinNumber>1</WinNumber> - <ItemText>gps_uwb_flag</ItemText> + <ItemText>rec_ancdistlist</ItemText> </Ww> <Ww> <count>12</count> <WinNumber>1</WinNumber> - <ItemText>gps_power_state</ItemText> + <ItemText>poll_tx_en_start_u32,0x0A</ItemText> </Ww> <Ww> <count>13</count> <WinNumber>1</WinNumber> - <ItemText>mUsart2ReceivePack</ItemText> + <ItemText>resp_rx_ts_i64,0x0A</ItemText> </Ww> <Ww> <count>14</count> <WinNumber>1</WinNumber> - <ItemText>uwb_state</ItemText> + <ItemText>tof_f,0x0A</ItemText> </Ww> <Ww> <count>15</count> <WinNumber>1</WinNumber> - <ItemText>receive_flag</ItemText> + <ItemText>distance_tag,0x0A</ItemText> </Ww> <Ww> <count>16</count> <WinNumber>1</WinNumber> - <ItemText>recev_error_num,0x0A</ItemText> + <ItemText>tround</ItemText> </Ww> <Ww> <count>17</count> <WinNumber>1</WinNumber> - <ItemText>rx_rpt</ItemText> + <ItemText>treply</ItemText> </Ww> <Ww> <count>18</count> <WinNumber>1</WinNumber> - <ItemText>g_com_map</ItemText> + <ItemText>tround_temp,0x10</ItemText> </Ww> <Ww> <count>19</count> <WinNumber>1</WinNumber> - <ItemText>UWB_work_state</ItemText> + <ItemText>treply_temp,0x10</ItemText> </Ww> <Ww> <count>20</count> <WinNumber>1</WinNumber> - <ItemText>recev_error_num,0x0A</ItemText> + <ItemText>poll_rx_en_start_u32,0x0A</ItemText> </Ww> <Ww> <count>21</count> <WinNumber>1</WinNumber> - <ItemText>poll_rx_ts_i64</ItemText> + <ItemText>resp_rx_timestamp</ItemText> </Ww> <Ww> <count>22</count> <WinNumber>1</WinNumber> - <ItemText>resp_tx_ts_i64</ItemText> + <ItemText>poll_tx_timestamp</ItemText> </Ww> <Ww> <count>23</count> <WinNumber>1</WinNumber> - <ItemText>motor_power_state</ItemText> + <ItemText>resp_rx_ts_i64</ItemText> </Ww> <Ww> <count>24</count> <WinNumber>1</WinNumber> - <ItemText>gps_power_state</ItemText> + <ItemText>tt,0x0A</ItemText> </Ww> <Ww> <count>25</count> <WinNumber>1</WinNumber> - <ItemText>gps_prase_flag</ItemText> + <ItemText>rec_ancdistlist[0],0x0A</ItemText> </Ww> <Ww> <count>26</count> <WinNumber>1</WinNumber> - <ItemText>state5V_prase_flag</ItemText> + <ItemText>dist_after_offset</ItemText> + </Ww> + <Ww> + <count>27</count> + <WinNumber>1</WinNumber> + <ItemText>tempflag</ItemText> + </Ww> + <Ww> + <count>28</count> + <WinNumber>1</WinNumber> + <ItemText>rec_ancdistlist[0],0x0A</ItemText> + </Ww> + <Ww> + <count>29</count> + <WinNumber>1</WinNumber> + <ItemText>index1</ItemText> + </Ww> + <Ww> + <count>30</count> + <WinNumber>1</WinNumber> + <ItemText>index2</ItemText> + </Ww> + <Ww> + <count>31</count> + <WinNumber>1</WinNumber> + <ItemText>index3</ItemText> + </Ww> + <Ww> + <count>32</count> + <WinNumber>1</WinNumber> + <ItemText>flag_4guart_needinit</ItemText> + </Ww> + <Ww> + <count>33</count> + <WinNumber>1</WinNumber> + <ItemText>tt2,0x0A</ItemText> + </Ww> + <Ww> + <count>34</count> + <WinNumber>1</WinNumber> + <ItemText>resp_tx_en_start_u32,0x0A</ItemText> + </Ww> + <Ww> + <count>35</count> + <WinNumber>1</WinNumber> + <ItemText>temp_count1,0x0A</ItemText> + </Ww> + <Ww> + <count>36</count> + <WinNumber>1</WinNumber> + <ItemText>rx_buf,0x10</ItemText> + </Ww> + <Ww> + <count>37</count> + <WinNumber>1</WinNumber> + <ItemText>poll_rx_en_start_u32,0x0A</ItemText> + </Ww> + <Ww> + <count>38</count> + <WinNumber>1</WinNumber> + <ItemText>rec_nearbase_num</ItemText> + </Ww> + <Ww> + <count>39</count> + <WinNumber>1</WinNumber> + <ItemText>rec_ancdistlist[0],0x0A</ItemText> + </Ww> + <Ww> + <count>40</count> + <WinNumber>1</WinNumber> + <ItemText>dist</ItemText> + </Ww> + <Ww> + <count>41</count> + <WinNumber>1</WinNumber> + <ItemText>rx_buf[FZ_NEARBASENUM_INDEX]</ItemText> + </Ww> + <Ww> + <count>42</count> + <WinNumber>1</WinNumber> + <ItemText>rec_nearbase_num</ItemText> + </Ww> + <Ww> + <count>43</count> + <WinNumber>1</WinNumber> + <ItemText>test4</ItemText> + </Ww> + <Ww> + <count>44</count> + <WinNumber>1</WinNumber> + <ItemText>rec_nearbase_num</ItemText> + </Ww> + <Ww> + <count>45</count> + <WinNumber>1</WinNumber> + <ItemText>tt2</ItemText> + </Ww> + <Ww> + <count>46</count> + <WinNumber>1</WinNumber> + <ItemText>Voltage_input,0x0A</ItemText> + </Ww> + <Ww> + <count>47</count> + <WinNumber>1</WinNumber> + <ItemText>rx_rpt</ItemText> + </Ww> + <Ww> + <count>48</count> + <WinNumber>1</WinNumber> + <ItemText>rx_report</ItemText> + </Ww> + <Ww> + <count>49</count> + <WinNumber>1</WinNumber> + <ItemText>u32CurTick_Motor,0x0A</ItemText> + </Ww> + <Ww> + <count>50</count> + <WinNumber>1</WinNumber> + <ItemText>l_u32MotorPollTick,0x0A</ItemText> + </Ww> + <Ww> + <count>51</count> + <WinNumber>1</WinNumber> + <ItemText>tt</ItemText> + </Ww> + <Ww> + <count>52</count> + <WinNumber>1</WinNumber> + <ItemText>TCP_reconnect_timer,0x0A</ItemText> + </Ww> + <Ww> + <count>53</count> + <WinNumber>1</WinNumber> + <ItemText>send_ble_buffer</ItemText> + </Ww> + <Ww> + <count>54</count> + <WinNumber>1</WinNumber> + <ItemText>send_buffer</ItemText> + </Ww> + <Ww> + <count>55</count> + <WinNumber>1</WinNumber> + <ItemText>tagdist_list</ItemText> + </Ww> + <Ww> + <count>56</count> + <WinNumber>1</WinNumber> + <ItemText>tagid_list</ItemText> + </Ww> + <Ww> + <count>57</count> + <WinNumber>1</WinNumber> + <ItemText>rx_buf</ItemText> + </Ww> + <Ww> + <count>58</count> + <WinNumber>1</WinNumber> + <ItemText>tagofflinetime</ItemText> + </Ww> + <Ww> + <count>59</count> + <WinNumber>1</WinNumber> + <ItemText>tagid_list</ItemText> + </Ww> + <Ww> + <count>60</count> + <WinNumber>1</WinNumber> + <ItemText>tagdist_list</ItemText> </Ww> </WatchWindow1> + <WatchWindow2> + <Ww> + <count>0</count> + <WinNumber>2</WinNumber> + <ItemText>send_buffer</ItemText> + </Ww> + <Ww> + <count>1</count> + <WinNumber>2</WinNumber> + <ItemText>rx_buf</ItemText> + </Ww> + <Ww> + <count>2</count> + <WinNumber>2</WinNumber> + <ItemText>tagid_list</ItemText> + </Ww> + <Ww> + <count>3</count> + <WinNumber>2</WinNumber> + <ItemText>tagdist_list,0x0A</ItemText> + </Ww> + <Ww> + <count>4</count> + <WinNumber>2</WinNumber> + <ItemText>tagdist_list,0x0A</ItemText> + </Ww> + <Ww> + <count>5</count> + <WinNumber>2</WinNumber> + <ItemText>tagdist_list,0x0A</ItemText> + </Ww> + <Ww> + <count>6</count> + <WinNumber>2</WinNumber> + <ItemText>tagofflinetime,0x0A</ItemText> + </Ww> + <Ww> + <count>7</count> + <WinNumber>2</WinNumber> + <ItemText>send_buffer</ItemText> + </Ww> + <Ww> + <count>8</count> + <WinNumber>2</WinNumber> + <ItemText>tagdist_list,0x0A</ItemText> + </Ww> + <Ww> + <count>9</count> + <WinNumber>2</WinNumber> + <ItemText>tagdist_list</ItemText> + </Ww> + <Ww> + <count>10</count> + <WinNumber>2</WinNumber> + <ItemText>num1,0x0A</ItemText> + </Ww> + <Ww> + <count>11</count> + <WinNumber>2</WinNumber> + <ItemText>g_com_map[10],0x0A</ItemText> + </Ww> + <Ww> + <count>12</count> + <WinNumber>2</WinNumber> + <ItemText>tagdist_list,0x0A</ItemText> + </Ww> + <Ww> + <count>13</count> + <WinNumber>2</WinNumber> + <ItemText>ancrec_nearbasepos</ItemText> + </Ww> + <Ww> + <count>14</count> + <WinNumber>2</WinNumber> + <ItemText>pos_temp</ItemText> + </Ww> + </WatchWindow2> <MemoryWindow1> <Mm> <WinNumber>1</WinNumber> <SubType>8</SubType> - <ItemText>_u8Data</ItemText> + <ItemText>send_ble_buffer</ItemText> <AccSizeX>0</AccSizeX> </Mm> </MemoryWindow1> @@ -313,7 +560,7 @@ <aPa1>0</aPa1> <AscS4>0</AscS4> <aSer4>0</aSer4> - <StkLoc>0</StkLoc> + <StkLoc>1</StkLoc> <TrcWin>0</TrcWin> <newCpu>0</newCpu> <uProt>0</uProt> @@ -412,7 +659,7 @@ <Group> <GroupName>Driver</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> @@ -755,8 +1002,8 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> - <PathWithFileName>.\dw_app_anchor.c</PathWithFileName> - <FilenameWithoutPath>dw_app_anchor.c</FilenameWithoutPath> + <PathWithFileName>.\dw_tag.c</PathWithFileName> + <FilenameWithoutPath>dw_tag.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> @@ -767,6 +1014,18 @@ <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> + <PathWithFileName>.\dw_app_anchor.c</PathWithFileName> + <FilenameWithoutPath>dw_app_anchor.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>35</FileNumber> + <FileType>1</FileType> + <tvExp>1</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> <PathWithFileName>.\include\drivers\global_param.c</PathWithFileName> <FilenameWithoutPath>global_param.c</FilenameWithoutPath> <RteFlg>0</RteFlg> @@ -774,7 +1033,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>35</FileNumber> + <FileNumber>36</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -786,7 +1045,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>36</FileNumber> + <FileNumber>37</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -798,7 +1057,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>37</FileNumber> + <FileNumber>38</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -810,7 +1069,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>38</FileNumber> + <FileNumber>39</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -822,7 +1081,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>39</FileNumber> + <FileNumber>40</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -834,7 +1093,7 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>40</FileNumber> + <FileNumber>41</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -846,13 +1105,25 @@ </File> <File> <GroupNumber>4</GroupNumber> - <FileNumber>41</FileNumber> + <FileNumber>42</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <bDave2>0</bDave2> <PathWithFileName>.\uwb_app.c</PathWithFileName> <FilenameWithoutPath>uwb_app.c</FilenameWithoutPath> + <RteFlg>0</RteFlg> + <bShared>0</bShared> + </File> + <File> + <GroupNumber>4</GroupNumber> + <FileNumber>43</FileNumber> + <FileType>1</FileType> + <tvExp>0</tvExp> + <tvExpOptDlg>0</tvExpOptDlg> + <bDave2>0</bDave2> + <PathWithFileName>.\uwb_tag.c</PathWithFileName> + <FilenameWithoutPath>uwb_tag.c</FilenameWithoutPath> <RteFlg>0</RteFlg> <bShared>0</bShared> </File> @@ -866,7 +1137,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>5</GroupNumber> - <FileNumber>42</FileNumber> + <FileNumber>44</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -878,7 +1149,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>43</FileNumber> + <FileNumber>45</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -890,7 +1161,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>44</FileNumber> + <FileNumber>46</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -902,7 +1173,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>45</FileNumber> + <FileNumber>47</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -914,7 +1185,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>46</FileNumber> + <FileNumber>48</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -926,7 +1197,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>47</FileNumber> + <FileNumber>49</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -938,7 +1209,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>48</FileNumber> + <FileNumber>50</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -950,7 +1221,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>49</FileNumber> + <FileNumber>51</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -962,7 +1233,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>50</FileNumber> + <FileNumber>52</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -974,7 +1245,7 @@ </File> <File> <GroupNumber>5</GroupNumber> - <FileNumber>51</FileNumber> + <FileNumber>53</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -994,7 +1265,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>6</GroupNumber> - <FileNumber>52</FileNumber> + <FileNumber>54</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1006,7 +1277,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>53</FileNumber> + <FileNumber>55</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1018,7 +1289,7 @@ </File> <File> <GroupNumber>6</GroupNumber> - <FileNumber>54</FileNumber> + <FileNumber>56</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1046,7 +1317,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>8</GroupNumber> - <FileNumber>55</FileNumber> + <FileNumber>57</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1058,7 +1329,7 @@ </File> <File> <GroupNumber>8</GroupNumber> - <FileNumber>56</FileNumber> + <FileNumber>58</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1072,13 +1343,13 @@ <Group> <GroupName>HidoLib</GroupName> - <tvExp>0</tvExp> + <tvExp>1</tvExp> <tvExpOptDlg>0</tvExpOptDlg> <cbSel>0</cbSel> <RteFlg>0</RteFlg> <File> <GroupNumber>9</GroupNumber> - <FileNumber>57</FileNumber> + <FileNumber>59</FileNumber> <FileType>4</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1098,7 +1369,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>10</GroupNumber> - <FileNumber>58</FileNumber> + <FileNumber>60</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1110,7 +1381,7 @@ </File> <File> <GroupNumber>10</GroupNumber> - <FileNumber>59</FileNumber> + <FileNumber>61</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1122,7 +1393,7 @@ </File> <File> <GroupNumber>10</GroupNumber> - <FileNumber>60</FileNumber> + <FileNumber>62</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1134,7 +1405,7 @@ </File> <File> <GroupNumber>10</GroupNumber> - <FileNumber>61</FileNumber> + <FileNumber>63</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1146,7 +1417,7 @@ </File> <File> <GroupNumber>10</GroupNumber> - <FileNumber>62</FileNumber> + <FileNumber>64</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1158,7 +1429,7 @@ </File> <File> <GroupNumber>10</GroupNumber> - <FileNumber>63</FileNumber> + <FileNumber>65</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1170,7 +1441,7 @@ </File> <File> <GroupNumber>10</GroupNumber> - <FileNumber>64</FileNumber> + <FileNumber>66</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> @@ -1190,7 +1461,7 @@ <RteFlg>0</RteFlg> <File> <GroupNumber>11</GroupNumber> - <FileNumber>65</FileNumber> + <FileNumber>67</FileNumber> <FileType>1</FileType> <tvExp>0</tvExp> <tvExpOptDlg>0</tvExpOptDlg> -- Gitblit v1.9.3