From 53c6d41276887221b453cd51a66b6c45e652e4dc Mon Sep 17 00:00:00 2001
From: wujunchao <24472040@qq.com>
Date: Fri, 12 Apr 2024 17:00:37 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
App/Inc/ads1220.h | 2 +-
App/Inc/delay.h | 8 +-
App/Inc/key.h | 2 +-
App/Inc/m1820.h | 19 +-
App/Inc/tmc5160.h | 9 +-
App/Src/ads1220.c | 7 +-
App/Src/app.c | 42 +-
App/Src/delay.c | 78 +-
App/Src/key.c | 43 +-
App/Src/m1820.c | 460 ++--
App/Src/oled.c | 78 +-
App/Src/tmc5160.c | 300 ++-
Inc/app.h | 5 +-
Inc/misc.h | 220 ++
MDK-ARM/mfps.uvguix.EthanWu | 255 +--
MDK-ARM/mfps.uvguix.吴俊潮 | 1878 +++++++++++++++++
MDK-ARM/mfps.uvoptx | 119 +-
MDK-ARM/mfps.uvprojx | 12 +-
MDK-ARM/mfps/ads1220.crf | Bin 639436 -> 639571 bytes
MDK-ARM/mfps/ads1220.d | 4 +-
MDK-ARM/mfps/ads1220.o | Bin 720692 -> 721524 bytes
MDK-ARM/mfps/app.crf | Bin 641895 -> 642234 bytes
MDK-ARM/mfps/app.d | 14 +-
MDK-ARM/mfps/app.o | Bin 714628 -> 715208 bytes
MDK-ARM/mfps/delay.crf | Bin 634687 -> 635127 bytes
MDK-ARM/mfps/delay.d | 2 +-
MDK-ARM/mfps/delay.o | Bin 704992 -> 708592 bytes
MDK-ARM/mfps/gpio.o | Bin 700452 -> 700732 bytes
MDK-ARM/mfps/i2c.o | Bin 703760 -> 704064 bytes
MDK-ARM/mfps/key.crf | Bin 638025 -> 638581 bytes
MDK-ARM/mfps/key.d | 9 +-
MDK-ARM/mfps/key.o | Bin 705680 -> 708312 bytes
MDK-ARM/mfps/m1820.crf | Bin 636149 -> 635919 bytes
MDK-ARM/mfps/m1820.d | 3 +-
MDK-ARM/mfps/m1820.o | Bin 716528 -> 715460 bytes
MDK-ARM/mfps/main.crf | Bin 641972 -> 642869 bytes
MDK-ARM/mfps/main.d | 10 +-
MDK-ARM/mfps/main.o | Bin 714772 -> 717048 bytes
MDK-ARM/mfps/mfps.axf | Bin 724408 -> 756968 bytes
MDK-ARM/mfps/mfps.build_log.htm | 45 +-
MDK-ARM/mfps/mfps.hex | 2813 ++++++++++++++++---------
MDK-ARM/mfps/mfps.htm | 1952 ++++++++++-------
MDK-ARM/mfps/mfps.lnp | 1 +
MDK-ARM/mfps/mfps.map | 2254 +++++++++++---------
MDK-ARM/mfps/mfps_mfps.dep | 142 +-
MDK-ARM/mfps/misc.crf | Bin 0 -> 241648 bytes
MDK-ARM/mfps/misc.d | 10 +
MDK-ARM/mfps/misc.o | Bin 0 -> 263236 bytes
MDK-ARM/mfps/mylib.crf | Bin 634522 -> 634522 bytes
MDK-ARM/mfps/mylib.d | 2 +-
MDK-ARM/mfps/mylib.o | Bin 708636 -> 708916 bytes
MDK-ARM/mfps/oled.crf | Bin 648328 -> 648376 bytes
MDK-ARM/mfps/oled.d | 4 +-
MDK-ARM/mfps/oled.o | Bin 739464 -> 740276 bytes
MDK-ARM/mfps/serial_port.crf | Bin 636522 -> 636520 bytes
MDK-ARM/mfps/serial_port.d | 2 +-
MDK-ARM/mfps/serial_port.o | Bin 704676 -> 704968 bytes
MDK-ARM/mfps/spi.crf | Bin 634566 -> 634566 bytes
MDK-ARM/mfps/spi.o | Bin 703740 -> 704040 bytes
MDK-ARM/mfps/startup_stm32f103xe.o | Bin 6792 -> 6800 bytes
MDK-ARM/mfps/stm32f1xx_hal.o | Bin 731996 -> 732460 bytes
MDK-ARM/mfps/stm32f1xx_hal_cortex.o | Bin 721932 -> 722316 bytes
MDK-ARM/mfps/stm32f1xx_hal_dma.o | Bin 720744 -> 721104 bytes
MDK-ARM/mfps/stm32f1xx_hal_exti.o | Bin 711320 -> 711648 bytes
MDK-ARM/mfps/stm32f1xx_hal_flash.o | Bin 719240 -> 719616 bytes
MDK-ARM/mfps/stm32f1xx_hal_flash_ex.o | Bin 718632 -> 718984 bytes
MDK-ARM/mfps/stm32f1xx_hal_gpio.o | Bin 710908 -> 711228 bytes
MDK-ARM/mfps/stm32f1xx_hal_gpio_ex.o | Bin 700740 -> 701020 bytes
MDK-ARM/mfps/stm32f1xx_hal_i2c.o | Bin 848676 -> 849524 bytes
MDK-ARM/mfps/stm32f1xx_hal_msp.o | Bin 699276 -> 699548 bytes
MDK-ARM/mfps/stm32f1xx_hal_pwr.o | Bin 722136 -> 722536 bytes
MDK-ARM/mfps/stm32f1xx_hal_rcc.o | Bin 721584 -> 721952 bytes
MDK-ARM/mfps/stm32f1xx_hal_rcc_ex.o | Bin 702944 -> 703224 bytes
MDK-ARM/mfps/stm32f1xx_hal_spi.o | Bin 787512 -> 788208 bytes
MDK-ARM/mfps/stm32f1xx_hal_tim.o | Bin 899308 -> 900500 bytes
MDK-ARM/mfps/stm32f1xx_hal_tim_ex.o | Bin 772564 -> 773156 bytes
MDK-ARM/mfps/stm32f1xx_hal_uart.o | Bin 798032 -> 798768 bytes
MDK-ARM/mfps/stm32f1xx_it.crf | Bin 635293 -> 635257 bytes
MDK-ARM/mfps/stm32f1xx_it.o | Bin 723404 -> 723736 bytes
MDK-ARM/mfps/system_stm32f1xx.o | Bin 699672 -> 699952 bytes
MDK-ARM/mfps/tim.o | Bin 703716 -> 704020 bytes
MDK-ARM/mfps/tmc5160.crf | Bin 635123 -> 638142 bytes
MDK-ARM/mfps/tmc5160.d | 5 +-
MDK-ARM/mfps/tmc5160.o | Bin 709372 -> 712212 bytes
MDK-ARM/mfps/usart.o | Bin 707656 -> 707976 bytes
Src/main.c | 19 +-
Src/misc.c | 225 ++
Src/stm32f1xx_it.c | 3 +-
88 files changed, 7557 insertions(+), 3499 deletions(-)
create mode 100644 Inc/misc.h
create mode 100644 MDK-ARM/mfps.uvguix.吴俊潮
create mode 100644 MDK-ARM/mfps/misc.crf
create mode 100644 MDK-ARM/mfps/misc.d
create mode 100644 MDK-ARM/mfps/misc.o
create mode 100644 Src/misc.c
diff --git a/App/Inc/ads1220.h b/App/Inc/ads1220.h
index 5e6d30c..48f9107 100644
--- a/App/Inc/ads1220.h
+++ b/App/Inc/ads1220.h
@@ -185,7 +185,7 @@ extern unsigned char PolarFlag;
#define DRDY_Mode1 0x02 //1ͬʱͨ DOUT/DRDY DRDY ָʾݾ
void ADS1220_Init(void);
-unsigned long GetAD(unsigned char channel);
+float GetAD(unsigned char channel);
void ADS1220_GPIOInit(void);
#endif
diff --git a/App/Inc/delay.h b/App/Inc/delay.h
index 2dc46be..cc9d12a 100644
--- a/App/Inc/delay.h
+++ b/App/Inc/delay.h
@@ -1,7 +1,13 @@
#ifndef _DELAY_H
#define _DELAY_H
+#include "main.h"
+
+void delay_init(void); //ʱʼ
void delay_10ms(int tm);
-void delay_us(int tm);
+void delay_us(uint32_t nus);
void delay_ns(int tm);
+void delay(unsigned long count);
+
+
#endif
diff --git a/App/Inc/key.h b/App/Inc/key.h
index 4fba2bd..6995edb 100644
--- a/App/Inc/key.h
+++ b/App/Inc/key.h
@@ -11,6 +11,6 @@ void Key_Scan(void);
// K1, K2, K3三者模式独立
//按键功能
void key_act(void);
-
+void msg_clr(void);
#endif
diff --git a/App/Inc/m1820.h b/App/Inc/m1820.h
index 6536720..67dbced 100644
--- a/App/Inc/m1820.h
+++ b/App/Inc/m1820.h
@@ -1,19 +1,20 @@
-
-#ifndef _DELAY_H
-#define _DELAY_H
+#ifndef _M1820_H
+#define _M1820_H
#include "main.h"
void M1820_GPIO_Init(void);
-
+void M1820_Rst(void) ;
+uint8_t M1820_Check(void) ;
+uint8_t M1820_Read_Bit(void) ;
+uint8_t M1820_Read_Byte(void);
+void M1820_Write_Byte(uint8_t dat);
void M1820_Start(void);
-
-void M1820_Wr_Onebyte(unsigned char dat); //дλ
-
-unsigned char M1820_Rd_Onebytr(void); //ȶλ
-
+uint8_t M1820_Init(void);
+float M1820_Get_Temp(void);
void M1820_Act(void);
+extern float TEMP;
#endif
diff --git a/App/Inc/tmc5160.h b/App/Inc/tmc5160.h
index 3835a65..001c054 100644
--- a/App/Inc/tmc5160.h
+++ b/App/Inc/tmc5160.h
@@ -3,10 +3,15 @@
#include "main.h"
-void TMC5160_SPIWriteInt(uint8_t addr, uint32_t data);
-void TMC5160_SPIReadInt(uint8_t addr);
+void TMC5160_SPIWriteInt(uint8_t addr, uint32_t data,uint8_t rw);
+void TMC5160_SPIReadInt(uint8_t addr, uint8_t record[5]);
void tmc5160_init(void);
void tmc5160_act(void);
+void TMC5160A_Init_Gpio(void);
+
+//void TMC5160A_SPI_Transmit(unsigned char val);
+
+//void TMC5160A_SPI_Receive(unsigned char *val);
#endif
diff --git a/App/Src/ads1220.c b/App/Src/ads1220.c
index 8ebb419..2a9eef5 100644
--- a/App/Src/ads1220.c
+++ b/App/Src/ads1220.c
@@ -258,8 +258,9 @@ void CofigAD(unsigned char channel)
*Ŀ:õ
*************************************************************************/
-unsigned long GetAD(unsigned char channel)
+float GetAD(unsigned char channel)
{
+ float Result_f;
unsigned long Result;
unsigned long delay_cnt = 0;
CofigAD(channel);
@@ -284,7 +285,9 @@ unsigned long GetAD(unsigned char channel)
}
else PolarFlag =0;
- return Result;
+ Result_f = (float)Result*1000*2.499/(1048575) + 150;//20λ
+ Result_f /= 10.0;
+ return Result_f;
}
diff --git a/App/Src/app.c b/App/Src/app.c
index 8810896..ec33c05 100644
--- a/App/Src/app.c
+++ b/App/Src/app.c
@@ -13,8 +13,10 @@
#include "tmc5160.h"
-unsigned long tempA;
+float X_ads1220;
float vol;
+
+
void app_act (void)
{
//1按键操作
@@ -22,36 +24,34 @@ void app_act (void)
key_act(); //按键执行功能
//2定时器
- //if(it_1000ms_flag == 1)
- //{
- // it_1000ms_flag = 0;
- //HAL_GPIO_TogglePin(LED_NOR_GPIO_Port,LED_NOR_Pin);
-
- //M1820_Act();
-
- //}
+ if(it_1000ms_flag == 1)
+ {
+ it_1000ms_flag = 0;
+ M1820_Act(); //温度采集
+ X_ads1220 = GetAD(4); //电阻尺采集
+ tmc5160_act(); //电机执行功能
+ }
//3 串口通信
//Tx_RX_UART1();
//uart_test();
//4 OLED
-// if(it_100ms_flag)
-// {
-// it_100ms_flag = 0;
-// OLED_Act();
-// }
+ if(it_100ms_flag)
+ {
+ it_100ms_flag = 0;
+ OLED_Act();
+ }
//5 电阻尺 位移传感器
-// tempA = GetAD(4);
-// tempA = (float)tempA*1000*2.499/(1048575) + 150;//20位精度
+ // X_ads1220 = GetAD(4);
//6 电机
- if(it_1000ms_flag)
- {
- it_1000ms_flag = 0;
- tmc5160_act();
- }
+// if(it_1000ms_flag)
+// {
+// it_1000ms_flag = 0;
+// tmc5160_act();
+// }
}
diff --git a/App/Src/delay.c b/App/Src/delay.c
index 1f8e0a3..edb2190 100644
--- a/App/Src/delay.c
+++ b/App/Src/delay.c
@@ -3,6 +3,44 @@
#include "tim.h"
#include "app.h"
+
+static uint8_t fac_us=0; //usʱ
+//static uint16_t fac_ms=0; //msʱ,ucos,ÿĵms
+#define SysTick_CLKSource_HCLK_Div8 ((uint32_t)0xFFFFFFFB)
+#define SysTick_CLKSource_HCLK ((uint32_t)0x00000004)
+
+//#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \
+// ((SOURCE) == SysTick_CLKSource_HCLK_Div8))
+
+extern void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource);
+
+//ʼӳٺ
+//ʹOSʱ,˺ʼOSʱӽ
+//SYSTICKʱӹ̶ΪHCLKʱӵ1/8
+//SYSCLK:ϵͳʱ
+void delay_init()
+{
+#if SYSTEM_SUPPORT_OS //Ҫ֧OS.
+ u32 reload;
+#endif
+ SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //ѡⲿʱ HCLK/8
+ fac_us=SystemCoreClock/8000000; //Ϊϵͳʱӵ1/8
+#if SYSTEM_SUPPORT_OS //Ҫ֧OS.
+ reload=SystemCoreClock/8000000; //ÿӵļ λΪM
+ reload*=1000000/delay_ostickspersec; //delay_ostickspersec趨ʱ
+ //reloadΪ24λĴ,ֵ:16777216,72M,Լ1.86s
+ fac_ms=1000/delay_ostickspersec; //OSʱٵλ
+
+ SysTick->CTRL|=SysTick_CTRL_TICKINT_Msk; //SYSTICKж
+ SysTick->LOAD=reload; //ÿ1/delay_ostickspersecжһ
+ SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk; //SYSTICK
+
+#else
+// fac_ms=(uint16_t)fac_us*1000; //OS,ÿmsҪsystickʱ
+#endif
+}
+
+
void delay_10ms(int tm)//ʱtm*10 ms
{
it_10ms_flag = 0;
@@ -16,23 +54,45 @@ void delay_10ms(int tm)//
}
}
+//int ts = 33;
+//void delay_us(int tm) //stm32 72MHz ִһָʱΪ 11~100ns30ns
+//{
+// int i = 0,j = 0;
+// for(i = 0;i < tm;i++)
+// {
+// for(j = 0;j < ts;j++);
+// }
+//}
-void delay_us(int tm)
-{
- int i = 0,j = 0;
- for(i = 0;i < tm;i++)
+void delay_us(uint32_t nus)
+{
+ uint32_t temp;
+ SysTick->LOAD=nus*fac_us; //ʱ
+ SysTick->VAL=0x00; //ռ
+ SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk ; //ʼ
+ do
{
- for(j = 0;j < 1000;j++);
- }
+ temp=SysTick->CTRL;
+ }while((temp&0x01)&&!(temp&(1<<16))); //ȴʱ䵽
+ SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk; //رռ
+ SysTick->VAL =0X00; //ռ
}
-
void delay_ns(int tm)
{
- int i = 0,j = 0;
+ int i = 0;
for(i = 0;i < tm;i++)
{
- for(j = 0;j < 10;j++);
}
}
+void delay(unsigned long count)
+{
+ while(count--)
+ __NOP();
+
+}
+
+
+
+
diff --git a/App/Src/key.c b/App/Src/key.c
index 8a9b9f6..41520b7 100644
--- a/App/Src/key.c
+++ b/App/Src/key.c
@@ -2,19 +2,17 @@
#include "main.h"
#include "tmc5160.h"
#include "oled.h"
+#include "delay.h"
unsigned char key_i = 0;
-unsigned int key_cnt[3];//延时用计数
-unsigned char key_msg[3];//按键事件
-unsigned char key_val[3];//按键值
-
-#define KEY_CNT 100
-
+unsigned int key_cnt[3] = {0};//延时用计数
+unsigned char key_msg[3] = {0};//按键事件
+unsigned char key_val[3] = {0};//按键值
+#define KEY_CNT 5
void Key_Scan(void) // 扫描K1-K3的状态
{
-// char no = 0;
key_val[0] = HAL_GPIO_ReadPin(KEY1_GPIO_Port, KEY1_Pin);
key_val[1] = HAL_GPIO_ReadPin(KEY2_GPIO_Port, KEY2_Pin);
key_val[2] = HAL_GPIO_ReadPin(KEY3_GPIO_Port, KEY3_Pin);
@@ -37,7 +35,7 @@ void Key_Scan(void) // 扫描K1-K3的状态
if(key_cnt[key_i] > KEY_CNT)
{
key_cnt[key_i] = 0;
- key_msg[key_i] = 2;//完成按下+抬起
+ key_msg[key_i] = 0;//完成抬起动作后,再清空事件
}
}
@@ -46,27 +44,38 @@ void Key_Scan(void) // 扫描K1-K3的状态
if(key_i >= 3) key_i = 0;
}
-
+void msg_clr()
+{
+ key_msg[0] = 0;
+ key_msg[1] = 0;
+ key_msg[2] = 0;
+}
//按键功能
void key_act(void)
{
- if(key_msg[0] == 2)//K1完成按下+抬起后,绿灯亮起,蓝灯熄灭
+ if(key_msg[0] == 1)//K1完成按下后,绿灯亮起,蓝灯熄灭,点亮OLED
{
HAL_GPIO_WritePin(LED_NOR_GPIO_Port,LED_NOR_Pin,GPIO_PIN_RESET);
HAL_GPIO_WritePin(LED_ERR_GPIO_Port,LED_ERR_Pin,GPIO_PIN_SET);
-
- //tmc5160_act();
-
- key_msg[0] = 0; //清除按键事件
+ OLED_DisPlay_On();
+
+
}
- if(key_msg[1] == 2)//K2完成按下+抬起后,绿灯熄灭,蓝灯亮起
+ if(key_msg[1] == 1)//K2完成按下后,绿灯熄灭,蓝灯亮起,熄灭OLED
{
HAL_GPIO_WritePin(LED_NOR_GPIO_Port,LED_NOR_Pin,GPIO_PIN_SET);
HAL_GPIO_WritePin(LED_ERR_GPIO_Port,LED_ERR_Pin,GPIO_PIN_RESET);
-
- key_msg[1] = 0;
+ OLED_DisPlay_Off();
+
+ }
+
+ if(key_msg[2] == 1)//K3完成按下后,熄灭蓝灯和绿灯
+ {
+ HAL_GPIO_WritePin(LED_NOR_GPIO_Port,LED_NOR_Pin,GPIO_PIN_SET);
+ HAL_GPIO_WritePin(LED_ERR_GPIO_Port,LED_ERR_Pin,GPIO_PIN_SET);
+
}
}
diff --git a/App/Src/m1820.c b/App/Src/m1820.c
index 5ea5985..5027da4 100644
--- a/App/Src/m1820.c
+++ b/App/Src/m1820.c
@@ -1,10 +1,13 @@
-
+#include "m1820.h"
#include "main.h"
#include "delay.h"
-#define IO_H HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_SET)
-#define IO_L HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_RESET)
-#define IO_R HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_11)
+#define IO_H HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_SET) //PC10 Tx
+#define IO_L HAL_GPIO_WritePin(GPIOC,GPIO_PIN_10,GPIO_PIN_RESET) //PC10 Tx
+
+#define IO_R HAL_GPIO_ReadPin(GPIOC,GPIO_PIN_11) //PC11 Rx
+
+
void M1820_GPIO_Init(void)
{
@@ -14,13 +17,13 @@ void M1820_GPIO_Init(void)
__HAL_RCC_GPIOC_CLK_ENABLE();
GPIO_InitStruct.Pin = GPIO_PIN_11;
- GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT; //PC11 Rx
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_10;
- GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; //PC10 Tx
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
@@ -28,282 +31,201 @@ void M1820_GPIO_Init(void)
}
-unsigned char M1820_Start()
+//ƬֻҪһͨIOںM1820DQȻIOߵ͵ƽ
+
+//λM1820
+//ãλ
+void M1820_Rst(void)
+{
+// M1820_IO_OUT(); //ѵƬIOΪ
+ IO_L; //DQ
+ delay_us(750); //750usʱǸM1820Ĺģֲ480-960us
+ IO_H; //DQ
+ delay_us(15); //15US
+}
+
+//ȴM1820ĻӦ
+//ã鵥ƬM1820ͨѶǷ
+//1:δM1820ĴڣDQû裬ͨѶʱԣоƬԭ
+//0:
+uint8_t M1820_Check(void)
+{
+ uint8_t retry=0;
+// DS18B20_IO_IN();//SET PA0 INPUT
+ while ((IO_R == 1) && retry<200)
+ {
+ retry++;
+ delay_us(1);
+ };
+ if(retry>=200)return 1;
+ else retry=0;
+ while ((IO_R == 0) && retry<240)
+ {
+ retry++;
+ delay_us(1);
+ };
+ if(retry>=240)return 1;
+ return 0;
+}
+//M1820ȡһλ
+//ãȡһλݣظøúʪݶ
+//ֵ1/0
+uint8_t M1820_Read_Bit(void) // read one bit
{
-// IO_H;
-// delay_us(7);
-// IO_L;
-// delay_us(80);
-// IO_H;
-// delay_us(7);
-// while(0 == IO_R);
-// IO_H;
+ uint8_t data;
+// M1820_IO_OUT(); //Ƭһɵ͵ߵM1820
+ IO_L;
+ delay_us(2);
+ IO_H;
+// M1820_IO_IN(); //IOΪ룬ȡƽ
+ delay_us(12);
+ if(IO_R)
+ { //ǸߵƽM1820'1'Ϊ'0'
+ data = 1;
+ }
+ else
+ {
+ data = 0;
+ }
+ delay_us(50); //жʱ϶ٳ60us
+ return data;
+}
+
+//M1820ȡһֽ
+//ã8λϳһֽ
+//ֵ
+uint8_t M1820_Read_Byte(void) // read one byte
+{
+ uint8_t i,j,dat;
+ dat = 0;
+ for (i = 1;i <= 8;i++)
+ {
+ j = M1820_Read_Bit(); //8
+ dat = (j << 7) | (dat >> 1);//Ȱ֮ǰ1λٰ¶λ8ѭһֽ
+ }
+ return dat; //غϳɵ1ֽ
+}
+
+
+//дһֽڵM1820
+//ãдݵM1820ԷָM1820
+//datҪдֽ
+void M1820_Write_Byte(uint8_t dat)//ݴȵͺ
+ {
+ uint8_t j;
+ uint8_t testb;
+ // M1820_IO_OUT();//SET PA0 OUTPUT;
+ for (j = 1;j <= 8;j++)
+ {
+ testb = dat & 0x01; //Ѵݵλȡ
+ dat = dat >> 1; //datұ1λǰѴθλƵλƳ1λһбtestb¼
+ if (testb) //λΪ'1'
+ {
+ IO_L; // Write 1
+ delay_us(2); //дʱ϶ʱָʱ1us
+ IO_H; //60usߵƽ൱ڸM1820Ҫ'1'
+ delay_us(60); //дʱ϶ٳ60us
+ }
+ else //λΪ'0'
+ {
+ IO_L; //60us͵ƽ൱ڸM1820Ҫ'0'
+ delay_us(60); //дʱ϶ٳ60us
+ IO_H;
+ delay_us(2); //дʱ϶ʱָʱ1us
+ }
+ }
+}
+
+
+//ʼ¶ת
+//ãM1820жȡ¶
+void M1820_Start(void) // ds1820 start convert
+{
+ M1820_Rst(); //λ
+ M1820_Check(); //鵥ƬM1820ͨѶǷ
+ M1820_Write_Byte(0xcc); //Ѱַϵд豸ϸ˵ԲοֲROM COMMANDS
+ M1820_Write_Byte(0x44); //0x44Ϊ¶תϸ˵ԲοֲROM COMMANDS
+}
+
+
+//ʼM1820IODQ ͬʱM1820Ĵ
+//1:
+//0:
+
+uint8_t M1820_Init(void)
+{
+// GPIO_InitTypeDef GPIO_InitStructure;
+// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //ʹPORTAʱ
+// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PORTA0
+// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
+// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
+// GPIO_Init(GPIOA, &GPIO_InitStructure);
+
+// GPIO_SetBits(GPIOA,GPIO_Pin_0); //1
-
- unsigned char i = 0;
- IO_L; //0
- delay_us(642); //ʱ480-960us
- //ʵʱ642us
- IO_H; //ߺʱȴ80usжDSǷӦӦᱻٴ
+ M1820_GPIO_Init(); //˿ڳʼ
- i=0;
- while(IO_R) //жDSǷӦ
- {
- delay_us(10);
- i++;
- if(i>5)
- {
- return 0; //жϳʱ¶ȴΪ
- }
- }
- return 1; //¶ȴ
+ IO_H; // 1
+
+ M1820_Rst(); //λ
+
+ return M1820_Check();
+}
+
+//M1820õ¶ֵ
+//ȣ0.1C
+//ֵ¶ֵ -550~1250
+float M1820_Get_Temp(void)
+{
+ uint8_t t_sign = 0;
+ uint8_t TL = 0,TH = 0;
+ short temp = 0;
-}
-
-void M1820_Wr_Onebyte(unsigned char dat) //дλ
-{
- unsigned char i = 0;
- for(i=0;i < 8;i++)
- {
- IO_L;
- delay_us(7);
- if(dat & 0x01)
- {
- IO_H;
- }
- else{
- IO_L;
- }
- delay_us(10);//error1ɼԼľУʲôҲøɡ
- IO_H;
- dat >>= 1;
- }
-}
-
-unsigned char M1820_Rd_Onebytr(void) //ȶλ
-{
- unsigned char i,j,dat;
- for(i=0;i<8;i++)
- {
- IO_L;
- delay_us(7);
- IO_H;
- j = IO_R;
- delay_us(14);
- dat = (dat>>1)|(j<<7);
- delay_us(5);
- IO_H;
- }
- return dat;
-}
-
-unsigned char Ds18b20ReadByte() //ȡ
-{
- unsigned char j,bi,rdat;
+ M1820_Start (); //ʼɼ¶
+ M1820_Rst(); //λ
+ M1820_Check(); //鵥ƬM1820ͨѶǷ
+ M1820_Write_Byte(0xcc); //Ѱַϵд豸ϸ˵ԲοֲROM COMMANDS
+ M1820_Write_Byte(0xbe); //0x44Ϊ¶תϸ˵ԲοֲROM COMMANDS
- rdat = 0;
- for(j=8;j>0;j--)
+//ֽɣλӦ2^(-8)-2^(-1)λӦ2^(0)-2^(6)+λλֱΪ2^(-8)1/256
+ TL = M1820_Read_Byte(); //ȡݵֽ
+ TH = M1820_Read_Byte(); //ȡݸֽ
+
+ if(TH > 7) //0x7F->011111110x7FζλΪ1ʾ
{
- IO_L; //1. 2.ʱ15us 3.ߣͷߣ
- //4.ʱ10us 5.ݵ״̬ݴ 6.ʱ45us
- delay_us(15);
-
- IO_H; //
-
- delay_us(15);
-
- bi = IO_R; //ȡ1bitݣ
- rdat = ( rdat >> 1 ) | (bi << 7 ); //bi = 1, 1000 0000 | 000000 = 1000 0000
-
- delay_us(45); //ʱ>45us
- }
- return rdat;
-}
-
-
-void Ds18b20WriteByte(unsigned char dat)
-{
- unsigned char j;
- for(j=0;j<8;j++)
+ t_sign = 0; //¶Ϊ
+ }
+ else
+ {
+ t_sign = 1; //¶Ϊ
+ }
+ temp = TH; //øֽ
+ temp <<= 8; //ֽλ8λ
+ temp += TL; //Ƶĸ8λϵ8λϳһ16λ
+ // tem = (float)tem/256+40; //M1820Zֲ ϶ = ST/256 + 408λӦ2^(-8)-2^(-1)8λӦ2^(0)-2^(6)+λλ
+ float result = 0;
+ if(t_sign)
{
- IO_L; //1. 2.ʱ15us 3.ݣλλ 4.ʱ60u 5.
- delay_us(20); //ʱ15us
- //DsPort = dat & 0x01; //
- if(dat & 0x01)
- {
- IO_H;
- }
- else{
- IO_L;
- }
- delay_us(30); //ʱ68us
- IO_H; //
- dat >>= 1; //һλһλ
+ result = (float)temp*0.0625;
+ return result; //¶ֵ
}
-}
-
-
-void ChangeTemp() //¶ת
-{
- //M1820_Start(); //ʼ
- //delay_us(1000); //ʱ
- Ds18b20WriteByte(0xCC); //CCΪROMֱӿ¶ת
- Ds18b20WriteByte(0x44); //44Ϊ¶תһҪ750msԲʱ
-}
-
-
-void ReadTempCom() //¶ȶȡָ
-{
- //M1820_Start(); //ʼ
- delay_us(1000); //ʱ
- Ds18b20WriteByte(0xCC); //CCΪROMֱӿ¶ת
- Ds18b20WriteByte(0xBE); //BEΪȡROMݣֽ
-}
-
-int temp = 0;
-unsigned char tmh,tml; //洢¶ȸ/ֽ
-
-int ReadTemp() //װȡ¶
-{
- ChangeTemp(); //¶ת
- ReadTempCom(); //¶ȶȡ
- tml = Ds18b20ReadByte(); //ROMĵֽ
- tmh = Ds18b20ReadByte(); //ROMĸֽ
- temp = tmh; //洢ֽ
- temp <<= 8;
- temp |= tml; //洢ֽ
- return temp;
-}
-
-
-int temp;
-unsigned char tem_h,tem_l,bai,shi,ge,shifen,baifen;
-
-char *p1 = "1:";
-char *p2 = "2:";
-char *p3 = "3:";
-char rom_1[8]={0x28,0xFF,0x2D,0x86,0x67,0x18,0x01,0x97};//18B20
-char rom_2[8]={0X28,0X00,0X4E,0X45,0X92,0X17,0X02,0X6D};
-char rom_3[8]={0x28,0x30,0x5F,0x45,0x92,0x0A,0x02,0x54};
+ else
+ {
+ temp = ~temp; //ȡ
+ result = - (float)temp*0.0625;
+ return result;
+ }
+}
+
//ִ
+float TEMP = 0;
void M1820_Act(void)
-{
- ReadTemp();
-
-
-
-// unsigned char i;
-// float j=0;
-//
-// M1820_Start();//18b20ʼź
-//
-//
-// M1820_Wr_Onebyte(0xcc);//ROMROM
-// //
-//
-// M1820_Wr_Onebyte(0x44);
-// M1820_Start();//18b20ʼź
-// // M1820_Wr_Onebyte(0x55);//ƥROM
-// // for(i=0;i<8;i++)
-// // {
-// // M1820_Wr_Onebyte(rom_1[i]);
-// // }
-// M1820_Wr_Onebyte(0xBE);
-//
-//
-//
-// tem_l = M1820_Rd_Onebytr();
-// tem_h = M1820_Rd_Onebytr();
-//
-//
-// temp = tem_h;
-// temp <<= 8;
-// temp |= tem_l;
-// if( temp < 0 )
-// {
-// temp = temp - 1;
-// temp = ~temp;
-// }
-// j = temp;
-// temp = j * 0.0625 * 100 + 0.5;
-// bai = (temp / 10000) + '0';
-// shi = (temp % 10000/1000) + '0';
-// ge = (temp % 1000/100) + '0';
-// shifen = (temp % 100/10) + '0';
-// baifen = temp % 10 + '0';
-
-// M1820_Start(); //18b20ʼź
-// M1820_Wr_Onebyte(0xcc); //ROMROM
-// M1820_Wr_Onebyte(0x44);
-// M1820_Start(); //18b20ʼź
-// M1820_Wr_Onebyte(0x55); //ƥROM
-// for(i=0;i<8;i++)
-// {
-// M1820_Wr_Onebyte(rom_2[i]);
-// }
-// M1820_Wr_Onebyte(0xBE);
-// tem_l = M1820_Rd_Onebytr();
-// tem_h = M1820_Rd_Onebytr();
-// temp = tem_h;
-// temp <<= 8;
-// temp |= tem_l;
-// if( temp < 0 )
-// {
-// temp = temp - 1;
-// temp = ~temp;
-// }
-//
-// j = temp;
-// temp = j * 0.0625 * 100 + 0.5;
-// bai = (temp / 10000) + '0';
-// shi = (temp % 10000/1000) + '0';
-// ge = (temp % 1000/100) + '0';
-// shifen = (temp % 100/10) + '0';
-// baifen = temp % 10 + '0';
-
-
-// M1820_Start();//18b20ʼź
-// M1820_Wr_Onebyte(0xcc);//ROMROM
-//
-//// for(i=0;i<8;i++)
-//// {
-//// rom_3[i] = M1820_Rd_Onebytr();
-//// }
-//// for(i=0;i<8;i++)
-//// {
-//// printf("%c",rom_3[i]);
-//// }
-
-// M1820_Wr_Onebyte(0x44);
-// M1820_Start();//18b20ʼź
-// M1820_Wr_Onebyte(0x55);//ƥROM
-// for(i=0;i<8;i++)
-// {
-// M1820_Wr_Onebyte(rom_3[i]);
-// }
-// M1820_Wr_Onebyte(0xBE);
-// tem_l = M1820_Rd_Onebytr();
-// tem_h = M1820_Rd_Onebytr();
-// temp = tem_h;
-// temp <<= 8;
-// temp |= tem_l;
-// if( temp < 0 )
-// {
-// temp = temp - 1;
-// temp = ~temp;
-// }
-// j = temp;
-// temp = j * 0.0625 * 100 + 0.5;
-// bai = (temp / 10000) + '0';
-// shi = (temp % 10000/1000) + '0';
-// ge = (temp % 1000/100) + '0';
-// shifen = (temp % 100/10) + '0';
-// baifen = temp % 10 + '0';
-
+{
+// M1820_Init();
+ TEMP = M1820_Get_Temp();
}
-
diff --git a/App/Src/oled.c b/App/Src/oled.c
index e3d4e83..48f82fa 100644
--- a/App/Src/oled.c
+++ b/App/Src/oled.c
@@ -17,7 +17,7 @@ uint8_t OLED_GRAM[OLED_PAGE][OLED_COLUMN];
void OLED_Send(uint8_t *data, uint8_t len)// 8bit * len
{
- HAL_I2C_Master_Transmit(&hi2c1, OLED_ADDRESS, data, len, 20);//1000
+ HAL_I2C_Master_Transmit(&hi2c1, OLED_ADDRESS, data, len,15);//1000
}
void OLED_SendCmd(uint8_t cmd)// [0x00;cmd]
@@ -72,12 +72,12 @@ void OLED_Init(void) {
OLED_SendCmd(0x20);
OLED_SendCmd(0x8D);//õɱÿ
- OLED_SendCmd(0x14);//
+ OLED_SendCmd(0x10);//
OLED_NewFrame();
OLED_ShowFrame();
- OLED_SendCmd(0xAF); /*ʾ display ON*/
+ OLED_SendCmd(0xAE); /*رʾ display Off*/
}
@@ -123,19 +123,26 @@ void OLED_NewFrame()
memset(OLED_GRAM, 0, sizeof(OLED_GRAM));
}
+unsigned long Lcd_Cnt = 0;
+
//ǰԴʾĻ
void OLED_ShowFrame()
{
- static uint8_t sendBuffer[OLED_COLUMN + 1];
- sendBuffer[0] = 0x40;
- for (uint8_t i = 0; i < OLED_PAGE; i++)
- {
- OLED_SendCmd(0xB0 + i); // ҳַ
- OLED_SendCmd(0x00); // еַ4λ
- OLED_SendCmd(0x10); // еַ4λ
- memcpy(sendBuffer + 1, OLED_GRAM[i], OLED_COLUMN);
- OLED_Send(sendBuffer, OLED_COLUMN + 1);
- }
+ static uint8_t sendBuffer[OLED_COLUMN + 1];
+ sendBuffer[0] = 0x40;
+
+ Lcd_Cnt *= Lcd_Cnt < OLED_PAGE;
+// for (uint8_t i = 0; i < OLED_PAGE; i++)
+// {
+ OLED_SendCmd(0xB0 + Lcd_Cnt); // ҳַ
+ OLED_SendCmd(0x00); // еַ4λ
+ OLED_SendCmd(0x10); // еַ4λ
+ memcpy(sendBuffer + 1, OLED_GRAM[Lcd_Cnt], OLED_COLUMN);
+ OLED_Send(sendBuffer, OLED_COLUMN + 1);
+// }
+
+ Lcd_Cnt++;
+
}
//ǰԴʾĻ
@@ -327,6 +334,8 @@ void OLED_PrintASCIIChar(uint8_t x, uint8_t y, char ch, const ASCIIFont *font, O
OLED_SetBlock(x, y, font->chars + (ch - ' ') * (((font->h + 7) / 8) * font->w), font->w, font->h, color);
}
+char lcd_page_flag[8];
+
/**
* @brief һASCIIַ
* @param x ʼ
@@ -344,6 +353,7 @@ void OLED_PrintASCIIString(uint8_t x, uint8_t y, char *str, const ASCIIFont *fon
x0 += font->w;
str++;
}
+
}
/**
@@ -443,46 +453,34 @@ void OLED_PrintString(uint8_t x, uint8_t y, char *str, const Font *font, OLED_Co
}
}
+
+char str_print[20] = {0};
+
void OLED_Act(void)
{
- float v = 0;
-// if(it_1000ms_flag == 1)
-// {
-// it_1000ms_flag = 0;
-// HAL_GPIO_TogglePin(LED_NOR_GPIO_Port,LED_NOR_Pin);//ָʾ
-// }
-
- //OLED_NewFrame();//Դ
//OLED_PrintASCIIChar(64, 32, '1', &afont16x8, OLED_COLOR_NORMAL); //ASCIIַʾ
//OLED_PrintASCIIString(64, 32, "123456", &afont16x8, OLED_COLOR_NORMAL); //ASCIIַʾ
//OLED_PrintString(20,20 , , &afont16x8, OLED_COLOR_NORMAL);
- OLED_PrintASCIIString(30, 0 , "Vol", &afont24x12, OLED_COLOR_NORMAL);
-// OLED_ShowPageFrame(0);
-// OLED_ShowPageFrame(1);
-// OLED_ShowPageFrame(2);
+ OLED_PrintASCIIString(10, 0 , "Position", &afont16x8, OLED_COLOR_NORMAL);
+ OLED_PrintASCIIString(85, 0 , "Temp", &afont16x8, OLED_COLOR_NORMAL);
- char str[20]; //
-// for(i = 0;i < 15;i++)str[i] = 0x20;
-// str[i] = 0x00;
-// OLED_PrintASCIIString(30, 32, str, &afont24x12, OLED_COLOR_NORMAL);
+
- v = tempA;
- v /= 10;
- sprintf(str, "%.1f",v ); // תΪַ
- OLED_PrintASCIIString(30, 32, str, &afont24x12, OLED_COLOR_NORMAL);
-// OLED_ShowPageFrame(0);
-// OLED_ShowPageFrame(1);
-// OLED_ShowPageFrame(2);
-//
-// OLED_ShowPageFrame(4);
-// OLED_ShowPageFrame(5);
-// OLED_ShowPageFrame(6);
+// memset(str_print,0,20);
+ sprintf(str_print, "%.1f",X_ads1220 ); //
+ OLED_PrintASCIIString(5, 32, str_print, &afont24x12, OLED_COLOR_NORMAL);
+// memset(str_print,0,20);
+ sprintf(str_print, "%.1f",TEMP ); // ¶
+ OLED_PrintASCIIString(75, 32, str_print, &afont24x12, OLED_COLOR_NORMAL);
OLED_ShowFrame();//ʾǰԴ
+
+// OLED_ShowPageFrame(0);
+
}
diff --git a/App/Src/tmc5160.c b/App/Src/tmc5160.c
index 05a8cb5..95ee0c1 100644
--- a/App/Src/tmc5160.c
+++ b/App/Src/tmc5160.c
@@ -3,147 +3,221 @@
#include "gpio.h"
#include "spi.h"
#include "delay.h"
+#include "string.h"
-// CS2 ͵ƽ ʹSPI
-// дʱλַҪ 0x80
-// ֲ5ǼĴ5.3.1бؼĴ11ʵʵλ20 ͼ20.3 ˶ͼ
-// Ĵ "RAMPMODE"->"0x20" б˶ģʽ 0->λģʽ1->ٶģʽVMAMX2->ٶģʽVMAX3->ٶȱֲ䣬ʹ2λ
-// Ĵ "VSTART"->"0x23" ٶȣʹ18λVSTART<=VSTOP
-// Ĵ "A1"->"0x24" VSTART->V1ļٶȣʹ16λ
-// Ĵ "V1"->"0x25" һ/ٽٶֵʹ20λȡ0ʱA1D1AMAXDMAX
-// Ĵ "AMAX"->"0x26" V1->VMAXļٶȣʹ16λ
-// Ĵ "DMAX"->"0x28" VMAX->V1ļٶȣʹ16λ
-// Ĵ "VMAX"->"0x27" б˶Ŀٶȣʹ23λ
-// Ĵ "D1"->"0x2A" V1->VSTOPļٶȣʹ16λҪλģʽ0
-// Ĵ "VSTOP"->"0x2B" ֹͣٶȣʹ18λVSTART<=VSTOPλģʽ>=10
+// CS2置于 “低电平” 使能SPI
+// 写的时候高位地址要加上 0x80
+// 手册第5章是寄存器表,5.3.1是斜坡相关寄存器;第11章有实际单位换算表;第20章 图20.3 有运动控制流程图
+// 寄存器 "RAMPMODE"->"0x20" 斜坡运动模式: 0->位置模式;1->速度模式至正VMAMX;2->速度模式至负VMAX;3->速度保持不变,最多使用2位
+// 寄存器 "VSTART"->"0x23" 电机起动速度,最多使用18位,VSTART<=VSTOP
+// 寄存器 "A1"->"0x24" VSTART->V1的加速度,最多使用16位
+// 寄存器 "V1"->"0x25" 第一加/减速阶段速度阈值,最多使用20位;取0时禁用A1和D1,仅用AMAX和DMAX
+// 寄存器 "AMAX"->"0x26" V1->VMAX的加速度,最多使用16位
+// 寄存器 "DMAX"->"0x28" VMAX->V1的减速度,最多使用16位
+// 寄存器 "VMAX"->"0x27" 斜坡运动目标速度,最多使用23位
+// 寄存器 "D1"->"0x2A" V1->VSTOP的减速度,最多使用16位,不要在位置模式下置0
+// 寄存器 "VSTOP"->"0x2B" 电机停止速度,最多使用18位,VSTART<=VSTOP,位置模式下>=10
+// 一圈 200*256 微步,即每步转动 9/1280 度, 1 微步/秒 = 1.953e-5 转/秒
-#define CS2_L HAL_GPIO_WritePin(CS2_GPIO_Port,CS2_Pin,GPIO_PIN_RESET); //CS2͵ƽ
-#define CS2_H HAL_GPIO_WritePin(CS2_GPIO_Port,CS2_Pin,GPIO_PIN_SET); //CS2ߵƽ
+#define TMC5160A_CS2_L HAL_GPIO_WritePin(GPIOC,CS2_Pin,GPIO_PIN_RESET) //CS2低电平
+#define TMC5160A_CS2_H HAL_GPIO_WritePin(GPIOC,CS2_Pin,GPIO_PIN_SET) //CS2高电平
+#define TMC5160A_MOSI_L HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_RESET) //MOSI低电平
+#define TMC5160A_MOSI_H HAL_GPIO_WritePin(GPIOB,GPIO_PIN_15,GPIO_PIN_SET) //MOSI高电平
+#define TMC5160A_CLK_L HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_RESET) //CLK低电平
+#define TMC5160A_CLK_H HAL_GPIO_WritePin(GPIOB,GPIO_PIN_13,GPIO_PIN_SET) //CLK高电平
-void tmc5160_init()
+#define TMC5160A_ReadVal HAL_GPIO_ReadPin(GPIOB,GPIO_PIN_14) //MISO
+
+void TMC5160A_Init_Gpio(void)
{
-
- // SPIģʽ
- TMC5160_SPIWriteInt(0x00, 0x0000000C); // writing value 0x0000000C = 12 = 0.0 to address 0 = 0x00(GCONF) 0x00000008 ƶ Ҷ
- TMC5160_SPIWriteInt(0x03, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 1 = 0x03(SLAVECONF)
- TMC5160_SPIWriteInt(0x05, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 2 = 0x05(X_COMPARE)
- TMC5160_SPIWriteInt(0x06, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 3 = 0x06(OTP_PROG)
- TMC5160_SPIWriteInt(0x08, 0x0000000E); // writing value 0x00000011 = 17 = 0.0 to address 4 = 0x08(FACTORY_CONF)
- TMC5160_SPIWriteInt(0x09, 0x00010606); // writing value 0x00010606 = 67078 = 0.0 to address 5 = 0x09(SHORT_CONF)
- TMC5160_SPIWriteInt(0x0A, 0x00080400); // writing value 0x00080400 = 525312 = 0.0 to address 6 = 0x0A(DRV_CONF)
- TMC5160_SPIWriteInt(0x0B, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 7 = 0x0B(GLOBAL_SCALER)
- // ٶصƼĴ
- TMC5160_SPIWriteInt(0x10, 0x00071405); // writing value 0x00070707 = 460551 = 0.0 to address 8 = 0x10(IHOLD_IRUN)
- TMC5160_SPIWriteInt(0x11, 0x0000000A); // writing value 0x0000000A = 10 = 0.0 to address 9 = 0x11(TPOWERDOWN)
- TMC5160_SPIWriteInt(0x13, 0x00000010); // writing value 0x00000041 = 65 = 0.0 to address 10 = 0x13(TPWMTHRS)
- TMC5160_SPIWriteInt(0x14, 0x00000010); // writing value 0x00004189 = 16777 = 0.0 to address 11 = 0x14(TCOOLTHRS)
- TMC5160_SPIWriteInt(0x15, 0x00000010); // writing value 0x00000000 = 0 = 0.0 to address 12 = 0x15(THIGH)
- // б˶Ĵ
- TMC5160_SPIWriteInt(0x20, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 13 = 0x20(RAMPMODE)
- TMC5160_SPIWriteInt(0x21, 0x00000000); // writing value 0xFFCC12F0 = 0 = 0.0 to address 14 = 0x21(XACTUAL)
- TMC5160_SPIWriteInt(0x23, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 15 = 0x23(VSTART)
- TMC5160_SPIWriteInt(0x24, 0x000003E8); // writing value 0x00001F07 = 7943 = 0.0 to address 16 = 0x24(A1)
- TMC5160_SPIWriteInt(0x25, 0x0000C350); // writing value 0x0000C350 = 50000 = 0.0 to address 17 = 0x25(V1)
- TMC5160_SPIWriteInt(0x26, 0x00000277); // writing value 0x00004DF1 = 19953 = 0.0 to address 18 = 0x26(AMAX)
- TMC5160_SPIWriteInt(0x27, 0x00006220); // writing value 0x0006D3A0 = 447392 = 0.0 to address 19 = 0x27(VMAX)
- TMC5160_SPIWriteInt(0x28, 0x000002BC); // writing value 0x00009B83 = 39811 = 0.0 to address 20 = 0x28(DMAX)
- TMC5160_SPIWriteInt(0x2A, 0x00000578); // writing value 0x00007B87 = 31623 = 0.0 to address 21 = 0x2A(D1)
- TMC5160_SPIWriteInt(0x2B, 0x0000000A); // writing value 0x0000000A = 10 = 0.0 to address 22 = 0x2B(VSTOP)
- TMC5160_SPIWriteInt(0x2C, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 23 = 0x2C(TZEROWAIT)
- TMC5160_SPIWriteInt(0x2D, 0x00000000); // writing value 0xFFCC12F0 = 0 = 0.0 to address 24 = 0x2D(XTARGET)
-
- TMC5160_SPIWriteInt(0x33, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 25 = 0x33(VDCMIN)
- TMC5160_SPIWriteInt(0x34, 0x00000000); // writing value 0x00000400 = 1024 = 0.0 to address 26 = 0x34(SW_MODE)
- // Ĵ
- TMC5160_SPIWriteInt(0x38, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 27 = 0x38(ENCMODE)
- TMC5160_SPIWriteInt(0x39, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 28 = 0x39(X_ENC)
- TMC5160_SPIWriteInt(0x3A, 0x00010000); // writing value 0x00010000 = 65536 = 0.0 to address 29 = 0x3A(ENC_CONST)
- TMC5160_SPIWriteInt(0x3D, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 30 = 0x3D(ENC_DEVIATION)
- // Ĵ-ƼĴ
- TMC5160_SPIWriteInt(0x60, 0xAAAAB554); // writing value 0xAAAAB554 = 0 = 0.0 to address 31 = 0x60(MSLUT[0])
- TMC5160_SPIWriteInt(0x61, 0x4A9554AA); // writing value 0x4A9554AA = 1251300522 = 0.0 to address 32 = 0x61(MSLUT[1])
- TMC5160_SPIWriteInt(0x62, 0x24492929); // writing value 0x24492929 = 608774441 = 0.0 to address 33 = 0x62(MSLUT[2])
- TMC5160_SPIWriteInt(0x63, 0x10104222); // writing value 0x10104222 = 269500962 = 0.0 to address 34 = 0x63(MSLUT[3])
- TMC5160_SPIWriteInt(0x64, 0xFBFFFFFF); // writing value 0xFBFFFFFF = 0 = 0.0 to address 35 = 0x64(MSLUT[4])
- TMC5160_SPIWriteInt(0x65, 0xB5BB777D); // writing value 0xB5BB777D = 0 = 0.0 to address 36 = 0x65(MSLUT[5])
- TMC5160_SPIWriteInt(0x66, 0x49295556); // writing value 0x49295556 = 1227445590 = 0.0 to address 37 = 0x66(MSLUT[6])
- TMC5160_SPIWriteInt(0x67, 0x00404222); // writing value 0x00404222 = 4211234 = 0.0 to address 38 = 0x67(MSLUT[7])
- TMC5160_SPIWriteInt(0x68, 0xFFFF8056); // writing value 0xFFFF8056 = 0 = 0.0 to address 39 = 0x68(MSLUTSEL)
- TMC5160_SPIWriteInt(0x69, 0x00F70000); // writing value 0x00F70000 = 16187392 = 0.0 to address 40 = 0x69(MSLUTSTART)
- // Ĵ-Ĵ
- TMC5160_SPIWriteInt(0x6C, 0x04410153); // writing value 0x00410153 = 4260179 = 0.0 to address 41 = 0x6C(CHOPCONF)
- TMC5160_SPIWriteInt(0x6D, 0x00000000); // writing value 0x00030000 = 196608 = 0.0 to address 42 = 0x6D(COOLCONF)
- TMC5160_SPIWriteInt(0x6E, 0x00000000); // writing value 0x00000000 = 0 = 0.0 to address 43 = 0x6E(DCCTRL)
- TMC5160_SPIWriteInt(0x70, 0xC40C001E); // writing value 0xC40C001E = 0 = 0.0 to address 44 = 0x70(PWMCONF)
-
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ /**SPI2 GPIO Configuration
+ PB13 ------> SPI2_SCK
+ PB14 ------> SPI2_MISO
+ PB15 ------> SPI2_MOSI
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_15;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_14;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
}
-uint8_t data_t[5];//ŷ8bit*5
-void TMC5160_SPIWriteInt(uint8_t addr, uint32_t data)//40λת58λݲ
+void tmc5160_init(void)
{
- CS2_L;
- delay_ns(10);
-
- data_t[0] = addr | 0x80; //ǰ8λΪַ,дʱҪ0x80
- int i;
- for(i=1;i<5;i++) //32λΪ
- {
- data_t[i] = (uint8_t)( data >> (32 - 8 * i) ); //32bitת8bit*4
- }
-
-
- HAL_SPI_Transmit_IT(&hspi2, data_t, 5);
+ // 纯SPI模式
+// TMC5160_SPIWriteInt(0x00, 0x0000000C,1); // writing value 0x0000000C = 12 = 0.0 to address 0 = 0x00(GCONF) 0x00000008 不能移动 会左右抖动
+// TMC5160_SPIWriteInt(0x03, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 1 = 0x03(SLAVECONF)
+// TMC5160_SPIWriteInt(0x05, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 2 = 0x05(X_COMPARE)
+// TMC5160_SPIWriteInt(0x06, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 3 = 0x06(OTP_PROG)
+// TMC5160_SPIWriteInt(0x08, 0x0000000E,1); // writing value 0x00000011 = 17 = 0.0 to address 4 = 0x08(FACTORY_CONF)
+// TMC5160_SPIWriteInt(0x09, 0x00010606,1); // writing value 0x00010606 = 67078 = 0.0 to address 5 = 0x09(SHORT_CONF)
+// TMC5160_SPIWriteInt(0x0A, 0x00080400,1); // writing value 0x00080400 = 525312 = 0.0 to address 6 = 0x0A(DRV_CONF)
+// TMC5160_SPIWriteInt(0x0B, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 7 = 0x0B(GLOBAL_SCALER)
+// // 速度相关的驱动控制寄存器
+// TMC5160_SPIWriteInt(0x10, 0x00061F0A,1); // writing value 0x00070707 = 460551 = 0.0 to address 8 = 0x10(IHOLD_IRUN)
+// TMC5160_SPIWriteInt(0x11, 0x0000000A,1); // writing value 0x0000000A = 10 = 0.0 to address 9 = 0x11(TPOWERDOWN)
+// TMC5160_SPIWriteInt(0x13, 0x00000010,1); // writing value 0x00000041 = 65 = 0.0 to address 10 = 0x13(TPWMTHRS)
+// TMC5160_SPIWriteInt(0x14, 0x00000010,1); // writing value 0x00004189 = 16777 = 0.0 to address 11 = 0x14(TCOOLTHRS)
+// TMC5160_SPIWriteInt(0x15, 0x00000010,1); // writing value 0x00000000 = 0 = 0.0 to address 12 = 0x15(THIGH)
+ // 斜波发生器运动寄存器
+ TMC5160_SPIWriteInt(0x20, 0x00000001,1); // writing value 0x00000000 = 0 = 0.0 to address 13 = 0x20(RAMPMODE)
+// TMC5160_SPIWriteInt(0x21, 0x00000000,1); // writing value 0xFFCC12F0 = 0 = 0.0 to address 14 = 0x21(XACTUAL)
+// TMC5160_SPIWriteInt(0x23, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 15 = 0x23(VSTART)
+ TMC5160_SPIWriteInt(0x24, 0x000003E8,1); // writing value 0x00001F07 = 7943 = 0.0 to address 16 = 0x24(A1)
+ TMC5160_SPIWriteInt(0x25, 0x0000C350,1); // writing value 0x0000C350 = 50000 = 0.0 to address 17 = 0x25(V1)
+ TMC5160_SPIWriteInt(0x26, 0x000001F4,1); // writing value 0x00004DF1 = 19953 = 0.0 to address 18 = 0x26(AMAX)
+ TMC5160_SPIWriteInt(0x27, 0x00000D40,1); // writing value 0x0006D3A0 = 447392 = 0.0 to address 19 = 0x27(VMAX)
+ TMC5160_SPIWriteInt(0x28, 0x000002BC,1); // writing value 0x00009B83 = 39811 = 0.0 to address 20 = 0x28(DMAX)
+ TMC5160_SPIWriteInt(0x2A, 0x00000578,1); // writing value 0x00007B87 = 31623 = 0.0 to address 21 = 0x2A(D1)
+ TMC5160_SPIWriteInt(0x2B, 0x0000000A,1); // writing value 0x0000000A = 10 = 0.0 to address 22 = 0x2B(VSTOP)
+// TMC5160_SPIWriteInt(0x2C, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 23 = 0x2C(TZEROWAIT)
+// TMC5160_SPIWriteInt(0x2D, 0x00000000,1); // writing value 0xFFCC12F0 = 0 = 0.0 to address 24 = 0x2D(XTARGET)
-
- CS2_H;
- delay_ns(10);
+// TMC5160_SPIWriteInt(0x33, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 25 = 0x33(VDCMIN)
+// TMC5160_SPIWriteInt(0x34, 0x00000000,1); // writing value 0x00000400 = 1024 = 0.0 to address 26 = 0x34(SW_MODE)
+// // 编码器寄存器
+// TMC5160_SPIWriteInt(0x38, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 27 = 0x38(ENCMODE)
+// TMC5160_SPIWriteInt(0x39, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 28 = 0x39(X_ENC)
+// TMC5160_SPIWriteInt(0x3A, 0x00010000,1); // writing value 0x00010000 = 65536 = 0.0 to address 29 = 0x3A(ENC_CONST)
+// TMC5160_SPIWriteInt(0x3D, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 30 = 0x3D(ENC_DEVIATION)
+// // 电机驱动寄存器-电机微步控制寄存器
+// TMC5160_SPIWriteInt(0x60, 0xAAAAB554,1); // writing value 0xAAAAB554 = 0 = 0.0 to address 31 = 0x60(MSLUT[0])
+// TMC5160_SPIWriteInt(0x61, 0x4A9554AA,1); // writing value 0x4A9554AA = 1251300522 = 0.0 to address 32 = 0x61(MSLUT[1])
+// TMC5160_SPIWriteInt(0x62, 0x24492929,1); // writing value 0x24492929 = 608774441 = 0.0 to address 33 = 0x62(MSLUT[2])
+// TMC5160_SPIWriteInt(0x63, 0x10104222,1); // writing value 0x10104222 = 269500962 = 0.0 to address 34 = 0x63(MSLUT[3])
+// TMC5160_SPIWriteInt(0x64, 0xFBFFFFFF,1); // writing value 0xFBFFFFFF = 0 = 0.0 to address 35 = 0x64(MSLUT[4])
+// TMC5160_SPIWriteInt(0x65, 0xB5BB777D,1); // writing value 0xB5BB777D = 0 = 0.0 to address 36 = 0x65(MSLUT[5])
+// TMC5160_SPIWriteInt(0x66, 0x49295556,1); // writing value 0x49295556 = 1227445590 = 0.0 to address 37 = 0x66(MSLUT[6])
+// TMC5160_SPIWriteInt(0x67, 0x00404222,1); // writing value 0x00404222 = 4211234 = 0.0 to address 38 = 0x67(MSLUT[7])
+// TMC5160_SPIWriteInt(0x68, 0xFFFF8056,1); // writing value 0xFFFF8056 = 0 = 0.0 to address 39 = 0x68(MSLUTSEL)
+// TMC5160_SPIWriteInt(0x69, 0x00F70000,1); // writing value 0x00F70000 = 16187392 = 0.0 to address 40 = 0x69(MSLUTSTART)
+// // 电机驱动寄存器-驱动寄存器组
+// TMC5160_SPIWriteInt(0x6C, 0x04410153,1); // writing value 0x00410153 = 4260179 = 0.0 to address 41 = 0x6C(CHOPCONF)
+// TMC5160_SPIWriteInt(0x6D, 0x00000000,1); // writing value 0x00030000 = 196608 = 0.0 to address 42 = 0x6D(COOLCONF)
+// TMC5160_SPIWriteInt(0x6E, 0x00000000,1); // writing value 0x00000000 = 0 = 0.0 to address 43 = 0x6E(DCCTRL)
+// TMC5160_SPIWriteInt(0x70, 0xC40C001E,1); // writing value 0xC40C001E = 0 = 0.0 to address 44 = 0x70(PWMCONF)
}
-uint8_t data_r[5];//Žյ8bit
-void TMC5160_SPIReadInt(uint8_t addr)//ӵȡݣȷͶٽ
+uint8_t data_r[5] = {0};//存放接收到的数据
+
+void TMC5160_SPIWriteInt(uint8_t addr, uint32_t data, uint8_t rw)//rw = 1为写,0为读
{
- CS2_L;
- delay_ns(10);
- data_t[0] = addr & 0x7f; //ǰ8λΪַ
- int i;
- for(i=1;i<5;i++) //32λΪݣʱ
+ char i = 0;
+ unsigned long dat = 0;
+ for(i = 0; i < 5; i++) data_r[i] = 0;
+
+ TMC5160A_CS2_L;
+ delay(100);
+ if(rw)
{
- data_t[i] = 0;
+ addr |= 0x80;
+ }
+ else
+ {
+ addr &= 0x7F;
}
-
-
- HAL_SPI_Transmit_IT(&hspi2, data_t, 5); //Ͷȡaddrַ,ǰһηǶʣǰһݱһĵַӦĶȡֵ
- HAL_SPI_Transmit_IT(&hspi2, data_t, 5); //βܶϴβ
-
- HAL_SPI_Receive_IT(&hspi2, data_r, 5); //
-
- CS2_H;
- delay_ns(10);
+ //地址
+ TMC5160A_CLK_H;
+ for(i = 0; i < 8; i++)
+ {
+ TMC5160A_CLK_L;
+ if(addr & 0x80)
+ {
+ TMC5160A_MOSI_H;
+ }
+ else
+ {
+ TMC5160A_MOSI_L;
+ }
+ addr <<= 1;
+ TMC5160A_CLK_H;
+ delay(20);
+
+ data_r[0] <<= 1;
+ if(TMC5160A_ReadVal)
+ {
+ data_r[0] |= 1;
+ }
+
+
+
+ }
+ //数据
+ for(i = 0; i < 32; i++)
+ {
+ TMC5160A_CLK_L;
+ if(data & 0x80000000)
+ {
+ TMC5160A_MOSI_H;
+ }
+ else
+ {
+ TMC5160A_MOSI_L;
+ }
+ data <<= 1;
+ TMC5160A_CLK_H;
+ delay(20);
+
+ dat <<= 1;
+ if(TMC5160A_ReadVal)
+ {
+ dat |= 1;
+ }
+
+ }
+
+ data_r[0] = addr;
+ data_r[1] = dat >> 24;
+ data_r[2] = dat >> 16;
+ data_r[3] = dat >> 8;
+ data_r[4] = dat >> 0;
+
+
+ TMC5160A_CS2_H; //SPI_CS片选拉1
+
}
+void TMC5160_SPIReadInt(uint8_t addr, uint8_t record[5])//从addr寄存器读取数据,然后记录到record中
+{
+ char i;
+ for(i = 0; i < 5; i++) data_r[i] = 0;
+
+ TMC5160_SPIWriteInt(addr,0,0);
+ TMC5160_SPIWriteInt(addr,0,0);
+ memcpy(record, data_r, 5);
+}
-uint8_t data_r4 = 0; //ڹ۲ȡĵַ
-uint32_t data_r32 = 0;//ڹ۲ȡ
+uint8_t XA[5]={0},VA[5]={0};
void tmc5160_act()
{
+ TMC5160_SPIReadInt(0x21,XA);//读取实际位置XACTUAL
- //TMC5160_SPIWriteInt(0x21,0x00000000); //XACTUAL = 0 ʵλù
- //TMC5160_SPIWriteInt(0x2D,0x0000C800); //XTARGET = 51200 תһȦ
+ TMC5160_SPIReadInt(0x20,VA);//读取实际速度VACTUAL
- TMC5160_SPIWriteInt(0x20,0x00000001);
+// TMC5160_SPIWriteInt(0x20,0x00000001,1);//RAMPMODE = 1 速度模式至+VMAX
+// TMC5160_SPIWriteInt(0x2D,0x0000C800,1); //设置目标位置
+// TMC5160_SPIWriteInt(0x2D,(uint32_t)0xADFFFF3800,1); //XTARGET = -51200 反向转动一圈
- TMC5160_SPIReadInt(0x20);
-
- data_r4 = data_r[0];
- data_r32 = (data_r[1]<<24)+(data_r[2]<<16)+(data_r[3]<<8)+data_r[4];
-// TMC5160_SPIWriteInt(0x20,0x00000001);//RAMPMODE = 1 ٶģʽ+VMAX
+
}
+
+
+
+
+
+
diff --git a/Inc/app.h b/Inc/app.h
index 6621ad1..84bdacd 100644
--- a/Inc/app.h
+++ b/Inc/app.h
@@ -10,10 +10,9 @@ extern int it_100ms_cnt ,it_100ms_flag;
extern int it_300ms_cnt ,it_300ms_flag;
extern int it_500ms_cnt ,it_500ms_flag;
extern int it_1000ms_cnt ,it_1000ms_flag;
-extern int it_1us_cnt;
-
-extern unsigned long tempA;
+extern float X_ads1220;
+extern float TEMP;
#endif
diff --git a/Inc/misc.h b/Inc/misc.h
new file mode 100644
index 0000000..9a6bd07
--- /dev/null
+++ b/Inc/misc.h
@@ -0,0 +1,220 @@
+/**
+ ******************************************************************************
+ * @file misc.h
+ * @author MCD Application Team
+ * @version V3.5.0
+ * @date 11-March-2011
+ * @brief This file contains all the functions prototypes for the miscellaneous
+ * firmware library functions (add-on to CMSIS functions).
+ ******************************************************************************
+ * @attention
+ *
+ * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
+ * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
+ * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
+ * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
+ * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
+ * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
+ *
+ *
© COPYRIGHT 2011 STMicroelectronics
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MISC_H
+#define __MISC_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32f10x.h"
+
+/** @addtogroup STM32F10x_StdPeriph_Driver
+ * @{
+ */
+
+/** @addtogroup MISC
+ * @{
+ */
+
+/** @defgroup MISC_Exported_Types
+ * @{
+ */
+
+/**
+ * @brief NVIC Init Structure definition
+ */
+
+typedef struct
+{
+ uint8_t NVIC_IRQChannel; /*!< Specifies the IRQ channel to be enabled or disabled.
+ This parameter can be a value of @ref IRQn_Type
+ (For the complete STM32 Devices IRQ Channels list, please
+ refer to stm32f10x.h file) */
+
+ uint8_t NVIC_IRQChannelPreemptionPriority; /*!< Specifies the pre-emption priority for the IRQ channel
+ specified in NVIC_IRQChannel. This parameter can be a value
+ between 0 and 15 as described in the table @ref NVIC_Priority_Table */
+
+ uint8_t NVIC_IRQChannelSubPriority; /*!< Specifies the subpriority level for the IRQ channel specified
+ in NVIC_IRQChannel. This parameter can be a value
+ between 0 and 15 as described in the table @ref NVIC_Priority_Table */
+
+ FunctionalState NVIC_IRQChannelCmd; /*!< Specifies whether the IRQ channel defined in NVIC_IRQChannel
+ will be enabled or disabled.
+ This parameter can be set either to ENABLE or DISABLE */
+} NVIC_InitTypeDef;
+
+/**
+ * @}
+ */
+
+/** @defgroup NVIC_Priority_Table
+ * @{
+ */
+
+/**
+@code
+ The table below gives the allowed values of the pre-emption priority and subpriority according
+ to the Priority Grouping configuration performed by NVIC_PriorityGroupConfig function
+ ============================================================================================================================
+ NVIC_PriorityGroup | NVIC_IRQChannelPreemptionPriority | NVIC_IRQChannelSubPriority | Description
+ ============================================================================================================================
+ NVIC_PriorityGroup_0 | 0 | 0-15 | 0 bits for pre-emption priority
+ | | | 4 bits for subpriority
+ ----------------------------------------------------------------------------------------------------------------------------
+ NVIC_PriorityGroup_1 | 0-1 | 0-7 | 1 bits for pre-emption priority
+ | | | 3 bits for subpriority
+ ----------------------------------------------------------------------------------------------------------------------------
+ NVIC_PriorityGroup_2 | 0-3 | 0-3 | 2 bits for pre-emption priority
+ | | | 2 bits for subpriority
+ ----------------------------------------------------------------------------------------------------------------------------
+ NVIC_PriorityGroup_3 | 0-7 | 0-1 | 3 bits for pre-emption priority
+ | | | 1 bits for subpriority
+ ----------------------------------------------------------------------------------------------------------------------------
+ NVIC_PriorityGroup_4 | 0-15 | 0 | 4 bits for pre-emption priority
+ | | | 0 bits for subpriority
+ ============================================================================================================================
+@endcode
+*/
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Exported_Constants
+ * @{
+ */
+
+/** @defgroup Vector_Table_Base
+ * @{
+ */
+
+#define NVIC_VectTab_RAM ((uint32_t)0x20000000)
+#define NVIC_VectTab_FLASH ((uint32_t)0x08000000)
+#define IS_NVIC_VECTTAB(VECTTAB) (((VECTTAB) == NVIC_VectTab_RAM) || \
+ ((VECTTAB) == NVIC_VectTab_FLASH))
+/**
+ * @}
+ */
+
+/** @defgroup System_Low_Power
+ * @{
+ */
+
+#define NVIC_LP_SEVONPEND ((uint8_t)0x10)
+#define NVIC_LP_SLEEPDEEP ((uint8_t)0x04)
+#define NVIC_LP_SLEEPONEXIT ((uint8_t)0x02)
+#define IS_NVIC_LP(LP) (((LP) == NVIC_LP_SEVONPEND) || \
+ ((LP) == NVIC_LP_SLEEPDEEP) || \
+ ((LP) == NVIC_LP_SLEEPONEXIT))
+/**
+ * @}
+ */
+
+/** @defgroup Preemption_Priority_Group
+ * @{
+ */
+
+#define NVIC_PriorityGroup_0 ((uint32_t)0x700) /*!< 0 bits for pre-emption priority
+ 4 bits for subpriority */
+#define NVIC_PriorityGroup_1 ((uint32_t)0x600) /*!< 1 bits for pre-emption priority
+ 3 bits for subpriority */
+#define NVIC_PriorityGroup_2 ((uint32_t)0x500) /*!< 2 bits for pre-emption priority
+ 2 bits for subpriority */
+#define NVIC_PriorityGroup_3 ((uint32_t)0x400) /*!< 3 bits for pre-emption priority
+ 1 bits for subpriority */
+#define NVIC_PriorityGroup_4 ((uint32_t)0x300) /*!< 4 bits for pre-emption priority
+ 0 bits for subpriority */
+
+#define IS_NVIC_PRIORITY_GROUP(GROUP) (((GROUP) == NVIC_PriorityGroup_0) || \
+ ((GROUP) == NVIC_PriorityGroup_1) || \
+ ((GROUP) == NVIC_PriorityGroup_2) || \
+ ((GROUP) == NVIC_PriorityGroup_3) || \
+ ((GROUP) == NVIC_PriorityGroup_4))
+
+#define IS_NVIC_PREEMPTION_PRIORITY(PRIORITY) ((PRIORITY) < 0x10)
+
+#define IS_NVIC_SUB_PRIORITY(PRIORITY) ((PRIORITY) < 0x10)
+
+#define IS_NVIC_OFFSET(OFFSET) ((OFFSET) < 0x000FFFFF)
+
+/**
+ * @}
+ */
+
+/** @defgroup SysTick_clock_source
+ * @{
+ */
+
+#define SysTick_CLKSource_HCLK_Div8 ((uint32_t)0xFFFFFFFB)
+#define SysTick_CLKSource_HCLK ((uint32_t)0x00000004)
+#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \
+ ((SOURCE) == SysTick_CLKSource_HCLK_Div8))
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Exported_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Exported_Functions
+ * @{
+ */
+
+void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup);
+void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);
+void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset);
+void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState);
+void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MISC_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
diff --git a/MDK-ARM/mfps.uvguix.EthanWu b/MDK-ARM/mfps.uvguix.EthanWu
index 95fbb44..e2e2c48 100644
--- a/MDK-ARM/mfps.uvguix.EthanWu
+++ b/MDK-ARM/mfps.uvguix.EthanWu
@@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- C:\Users\EthanWu\Desktop\work\2024.4.3\mfps\App\Inc
+ C:\Users\EthanWu\Desktop\work\2024.4.3\mfps\Src
@@ -25,7 +25,7 @@
204
Performance Analyzer
- 552 139 139 100
+ 930
@@ -101,17 +101,17 @@
-1
- 86
- 569
- 1721
- 840
+ 41
+ 173
+ 1325
+ 795
0
- 1073
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A000000040000000100000039433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4170705C5372635C6170702E6300000000056170702E6300000000C5D4F200FFFFFFFF3A433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4170705C5372635C6F6C65642E6300000000066F6C65642E6300000000FFDC7800FFFFFFFF39433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4170705C5372635C6B65792E6300000000056B65792E6300000000BECEA100FFFFFFFF36433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF3D433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4170705C5372635C746D63353136302E630000000009746D63353136302E6300000000BCA8E100FFFFFFFF3D433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4170705C496E635C746D63353136302E680000000009746D63353136302E68000000009CC1B600FFFFFFFF3B433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4170705C5372635C64656C61792E63000000000764656C61792E6300000000F7B88600FFFFFFFF35433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C5372635C7370692E6300000000057370692E6300000000D9ADC200FFFFFFFF49433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C4D444B2D41524D5C737461727475705F73746D33326631303378652E730000000015737461727475705F73746D33326631303378652E7300000000A5C2D700FFFFFFFF60433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E342E335C6D6670735C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F7370692E63000000001373746D3332663178785F68616C5F7370692E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000030010000660000000006000097020000
+ 705
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000020000000100000041433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E345C323032342E342E31315C6D6670735C4170705C5372635C6170702E6300000000056170702E6300000000C5D4F200FFFFFFFF3E433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E345C323032342E342E31315C6D6670735C5372635C6D61696E2E6300000000066D61696E2E6300000000FFDC7800FFFFFFFF45433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E345C323032342E342E31315C6D6670735C4170705C5372635C746D63353136302E630000000009746D63353136302E6300000000BECEA100FFFFFFFF51433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E345C323032342E342E31315C6D6670735C4D444B2D41524D5C737461727475705F73746D33326631303378652E730000000015737461727475705F73746D33326631303378652E7300000000F0A0A100FFFFFFFF69433A5C55736572735C457468616E57755C4465736B746F705C776F726B5C323032342E345C323032342E342E31315C6D6670735C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F6770696F2E68000000001473746D3332663178785F68616C5F6770696F2E6800000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD50001000000000000000200000030010000660000000006000059020000
@@ -150,7 +150,7 @@
0
16
- 03000000660000002901000067020000
+ 03000000660000002901000029020000
16
@@ -170,7 +170,7 @@
0
16
- 03000000660000002901000067020000
+ 03000000660000002901000029020000
16
@@ -450,7 +450,7 @@
0
16
- 03000000660000002901000067020000
+ 03000000660000002901000029020000
16
@@ -470,7 +470,7 @@
0
16
- 03000000660000002901000067020000
+ 03000000660000002901000029020000
16
@@ -490,7 +490,7 @@
0
16
- 030000009B020000FD050000F5020000
+ 030000005D020000FD050000F5020000
16
@@ -530,7 +530,7 @@
0
16
- 030000009B020000FD050000F5020000
+ 030000005D020000FD050000F5020000
16
@@ -1150,7 +1150,7 @@
0
16
- 03000000660000002901000067020000
+ 03000000660000002901000029020000
16
@@ -1170,7 +1170,7 @@
0
16
- 030000009B020000FD050000F5020000
+ 030000005D020000FD050000F5020000
16
@@ -1190,7 +1190,7 @@
0
16
- 030000009B020000FD050000F5020000
+ 030000005D020000FD050000F5020000
16
@@ -1250,7 +1250,7 @@
0
16
- 030000009B020000FD050000F5020000
+ 030000005D020000FD050000F5020000
16
@@ -1270,7 +1270,7 @@
0
16
- 030000009B020000FD050000F5020000
+ 030000005D020000FD050000F5020000
16
@@ -1799,14 +1799,14 @@
3312
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000800200000100000002000010040000000100000012FFFFFF07050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000002C01000097020000000000004F0000002C010000800200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000AC010000700400002E0200000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000008002000000060000840200000100000001000010040000000100000044FFFFFF01010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000009B02000000060000250300000000000084020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000420200000100000002000010040000000100000012FFFFFF07050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000002C01000059020000000000004F0000002C010000420200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000091010000700400009501000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000AC010000700400002E0200000000000095010000700400001702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000042020000000600004602000001000000010000100400000001000000FFFDFFFFB3000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000005D02000000060000250300000000000046020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF05000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2560
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000094F4C45445F53656E6496000000000000000100094F4C45445F53656E6400000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 2568
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D6C63645F706167655F666C6167960000000000000001000D6C63645F706167655F666C616700000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
968
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1838,7 +1838,7 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -1861,7 +1861,7 @@
-1
-1
- 0
+ 1
0
0
0
@@ -1871,11 +1871,11 @@
0
16
- C40000004F00000070040000BD000000
+ 710400004F000000000600003C020000
16
- C40000006600000070040000D4000000
+ 71040000660000000006000053020000
@@ -1891,7 +1891,7 @@
0
16
- 030000006600000029010000DD010000
+ 03000000660000002901000023020000
16
@@ -1911,7 +1911,7 @@
0
16
- 030000006600000029010000DD010000
+ 03000000660000002901000023020000
16
@@ -1927,15 +1927,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -1947,15 +1947,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -1967,15 +1967,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -1987,15 +1987,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -2047,15 +2047,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D000000160100000D010000
+ 2401000043010000240700001D020000
@@ -2067,35 +2067,35 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7104000063000000000600003C020000
16
- 560000006D000000160100000D010000
+ 2401000043010000240700001D020000
1937
1937
- 1
+ 0
0
0
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D000000160100000D010000
+ 2401000043010000240700001D020000
@@ -2107,15 +2107,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -2127,15 +2127,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -2147,15 +2147,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -2167,15 +2167,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -2191,7 +2191,7 @@
0
16
- 030000006600000029010000DD010000
+ 03000000660000002901000023020000
16
@@ -2211,7 +2211,7 @@
0
16
- 030000006600000029010000DD010000
+ 03000000660000002901000023020000
16
@@ -2231,7 +2231,7 @@
0
16
- 03000000E2020000FD050000F5020000
+ 0300000057020000FD050000F5020000
16
@@ -2251,7 +2251,7 @@
0
16
- 00000000950100000006000026020000
+ 00000000ED01000000060000C7020000
16
@@ -2271,7 +2271,7 @@
0
16
- 03000000E2020000FD050000F5020000
+ 0300000057020000FD050000F5020000
16
@@ -2367,15 +2367,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D0000008E020000DB000000
+ 2401000043010000240700001D020000
@@ -2891,7 +2891,7 @@
0
16
- 030000006600000029010000DD010000
+ 03000000660000002901000023020000
16
@@ -2911,7 +2911,7 @@
0
16
- 03000000E2020000FD050000F5020000
+ 0300000057020000FD050000F5020000
16
@@ -2931,7 +2931,7 @@
0
16
- 03000000E2020000FD050000F5020000
+ 0300000057020000FD050000F5020000
16
@@ -2947,15 +2947,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D000000160100000D010000
+ 2401000043010000240700001D020000
@@ -2967,15 +2967,15 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D000000160100000D010000
+ 2401000043010000240700001D020000
@@ -2991,7 +2991,7 @@
0
16
- 03000000E2020000FD050000F5020000
+ 0300000057020000FD050000F5020000
16
@@ -3011,7 +3011,7 @@
0
16
- 03000000E2020000FD050000F5020000
+ 0300000057020000FD050000F5020000
16
@@ -3527,27 +3527,27 @@
0
32767
0
- 32768
+ 16384
0
16
- 0300000011020000FD050000AE020000
+ 7404000066000000FD05000023020000
16
- 560000006D000000160100000D010000
+ 2401000043010000240700001D020000
- 3312
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000F60100000100000002000010040000000100000012FFFFFF07050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000002C0100000D020000000000004F0000002C010000F60100000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF00000000F601000000060000FA010000010000000100001004000000010000009AFEFFFF0701000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000001000000000000001102000000060000DE02000000000000FA01000000060000C702000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032010000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF050000000000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000C702000000060000CB020000010000000100001004000000010000002EFEFFFFE2000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000E2020000000600002503000000000000CB020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 3416
+ 000000000C000000000000000040000001000000FFFFFFFFFFFFFFFF6D0400004F000000710400003C02000001000000020000100400000001000000CDFCFFFF9201000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000FFFF02000B004354616262656450616E65004000000100000071040000660000000006000053020000710400004F000000000600003C02000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000020000000000000FFFFFFFFFFFFFFFFC4000000BD00000070040000C1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D60100004589000001800020000000000000C40000006600000070040000D4000000C40000004F00000070040000BD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFAC0300004F000000B0030000A5010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000B00300006600000070040000BC010000B00300004F00000070040000A501000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F000000300100003C0200000100000002000010040000000100000012FFFFFF07050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000660000002C01000053020000000000004F0000002C0100003C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000E901000000060000ED010000000000000100000004000000010000008BFEFFFFF800000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF38020000950100003C0200001702000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003C0200000006000040020000010000000100001004000000010000001CFEFFFFD0000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000000000005702000000060000250300000000000040020000000600000E0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
- 2560
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000094F4C45445F53656E6496000000000000000100094F4C45445F53656E6400000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+ 2568
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D6C63645F706167655F666C6167960000000000000001000D6C63645F706167655F666C616700000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -3563,7 +3563,7 @@
Build
968
- 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000040000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000004001D000000000000000000000000000000000100000001000000018030800000000004001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000004006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000004002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000040000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000004002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000400230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000004004E00000000000000000000000000000000010000000100000001807202000000000400530000000000000000000000000000000001000000010000000180BE010000000004005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -3579,7 +3579,7 @@
Debug
2362
- 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -3603,30 +3603,12 @@
0
100
- 4
+ 2
..\App\Src\app.c
- 4
- 23
- 37
- 1
-
- 0
-
-
- ..\App\Src\oled.c
- 19
- 445
- 485
- 1
-
- 0
-
-
- ..\App\Src\key.c
- 6
- 32
- 50
+ 13
+ 20
+ 40
1
0
@@ -3634,44 +3616,17 @@
../Src/main.c
0
- 72
- 81
+ 73
+ 84
1
0
..\App\Src\tmc5160.c
- 17
- 104
- 127
- 1
-
- 0
-
-
- ..\App\Inc\tmc5160.h
- 24
- 1
- 8
- 1
-
- 0
-
-
- ..\App\Src\delay.c
- 0
- 1
- 35
- 1
-
- 0
-
-
- ../Src/spi.c
- 38
- 75
- 93
+ 2
+ 30
+ 46
1
0
@@ -3679,17 +3634,17 @@
startup_stm32f103xe.s
0
- 136
+ 137
148
1
0
- ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_spi.c
- 0
- 1437
- 1425
+ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
+ 29
+ 131
+ 140
1
0
diff --git a/MDK-ARM/mfps.uvguix.吴俊潮 b/MDK-ARM/mfps.uvguix.吴俊潮
new file mode 100644
index 0000000..57b1715
--- /dev/null
+++ b/MDK-ARM/mfps.uvguix.吴俊潮
@@ -0,0 +1,1878 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+
+
+
+
+ 38003
+ Registers
+ 140 90
+
+
+ 346
+ Code Coverage
+ 1010 160
+
+
+ 204
+ Performance Analyzer
+ 1170
+
+
+
+
+
+ 35141
+ Event Statistics
+
+ 200 50 700
+
+
+ 1506
+ Symbols
+
+ 80 80 80
+
+
+ 1936
+ Watch 1
+
+ 200 133 133
+
+
+ 1937
+ Watch 2
+
+ 200 133 133
+
+
+ 1935
+ Call Stack + Locals
+
+ 200 133 133
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+ 466
+ Source Browser
+ 500
+ 300
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -32000
+ -32000
+
+
+ -1
+ -1
+
+
+ 78
+ 78
+ 1518
+ 831
+
+
+
+ 0
+
+ 255
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000038463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31325C6D6670735C4170705C5372635C746D63353136302E630000000009746D63353136302E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000063030000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F40000004F00000090050000DD000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED00000033030000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED00000033030000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000002902000090050000B7020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ A3040000660000008D050000FF000000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000008D050000C4000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 030000002C0200008D0500009E020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED00000033030000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED00000033030000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000006403000080070000DE030000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000001502000090050000B7020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000670300008D050000C5030000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ F40000006300000090050000DD000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000008D050000C4000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A0040000630000009005000025020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000002902000090050000A3020000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000008D050000C4000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000008D050000C4000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 35141
+ 35141
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F40000006300000090050000DD000000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000008D050000C4000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED0000009E020000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000006403000090050000DE030000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000670300008D050000C5030000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 463
+ 463
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000670300008D050000C5030000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 466
+ 466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000670300008D050000C5030000
+
+
+ 16
+ 70000000870000008C010000C3020000
+
+
+
+ 470
+ 470
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000008D050000C4000000
+
+
+ 16
+ 70000000870000003803000015010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500007A010000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000D10300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000DE03000080070000F1030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000E701000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000006F02000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 824
+ 824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000002C0200008D0500008A020000
+
+
+ 16
+ 70000000870000006001000050010000
+
+
+
+ 3312
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000070000000870000003803000015010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000070000000870000006001000050010000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000070000000870000006001000050010000000000004F000000F00000004C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000070000000870000006001000050010000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0300008007000050030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000070000000870000003803000015010000000000005003000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2537
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 968
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2373
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1920
+ 1080
+
+
+
+
+
+ 1
+ 0
+
+ 100
+ 0
+
+ ..\App\Src\tmc5160.c
+ 58
+ 70
+ 23
+ 1
+
+ 0
+
+
+
+
+
diff --git a/MDK-ARM/mfps.uvoptx b/MDK-ARM/mfps.uvoptx
index 2d2f4cb..fc7298e 100644
--- a/MDK-ARM/mfps.uvoptx
+++ b/MDK-ARM/mfps.uvoptx
@@ -148,54 +148,17 @@
-UH -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL040000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0
-
-
- 0
- 0
- 145
- 1
- 134233086
- 0
- 0
- 0
- 0
- 0
- 1
- ..\App\Src\tmc5160.c
-
- \\mfps\../App/Src/tmc5160.c\145
-
-
+
0
1
- key_msg
+ XA
1
1
- key_val
-
-
- 2
- 1
- key_cnt
-
-
- 3
- 1
- data_r4
-
-
- 4
- 1
- data_r32
-
-
- 5
- 1
- data_r
+ VA
@@ -372,6 +335,18 @@
0
0
+
+ 2
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\2024.4.3\mfps\Src\misc.c
+ misc.c
+ 0
+ 0
+
@@ -382,7 +357,7 @@
0
3
- 10
+ 11
1
0
0
@@ -394,7 +369,7 @@
3
- 11
+ 12
1
0
0
@@ -406,7 +381,7 @@
3
- 12
+ 13
1
0
0
@@ -418,7 +393,7 @@
3
- 13
+ 14
1
0
0
@@ -430,7 +405,7 @@
3
- 14
+ 15
1
0
0
@@ -442,7 +417,7 @@
3
- 15
+ 16
1
0
0
@@ -454,7 +429,7 @@
3
- 16
+ 17
1
0
0
@@ -466,7 +441,7 @@
3
- 17
+ 18
1
0
0
@@ -478,7 +453,7 @@
3
- 18
+ 19
1
0
0
@@ -490,7 +465,7 @@
3
- 19
+ 20
1
0
0
@@ -502,7 +477,7 @@
3
- 20
+ 21
1
0
0
@@ -514,7 +489,7 @@
3
- 21
+ 22
1
0
0
@@ -526,7 +501,7 @@
3
- 22
+ 23
1
0
0
@@ -538,7 +513,7 @@
3
- 23
+ 24
1
0
0
@@ -550,7 +525,7 @@
3
- 24
+ 25
1
0
0
@@ -562,7 +537,7 @@
3
- 25
+ 26
1
0
0
@@ -582,7 +557,7 @@
0
4
- 26
+ 27
1
0
0
@@ -602,7 +577,7 @@
0
5
- 27
+ 28
1
0
0
@@ -614,7 +589,7 @@
5
- 28
+ 29
1
0
0
@@ -626,7 +601,7 @@
5
- 29
+ 30
1
0
0
@@ -638,7 +613,7 @@
5
- 30
+ 31
1
0
0
@@ -650,7 +625,7 @@
5
- 31
+ 32
1
0
0
@@ -662,7 +637,7 @@
5
- 32
+ 33
1
0
0
@@ -674,7 +649,7 @@
5
- 33
+ 34
1
0
0
@@ -686,7 +661,7 @@
5
- 34
+ 35
1
0
0
@@ -698,7 +673,7 @@
5
- 35
+ 36
1
0
0
@@ -708,18 +683,6 @@
0
0
-
- 5
- 36
- 5
- 0
- 0
- 0
- ..\App\Inc\tmc5160.h
- tmc5160.h
- 0
- 0
-
diff --git a/MDK-ARM/mfps.uvprojx b/MDK-ARM/mfps.uvprojx
index 81c5c48..1abaf75 100644
--- a/MDK-ARM/mfps.uvprojx
+++ b/MDK-ARM/mfps.uvprojx
@@ -340,7 +340,7 @@
STM32F103xE,USE_HAL_DRIVER
- ../Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../App/Src;../App/Inc
+ ../Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;..\App\Src;..\App\Inc
@@ -689,6 +689,11 @@
+
+ misc.c
+ 1
+ ..\..\..\2024.4.3\mfps\Src\misc.c
+
@@ -1650,11 +1655,6 @@
1
..\App\Src\tmc5160.c
-
- tmc5160.h
- 5
- ..\App\Inc\tmc5160.h
-
diff --git a/MDK-ARM/mfps/ads1220.crf b/MDK-ARM/mfps/ads1220.crf
index 634126420a9e3d4c59f32226622056b1e5952eac..0d3244087359372f44180109ab20734f02dbc874 100644
GIT binary patch
delta 1846
zcmYk6`%_e97{}lDEbQ4u1Oo9A>b&pcc$s7vH66zpFQ`;_MKR3`(iJc)Tu_ivAC)tr
zqCj{ZJ6t;|r2(By^<#u_jIaVNEo>|mlWe<(sb0O#=8C-H
zl?5f@->&@iaDIZ_*2C;Kx|O|w+|odS*xZ$FWg{TcUbc(He{!VDLqqml|GFICKEt3x
zhEW&ld)eRUDT@;2tb1Bg_fp**Q*2~C%981hS8QTERy6=NvmU4F0Tryrt3!Y-tS6{C
zz*g3&YCoWo^+dH7P{n$Z+5@O&Jz3QPK4zV!b^>ZxzoE7Rwy}Ow)d04$E_+K=gLbe^
zSCxRBtf#0gfL*Mos?C5}*3;BRz;4#l)ds*G)-#j^uvyPk>j8UNXQ;J+eXM7xHGuuB
zXRB3!1FSPuDWHz^99051$og%y0&s}++%i=J`h@j76$I3?en%Am4zr%GJ_IzdeplrK
zj<8;!mH--Azo&8mM_Fg7#eh#)XRAecd&gLLEjbr-oRw+GIiM3RWr9v}`0JhJB#2Wk
z(KJg=r5To_3`-WH;4~}0C1*HTl1q5psD@DYPD{k(O*h;b*L(&U=#TQI5iqbH>4%359ln61!DoVHH
z8LWDV=@muOkzNQLKuMMpFD^61E1HQ&7L;qrT4#v3!qmf#YxWQDr#l10mrRMuUY_Ca
zmvRh4zhdg8Xt5DL5uEDlS1Co%Z%)pjEGF?abrt~=IX=8c-_a}OKBl%OOZI|*2u6V!8
z(PJquA@ZOz;$Yq{(sLH4JY;%=0grJCY9K_T#UrL?h*n~=LX7>n(-!_FE?RF;fLxJ^ot`8y;#f+q~MWD@prn6{$2
P2L0O%S=k;TgdylZmNeV>e4C|b!2F1gNT4eJmO3X
zE~tPA`V>%Wt5vBBxOD1*P-)e=;93`+F=^7o)<2rGe>Js9`_0f0C;4)J-#O==d+yxH
z+$|q=y=++0L$?ry6!d__p+{O6F$oEY;|mHBC+BA;db~x+BSs`8dE(tyO&
zD;pn+3D&Ivrh2KJ&BC0b6?w(N=*hPS^Ql%ujQMg(2Rl99m7Y9N(Ub0A!y_iWXqSkI
zFWPK0Ul?QN4!Ra>l+qO?T+ui;>>7usd5S%vpY`t|65jitT`m|E^eCZ$`%=Bjis7&dhYjhle;m@NBNTG~2b)Fle`7>>*-fh-fi#
zInYXIEmS4_@>e@TRIrZqOFdAT*tLoENWV&fafz%JHPlpj#=;wHIu1A
z1mOta1d~%W*-_#oQy)cXc$G%H%5uEQDW)hz>3-Ra7e39@PtjDQ7eNguS!73xZF-9xeh*1FTQm+(W}N?4jaY>u{S}Cp4kq8K!}XmiT3b-AkNh8muVz%g%&5
z#}uci3T}@5rZ{i?)#gs_6THKDrjcQl=-O(fw7XyR{b5In3ru4arAnIOsKn%LOk)*|
zGiaQoagIcLplD~Br)U*MDuGr*S1@o1YQJO3ROE3`wu5rz0Yol_B3TAyNy>7Z#Vj36
z1&V4h%b)gO@jX+aA~tA^q&0^1xZNG$n~NcSU@F2H2C;kwdnsf~f@M!(FNf@EgG%Ku
zuveHiOGUde#bwwZnfAlh;fT|)SD8-0Zh~!wy~flI`y9o|_~x%OU4*?P4M;)`UpS_`
z!PJ5973p|_J)KPV;Qq#*I3#a&+lNxN;)=I=96gfq93r>7BR2XymW~rRyA?QELD+rwc
diff --git a/MDK-ARM/mfps/ads1220.d b/MDK-ARM/mfps/ads1220.d
index 9e9fa9d..dbb6fcc 100644
--- a/MDK-ARM/mfps/ads1220.d
+++ b/MDK-ARM/mfps/ads1220.d
@@ -1,5 +1,5 @@
mfps\ads1220.o: ..\App\Src\ads1220.c
-mfps\ads1220.o: ../App/Inc/ads1220.h
+mfps\ads1220.o: ..\App\Inc\ads1220.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
mfps\ads1220.o: ../Inc/stm32f1xx_hal_conf.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
@@ -30,5 +30,5 @@ mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h
-mfps\ads1220.o: ../App/Inc/delay.h
+mfps\ads1220.o: ..\App\Inc\delay.h
mfps\ads1220.o: ../Inc/main.h
diff --git a/MDK-ARM/mfps/ads1220.o b/MDK-ARM/mfps/ads1220.o
index e8590e4d6efa4dd94b00f84aff1163de2fb055b4..d9e4f8a1825471477fd332243a62696a4735d941 100644
GIT binary patch
delta 31951
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
delta 31132
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
sr{2Z!-{E$*9J`BuN%X{BJlqn}-5#@>X
z>E4|Y(BK6E!VnITTU3OA7*3Dn5(O1OB^g#xE=6tx1v&QLosmjGRTsZLUiW+b`upDG
z=!~NEO+`uj;u&*r=4(}KR&&zsxL{eoy1KIaMpl+RSv9t}nvH*L?@A}bzYkionIpNl
zxEK0*Rn*m??`Z43_C9B8Pv*!jF1~(kLsflEMQwTAsCqxftvRr?eOzj5K67Mr7&oH#
z?YER*#P(}@+DC|BYj@^I?=WOkZPjp$ICg$j`-mMk&M|20z?xwgv3uRy?IVu17BI(6
z9j2%l-q8CNv(An^(K~Luag2XN<*mK@loWfbS@RdW+9#UXn#XurbfSmqE6em_SF*Xw
zTBH5rt%OD^fulH3I-$g%#G*J`tOTnhHa(T4c8}$Z#f@nAXL)69Jv-OZC&e1W3)5L@
z7wmgX!o%g!+hd|FIocRI^qxV3+3N6~RBK55AiYQBe`0gPzBH@bKX9R$F`>Qv!3IBb
zwRMR$Cbc(~R##O%$^PAz8EsC9j;*Q~Uf#dP&mL>biuR;->>2B?Vu!-zX;#6I8h=%J
ze_em*#Q?znNq0agC;p;aU5*j?czY1X6eiPBNcD%+A6
zIeT!%Q60mEwxu%4LN#WhbXHbZ)HmQ!-Rai2fm8J8N3V}YbqxE<_0dy)AN@*O=jeP>
zWK3<8qa>gtq9lj7ZK0t3kC9Tgk=y9CGf}covQctE;lah0kB*sc
zPfmzmFS+pb5}sddWrkN4TQP-sXpfei?N@bZ@pMOT_fU90CKXd7MOf2wGnxvcr6>MJ
z@j9agcjrZ^ZS?lCP~uv=z2fIh4dNE>k0i2#fu48-A8z*Uh{X;CdUg)+q(}lg9B}av
zcR6S$Dn|mY7!2w{D=_A0z=f$(p&yJ=pdSM+ERhTyGfIMf3b?Q-3D9w)c<4mHh3&B-
z$t-x%(C6kp+c5-PrvfhQX$*AQs1tN1;KCkr=&TWg&IMdaA$}E8{A}dQ<-R<}Fx1Zn
zT)25(D*5sq_u~_#4pkMz5=xRV8f}f#l0euwCLLsRS#3<-#qmj@!>Bcg(
z(0Hkj$`jB8>Bemism2{XBi*<|A71DTtpBX^V118+3Q=j4HY&D*3L;K6QQA(t2q$|^
z+7^8bJTL7y`UrSI+VQk4(u2Ji9=JK4f>l`IC23>Ta%hsYvFhKT$8;d@I
zYo|!ND<0O#rb;`Lnt^H3&caJ}vR9;?P0NAl($1kbff>@yrDc)MEG+GAWa~qSQ)Xep
znNrvKV@#6_+J!V1nkDU?G#i*LZ5K5GbEI8FVO&2~+HSIKTwf64Cvg3%QrAkbAM>OK
zTkR7eJ{s+>Ne{O60cgI_{g`Ee^d!?;z(VQiOm9T`vPII9LLQuE4}#4Tetb*32>uz@
zES4U;`BG?!^rVM)KWM4+WQ6#g(CgB3la5%6Et8(E`h-~Q4XLNO9eUH~Hs~#*KG1Tb
zTcNk5Ug{QTg;8&4rBMmgEImPV_X1a$#$sr-kq>%D>gX5H8Y3He*T@647`dUfMn%v%
zBNwz@>TFR6Z7{kS+Gx}R+GJD!rM+iJ;QL1T;r(0VbNX}(@m#cRmL4bv+G3OqZ8ge*
zwi#tY+l{)0z1!k*f=EE=X!}I!#FPf@G}38cmyu2bpBiM1Cyai8P8uDBP8l76PD8;EKMbCcI_M5UXN|sx&KZ3N
z{cLmqI&btXbiwEwodBgkMiCB^#DA3n>Fpu{>7o>I^e}Kqig@}f@S79~G!(cjMIt>2
zT#-SMM1!HLQY4cO#A{M?p?iUl5;xIi;Athg(ucq}B{J!KV7wApvzo>3x)
z)&b8dkxMN=qY~X{4KPuOJd=!`Q=+>`M$apeZ<5gqN(9MdqZgGZFxluOC3+wmIoTv7
zJTxDetb|STfR~jJCI?MX!fSHSR3&^S2TfC=7&!>(O^IGK9hj~}2~7iLC~*fp2ZWXA
zOO3!xCGMgS(4<7aApHlLr9^*Hz-%Q-DFDn-;%<5hn5)D+G#YqSiF?Tp%v0h4dIES&
ziNRD2%vWLvJq|2T;$iwbuuzFds0>)7#4xkfimMT$8!F!lg<{)m3W5ZTY`k8#Iu}qj#!~YBPX30Rw^-x
zlMeW1B_?y~3awJ&6;3*&S1U1{lMdu}l$gOONuU2UN`yJ-_$Vms;CM6beIuE_4#9~h8p!bzn!bwNg
z2TCmEq~qyBC6)&{>G1fk5^rI!=2daqMFyHXtZQfuAU`5gZXoVmsUELl&Bio?S|83Zm-?1ktC;
z3wa&%CFc1|=^t5oH$OMZhjtrvhrTe%gZ3!>15Bshy+%6qercpr?^nu;Ulp17{C%yw
h_*LOUCexp-eaef^Uj|-otMVnJQSH7M{FTRg{2$4dNrnIb
delta 3198
zcmZA42XIu!83*v)L%P$cfF!B}h)5>t|x>Ldi|oW#NOZmQ||?@DGEYi38kz5U+qd#nAv
zd)ir@adtsQ{0To}9?r6kDps>8{#Z;Xr*CO#&Y+UQobg3dvd6LNy_+|B8Gdr=Q!+qD
z7+c=GhgqlgNK?#fKaQ!GSlF|BuiWg+ajd>}YvV-E*LP$*DLZ>K9&7aQvcl2&u?yMp
zs;2SPQ+=^jzF3atL2HH4wK~H8xcN`nh(4uMmxiWfeK}7+Jt2^1!my!_nr~7ik
zgVTL^b=%T?y%W-HpUdqSG(TEfw03AIXsIs07kP>84hM65St%B}Pg;8z?YJ2(!Ekta
zj;~ep9@F27eiy3?Lb^7!ZupH>8i`}Od8XIpnOO67ReY`wEv7C$*S~a5sI|+7BH&x6
zTY}58+PHjRB$l0W0^H>R4;@11v=fNJP%>?f_}CdIfQgczvqp)~IVXULn?vV~5}*rC
z01p=jT{Mb?E;#`_Yz%bS$Onb4IDuG~M}t?5qM&O|AkO6;=sP10U3UWUE`JjXV+
zhzFaQ2fOD4@eubAao-8z!aL9dCy4vF2|YBr0X=epxc(aS*a>2_%b3ZP7Piaskd4lp
z(niPjP)5YdDy8kEuYjr2_RbnzUo+Ffd)(emWQx>C9$?r|k7pXgubuk~Z$M2zpD}
zSf>zrTiVTCUI4u#ZLFA&i)Tu^4ebElm3CXI17=CP9c=^NlXePi0cJ}(l{Nu?kam08
z5NXcdmv#rT(;AP3{wvLqy7vlV=E{)Wm1>}Q((Xpff%(!7&{AN5v@>W4t`AE)NVbjZ
z(_OANW1-Z&UQo5Puze$;Mbg3_^w-d0qhDc$52TfVUG}mi(rQi{BhRr9rPYEgoO=sr
z-W>4o;(h*%&`?~rR9ZiC4HX{rA)F=qm8D&6u+YJNY4x?_+PHA;;c^7DxQDd6lkweJ7}L#TWG&g8|Z*h>u~x3e`*M)
zL+ARJ(t>oZA2ezK9Wv5cf7nQ$rz6tp)R^^0jda!@Gx9@U8R`80yOGZSe@KfO)Bm4F
zI{l9uHG@L`GSrpegpsZU^+pV8koq7#f+9u_p|6b|K>s$n5B(FVbORG-(Ge%dTvqo2-b4Hh;^G27T3q}{Ai&B^3^Ux)u
zbI@g@v(OczGtgC|)6g|2+(V7MW_oZkW7aWOOZ-_09T3jv4tV4)HN
z$pNaBc$G?lMIj}IQVFzJiD5JW_&|vfG!|H*#7G(ge5k}2v(-zLC^TEWOo{Q7hoR+4
zOrT!?E0mZ-eSsP!-k=wOl}b#e7l2ht{El>OTCK!1PP$msDlwhoy9DR|BPC{V(lug@
z5>=dZVfa{y_c*0NpC~b#QwM0R67x9e^j)XKd`_*P^-3(@lniZ9BFssr??xpSa?(k=
zNr`Gs@z7=^7ID(4x;}uh{f#UG4=Aw*pOzwj
z{-QFWObSAUS>MsHR*`T#JfRO
WPyMCmWk*$35=}Z0h5t8L=l=tZvg%0y
diff --git a/MDK-ARM/mfps/app.d b/MDK-ARM/mfps/app.d
index 0794097..25fbee7 100644
--- a/MDK-ARM/mfps/app.d
+++ b/MDK-ARM/mfps/app.d
@@ -35,11 +35,11 @@ mfps\app.o: ../Inc/spi.h
mfps\app.o: ../Inc/tim.h
mfps\app.o: ../Inc/usart.h
mfps\app.o: ../Inc/gpio.h
-mfps\app.o: ../App/Inc/key.h
+mfps\app.o: ..\App\Inc\key.h
mfps\app.o: ../Inc/app.h
-mfps\app.o: ../App/Inc/serial_port.h
-mfps\app.o: ../App/Inc/m1820.h
-mfps\app.o: ../App/Inc/oled.h
-mfps\app.o: ../App/Inc/MyLib.h
-mfps\app.o: ../App/Inc/ads1220.h
-mfps\app.o: ../App/Inc/tmc5160.h
+mfps\app.o: ..\App\Inc\serial_port.h
+mfps\app.o: ..\App\Inc\m1820.h
+mfps\app.o: ..\App\Inc\oled.h
+mfps\app.o: ..\App\Inc\MyLib.h
+mfps\app.o: ..\App\Inc\ads1220.h
+mfps\app.o: ..\App\Inc\tmc5160.h
diff --git a/MDK-ARM/mfps/app.o b/MDK-ARM/mfps/app.o
index fbbde1be49de108dbee9a967b45e1cc30633e1d7..c8488dc931f302939088e5bdaf7782ba07ab91f0 100644
GIT binary patch
delta 32055
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 |