From 3633b6d22659fa057b5a04f8930e27dd633122a6 Mon Sep 17 00:00:00 2001
From: wujunchao <24472040@qq.com>
Date: Thu, 18 Apr 2024 16:17: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/m1820.h | 2 +-
App/Inc/misc.h | 222 ++
App/Inc/oled.h | 2 +
App/Inc/serial_port.h | 1 -
App/Inc/tmc5160.h | 2 +
App/Src/app.c | 16 +-
App/Src/key.c | 59 +-
App/Src/m1820.c | 14 +-
App/Src/misc.c | 226 ++
App/Src/oled.c | 44 +-
App/Src/serial_port.c | 79 +-
App/Src/tmc5160.c | 90 +-
Inc/app.h | 1 +
Inc/misc.h | 2 +
MDK-ARM/mfps.uvguix.吴俊潮 | 1963 ++++++++++++-
MDK-ARM/mfps.uvoptx | 104 +-
MDK-ARM/mfps.uvprojx | 14 +-
MDK-ARM/mfps/ads1220.crf | Bin 639571 -> 639563 bytes
MDK-ARM/mfps/ads1220.d | 8 +-
MDK-ARM/mfps/ads1220.o | Bin 721524 -> 720884 bytes
MDK-ARM/mfps/app.crf | Bin 642234 -> 642295 bytes
MDK-ARM/mfps/app.d | 20 +-
MDK-ARM/mfps/app.o | Bin 715208 -> 714936 bytes
MDK-ARM/mfps/delay.crf | Bin 635127 -> 635119 bytes
MDK-ARM/mfps/delay.d | 12 +-
MDK-ARM/mfps/delay.o | Bin 708592 -> 708020 bytes
MDK-ARM/mfps/gpio.crf | Bin 635285 -> 635277 bytes
MDK-ARM/mfps/gpio.d | 10 +-
MDK-ARM/mfps/gpio.o | Bin 700732 -> 700256 bytes
MDK-ARM/mfps/i2c.crf | Bin 634466 -> 634458 bytes
MDK-ARM/mfps/i2c.d | 10 +-
MDK-ARM/mfps/i2c.o | Bin 704064 -> 703548 bytes
MDK-ARM/mfps/key.crf | Bin 638581 -> 638623 bytes
MDK-ARM/mfps/key.d | 8 +-
MDK-ARM/mfps/key.o | Bin 708312 -> 708396 bytes
MDK-ARM/mfps/m1820.crf | Bin 635919 -> 635868 bytes
MDK-ARM/mfps/m1820.d | 8 +-
MDK-ARM/mfps/m1820.o | Bin 715460 -> 712936 bytes
MDK-ARM/mfps/main.crf | Bin 642869 -> 642981 bytes
MDK-ARM/mfps/main.d | 20 +-
MDK-ARM/mfps/main.o | Bin 717048 -> 716868 bytes
MDK-ARM/mfps/mfps.axf | Bin 756968 -> 755460 bytes
MDK-ARM/mfps/mfps.build_log.htm | 55 +-
MDK-ARM/mfps/mfps.hex | 3509 +++++++++++------------
MDK-ARM/mfps/mfps.htm | 804 +++---
MDK-ARM/mfps/mfps.lnp | 2 +-
MDK-ARM/mfps/mfps.map | 1943 ++++++-------
MDK-ARM/mfps/mfps_mfps.dep | 2218 +++++++-------
MDK-ARM/mfps/misc.crf | Bin 241648 -> 241623 bytes
MDK-ARM/mfps/misc.d | 10 +-
MDK-ARM/mfps/misc.o | Bin 263236 -> 262716 bytes
MDK-ARM/mfps/mylib.crf | Bin 634522 -> 634514 bytes
MDK-ARM/mfps/mylib.d | 8 +-
MDK-ARM/mfps/mylib.o | Bin 708916 -> 708428 bytes
MDK-ARM/mfps/oled.crf | Bin 648376 -> 648412 bytes
MDK-ARM/mfps/oled.d | 16 +-
MDK-ARM/mfps/oled.o | Bin 740276 -> 739616 bytes
MDK-ARM/mfps/serial_port.crf | Bin 636520 -> 636345 bytes
MDK-ARM/mfps/serial_port.d | 14 +-
MDK-ARM/mfps/serial_port.o | Bin 704968 -> 701828 bytes
MDK-ARM/mfps/spi.crf | Bin 634566 -> 634558 bytes
MDK-ARM/mfps/spi.d | 10 +-
MDK-ARM/mfps/spi.o | Bin 704040 -> 703528 bytes
MDK-ARM/mfps/startup_stm32f103xe.o | Bin 6800 -> 6784 bytes
MDK-ARM/mfps/stm32f1xx_hal.crf | Bin 633871 -> 633863 bytes
MDK-ARM/mfps/stm32f1xx_hal.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal.o | Bin 732460 -> 731680 bytes
MDK-ARM/mfps/stm32f1xx_hal_cortex.crf | Bin 633333 -> 633325 bytes
MDK-ARM/mfps/stm32f1xx_hal_cortex.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_cortex.o | Bin 722316 -> 721692 bytes
MDK-ARM/mfps/stm32f1xx_hal_dma.crf | Bin 644935 -> 644927 bytes
MDK-ARM/mfps/stm32f1xx_hal_dma.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_dma.o | Bin 721104 -> 720500 bytes
MDK-ARM/mfps/stm32f1xx_hal_exti.crf | Bin 635491 -> 635483 bytes
MDK-ARM/mfps/stm32f1xx_hal_exti.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_exti.o | Bin 711648 -> 711096 bytes
MDK-ARM/mfps/stm32f1xx_hal_flash.crf | Bin 637282 -> 637274 bytes
MDK-ARM/mfps/stm32f1xx_hal_flash.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_flash.o | Bin 719616 -> 718976 bytes
MDK-ARM/mfps/stm32f1xx_hal_flash_ex.crf | Bin 638506 -> 638498 bytes
MDK-ARM/mfps/stm32f1xx_hal_flash_ex.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_flash_ex.o | Bin 718984 -> 718400 bytes
MDK-ARM/mfps/stm32f1xx_hal_gpio.crf | Bin 636396 -> 636388 bytes
MDK-ARM/mfps/stm32f1xx_hal_gpio.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_gpio.o | Bin 711228 -> 710688 bytes
MDK-ARM/mfps/stm32f1xx_hal_gpio_ex.crf | Bin 632527 -> 632519 bytes
MDK-ARM/mfps/stm32f1xx_hal_gpio_ex.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_gpio_ex.o | Bin 701020 -> 700552 bytes
MDK-ARM/mfps/stm32f1xx_hal_i2c.crf | Bin 699364 -> 699356 bytes
MDK-ARM/mfps/stm32f1xx_hal_i2c.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_i2c.o | Bin 849524 -> 848132 bytes
MDK-ARM/mfps/stm32f1xx_hal_msp.crf | Bin 633852 -> 633844 bytes
MDK-ARM/mfps/stm32f1xx_hal_msp.d | 8 +-
MDK-ARM/mfps/stm32f1xx_hal_msp.o | Bin 699548 -> 699084 bytes
MDK-ARM/mfps/stm32f1xx_hal_pwr.crf | Bin 635331 -> 635323 bytes
MDK-ARM/mfps/stm32f1xx_hal_pwr.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_pwr.o | Bin 722536 -> 721872 bytes
MDK-ARM/mfps/stm32f1xx_hal_rcc.crf | Bin 644668 -> 644660 bytes
MDK-ARM/mfps/stm32f1xx_hal_rcc.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_rcc.o | Bin 721952 -> 721352 bytes
MDK-ARM/mfps/stm32f1xx_hal_rcc_ex.crf | Bin 635243 -> 635235 bytes
MDK-ARM/mfps/stm32f1xx_hal_rcc_ex.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_rcc_ex.o | Bin 703224 -> 702760 bytes
MDK-ARM/mfps/stm32f1xx_hal_spi.crf | Bin 658789 -> 658781 bytes
MDK-ARM/mfps/stm32f1xx_hal_spi.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_spi.o | Bin 788208 -> 787064 bytes
MDK-ARM/mfps/stm32f1xx_hal_tim.crf | Bin 699176 -> 699168 bytes
MDK-ARM/mfps/stm32f1xx_hal_tim.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_tim.o | Bin 900500 -> 898552 bytes
MDK-ARM/mfps/stm32f1xx_hal_tim_ex.crf | Bin 659702 -> 659694 bytes
MDK-ARM/mfps/stm32f1xx_hal_tim_ex.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_tim_ex.o | Bin 773156 -> 772184 bytes
MDK-ARM/mfps/stm32f1xx_hal_uart.crf | Bin 660362 -> 660354 bytes
MDK-ARM/mfps/stm32f1xx_hal_uart.d | 6 +-
MDK-ARM/mfps/stm32f1xx_hal_uart.o | Bin 798768 -> 797560 bytes
MDK-ARM/mfps/stm32f1xx_it.crf | Bin 635257 -> 637429 bytes
MDK-ARM/mfps/stm32f1xx_it.d | 12 +-
MDK-ARM/mfps/stm32f1xx_it.o | Bin 723736 -> 725712 bytes
MDK-ARM/mfps/system_stm32f1xx.crf | Bin 632725 -> 632717 bytes
MDK-ARM/mfps/system_stm32f1xx.d | 6 +-
MDK-ARM/mfps/system_stm32f1xx.o | Bin 699952 -> 699468 bytes
MDK-ARM/mfps/tim.crf | Bin 634223 -> 634215 bytes
MDK-ARM/mfps/tim.d | 10 +-
MDK-ARM/mfps/tim.o | Bin 704020 -> 703512 bytes
MDK-ARM/mfps/tmc5160.crf | Bin 638142 -> 638627 bytes
MDK-ARM/mfps/tmc5160.d | 14 +-
MDK-ARM/mfps/tmc5160.o | Bin 712212 -> 713848 bytes
MDK-ARM/mfps/usart.crf | Bin 636988 -> 636980 bytes
MDK-ARM/mfps/usart.d | 10 +-
MDK-ARM/mfps/usart.o | Bin 707976 -> 707440 bytes
MDK-ARM/startup_stm32f103xe.lst | 8 +-
Src/main.c | 4 +-
Src/misc.c | 1 +
Src/stm32f1xx_it.c | 27 +-
134 files changed, 6961 insertions(+), 4761 deletions(-)
create mode 100644 App/Inc/misc.h
create mode 100644 App/Src/misc.c
diff --git a/App/Inc/m1820.h b/App/Inc/m1820.h
index 67dbced..0b145fb 100644
--- a/App/Inc/m1820.h
+++ b/App/Inc/m1820.h
@@ -14,7 +14,7 @@ uint8_t M1820_Init(void);
float M1820_Get_Temp(void);
void M1820_Act(void);
-extern float TEMP;
+//extern float TEMP;
#endif
diff --git a/App/Inc/misc.h b/App/Inc/misc.h
new file mode 100644
index 0000000..bfb318d
--- /dev/null
+++ b/App/Inc/misc.h
@@ -0,0 +1,222 @@
+/**
+ ******************************************************************************
+ * @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
+
+#define assert_param(expr) ((void)0U)
+
+#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/App/Inc/oled.h b/App/Inc/oled.h
index cb4275d..a9683b2 100644
--- a/App/Inc/oled.h
+++ b/App/Inc/oled.h
@@ -4,6 +4,8 @@
#include "main.h"
#include "MyLib.h"
+extern char oled_page;
+
void OLED_Act(void);
//ǰԴʾĻ
diff --git a/App/Inc/serial_port.h b/App/Inc/serial_port.h
index 63a2065..498b61a 100644
--- a/App/Inc/serial_port.h
+++ b/App/Inc/serial_port.h
@@ -9,7 +9,6 @@
#ifndef _SERIAL_PORT_H
#define _SERIAL_PORT_H
-void Tx_RX_UART1(void);
void uart_test(void);
#endif
diff --git a/App/Inc/tmc5160.h b/App/Inc/tmc5160.h
index 001c054..bb5e23d 100644
--- a/App/Inc/tmc5160.h
+++ b/App/Inc/tmc5160.h
@@ -8,7 +8,9 @@ void TMC5160_SPIReadInt(uint8_t addr, uint8_t record[5]);
void tmc5160_init(void);
void tmc5160_act(void);
void TMC5160A_Init_Gpio(void);
+uint32_t Raw_32(uint8_t raw[5]);
+extern char tmc5160_sw;
//void TMC5160A_SPI_Transmit(unsigned char val);
//void TMC5160A_SPI_Receive(unsigned char *val);
diff --git a/App/Src/app.c b/App/Src/app.c
index ec33c05..ab0d3eb 100644
--- a/App/Src/app.c
+++ b/App/Src/app.c
@@ -12,9 +12,9 @@
#include "ads1220.h"
#include "tmc5160.h"
-
-float X_ads1220;
-float vol;
+//绿灯 NOR ;蓝灯 ERR
+float X_ads1220 = 0;
+float TEMP = 0;
void app_act (void)
@@ -27,13 +27,15 @@ void app_act (void)
if(it_1000ms_flag == 1)
{
it_1000ms_flag = 0;
- M1820_Act(); //温度采集
- X_ads1220 = GetAD(4); //电阻尺采集
- tmc5160_act(); //电机执行功能
+
+ TEMP = M1820_Get_Temp(); //温度采集
+
+ X_ads1220 = GetAD(4); //电阻尺采集
+
+ tmc5160_act(); //电机执行功能
}
//3 串口通信
- //Tx_RX_UART1();
//uart_test();
//4 OLED
diff --git a/App/Src/key.c b/App/Src/key.c
index 41520b7..48c3468 100644
--- a/App/Src/key.c
+++ b/App/Src/key.c
@@ -5,11 +5,13 @@
#include "delay.h"
unsigned char key_i = 0;
-unsigned int key_cnt[3] = {0};//延时用计数
-unsigned char key_msg[3] = {0};//按键事件
-unsigned char key_val[3] = {0};//按键值
+unsigned int key_cnt[3] = {0}; //延时用计数
+unsigned char key_msg[3] = {0}; //按键事件
+unsigned char key_val[3] = {0}; //按键值
+unsigned char oled_flag = 1; //oled初始化时为点亮状态;1表示点亮,0表示熄灭。
#define KEY_CNT 5
+#define PAGEMAX 2
void Key_Scan(void) // 扫描K1-K3的状态
{
@@ -19,23 +21,23 @@ void Key_Scan(void) // 扫描K1-K3的状态
//检测按键
if(key_i >= 3) key_i = 0;
- if (key_val[key_i] == 0 && key_msg[key_i] == 0)//按键按下
+ if (key_val[key_i] == 0 && key_msg[key_i] == 0) //按键按下
{
key_cnt[key_i]++;
if(key_cnt[key_i] > KEY_CNT)
{
key_cnt[key_i] = 0;
- key_msg[key_i] = 1;//按键按下
+ key_msg[key_i] = 1; //按键按下,触发事件1
}
}
- if (key_val[key_i] == 1 && key_msg[key_i] == 1)//按键抬起
+ if (key_val[key_i] == 1 && key_msg[key_i] == 2) //按键抬起
{
key_cnt[key_i]++;
if(key_cnt[key_i] > KEY_CNT)
{
key_cnt[key_i] = 0;
- key_msg[key_i] = 0;//完成抬起动作后,再清空事件
+ key_msg[key_i] = 0; //完成抬起动作后,再清空事件
}
}
@@ -54,29 +56,42 @@ void msg_clr()
void key_act(void)
{
- if(key_msg[0] == 1)//K1完成按下后,绿灯亮起,蓝灯熄灭,点亮OLED
+ 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);
- OLED_DisPlay_On();
-
-
+ if(oled_flag == 0)
+ {
+ HAL_GPIO_WritePin(LED_NOR_GPIO_Port,LED_NOR_Pin,GPIO_PIN_RESET);
+ OLED_DisPlay_On();
+ oled_flag = 1;
+
+ key_msg[0] = 2; //完成OLED和绿灯操作后,触发事件2
+ }else
+ {
+ HAL_GPIO_WritePin(LED_ERR_GPIO_Port,LED_NOR_Pin,GPIO_PIN_SET);
+ OLED_DisPlay_Off();
+ oled_flag = 0;
+
+ key_msg[0] = 2; //完成OLED和绿灯操作后,触发事件2
+ }
}
- if(key_msg[1] == 1)//K2完成按下后,绿灯熄灭,蓝灯亮起,熄灭OLED
+ if(key_msg[1] == 1)//K2完成按下后,进行翻页,page one->last page->page one
{
- 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);
- OLED_DisPlay_Off();
-
+ if(oled_page >= PAGEMAX)
+ {
+ oled_page = 1;
+ }else oled_page++;
+ OLED_NewFrame();
+
+ key_msg[1] = 2;
}
- if(key_msg[2] == 1)//K3完成按下后,熄灭蓝灯和绿灯
+ 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);
-
+ tmc5160_sw =(tmc5160_sw == 0);
+ key_msg[2] = 2;
}
+
}
diff --git a/App/Src/m1820.c b/App/Src/m1820.c
index 5027da4..96be322 100644
--- a/App/Src/m1820.c
+++ b/App/Src/m1820.c
@@ -218,13 +218,13 @@ float M1820_Get_Temp(void)
}
-//ִ
-float TEMP = 0;
-void M1820_Act(void)
-{
-// M1820_Init();
- TEMP = M1820_Get_Temp();
-}
+////ִ
+//float TEMP = 0;
+//void M1820_Act(void)
+//{
+//// M1820_Init();
+// TEMP = M1820_Get_Temp();
+//}
diff --git a/App/Src/misc.c b/App/Src/misc.c
new file mode 100644
index 0000000..6f7c141
--- /dev/null
+++ b/App/Src/misc.c
@@ -0,0 +1,226 @@
+/**
+ ******************************************************************************
+ * @file misc.c
+ * @author MCD Application Team
+ * @version V3.5.0
+ * @date 11-March-2011
+ * @brief This file provides all the miscellaneous firmware 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
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "misc.h"
+//#include "STM32F1xx_HAL_CONF.h"
+
+/** @addtogroup STM32F10x_StdPeriph_Driver
+ * @{
+ */
+
+/** @defgroup MISC
+ * @brief MISC driver modules
+ * @{
+ */
+
+/** @defgroup MISC_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Private_Defines
+ * @{
+ */
+
+#define AIRCR_VECTKEY_MASK ((uint32_t)0x05FA0000)
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Private_Variables
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Private_FunctionPrototypes
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @defgroup MISC_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Configures the priority grouping: pre-emption priority and subpriority.
+ * @param NVIC_PriorityGroup: specifies the priority grouping bits length.
+ * This parameter can be one of the following values:
+ * @arg NVIC_PriorityGroup_0: 0 bits for pre-emption priority
+ * 4 bits for subpriority
+ * @arg NVIC_PriorityGroup_1: 1 bits for pre-emption priority
+ * 3 bits for subpriority
+ * @arg NVIC_PriorityGroup_2: 2 bits for pre-emption priority
+ * 2 bits for subpriority
+ * @arg NVIC_PriorityGroup_3: 3 bits for pre-emption priority
+ * 1 bits for subpriority
+ * @arg NVIC_PriorityGroup_4: 4 bits for pre-emption priority
+ * 0 bits for subpriority
+ * @retval None
+ */
+void NVIC_PriorityGroupConfig(uint32_t NVIC_PriorityGroup)
+{
+ /* Check the parameters */
+ assert_param(IS_NVIC_PRIORITY_GROUP(NVIC_PriorityGroup));
+
+ /* Set the PRIGROUP[10:8] bits according to NVIC_PriorityGroup value */
+ SCB->AIRCR = AIRCR_VECTKEY_MASK | NVIC_PriorityGroup;
+}
+
+/**
+ * @brief Initializes the NVIC peripheral according to the specified
+ * parameters in the NVIC_InitStruct.
+ * @param NVIC_InitStruct: pointer to a NVIC_InitTypeDef structure that contains
+ * the configuration information for the specified NVIC peripheral.
+ * @retval None
+ */
+void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct)
+{
+ uint32_t tmppriority = 0x00, tmppre = 0x00, tmpsub = 0x0F;
+
+ /* Check the parameters */
+ assert_param(IS_FUNCTIONAL_STATE(NVIC_InitStruct->NVIC_IRQChannelCmd));
+ assert_param(IS_NVIC_PREEMPTION_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority));
+ assert_param(IS_NVIC_SUB_PRIORITY(NVIC_InitStruct->NVIC_IRQChannelSubPriority));
+
+ if (NVIC_InitStruct->NVIC_IRQChannelCmd != DISABLE)
+ {
+ /* Compute the Corresponding IRQ Priority --------------------------------*/
+ tmppriority = (0x700 - ((SCB->AIRCR) & (uint32_t)0x700))>> 0x08;
+ tmppre = (0x4 - tmppriority);
+ tmpsub = tmpsub >> tmppriority;
+
+ tmppriority = (uint32_t)NVIC_InitStruct->NVIC_IRQChannelPreemptionPriority << tmppre;
+ tmppriority |= NVIC_InitStruct->NVIC_IRQChannelSubPriority & tmpsub;
+ tmppriority = tmppriority << 0x04;
+
+ NVIC->IP[NVIC_InitStruct->NVIC_IRQChannel] = tmppriority;
+
+ /* Enable the Selected IRQ Channels --------------------------------------*/
+ NVIC->ISER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] =
+ (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F);
+ }
+ else
+ {
+ /* Disable the Selected IRQ Channels -------------------------------------*/
+ NVIC->ICER[NVIC_InitStruct->NVIC_IRQChannel >> 0x05] =
+ (uint32_t)0x01 << (NVIC_InitStruct->NVIC_IRQChannel & (uint8_t)0x1F);
+ }
+}
+
+/**
+ * @brief Sets the vector table location and Offset.
+ * @param NVIC_VectTab: specifies if the vector table is in RAM or FLASH memory.
+ * This parameter can be one of the following values:
+ * @arg NVIC_VectTab_RAM
+ * @arg NVIC_VectTab_FLASH
+ * @param Offset: Vector Table base offset field. This value must be a multiple
+ * of 0x200.
+ * @retval None
+ */
+void NVIC_SetVectorTable(uint32_t NVIC_VectTab, uint32_t Offset)
+{
+ /* Check the parameters */
+ assert_param(IS_NVIC_VECTTAB(NVIC_VectTab));
+ assert_param(IS_NVIC_OFFSET(Offset));
+
+ SCB->VTOR = NVIC_VectTab | (Offset & (uint32_t)0x1FFFFF80);
+}
+
+/**
+ * @brief Selects the condition for the system to enter low power mode.
+ * @param LowPowerMode: Specifies the new mode for the system to enter low power mode.
+ * This parameter can be one of the following values:
+ * @arg NVIC_LP_SEVONPEND
+ * @arg NVIC_LP_SLEEPDEEP
+ * @arg NVIC_LP_SLEEPONEXIT
+ * @param NewState: new state of LP condition. This parameter can be: ENABLE or DISABLE.
+ * @retval None
+ */
+void NVIC_SystemLPConfig(uint8_t LowPowerMode, FunctionalState NewState)
+{
+ /* Check the parameters */
+ assert_param(IS_NVIC_LP(LowPowerMode));
+ assert_param(IS_FUNCTIONAL_STATE(NewState));
+
+ if (NewState != DISABLE)
+ {
+ SCB->SCR |= LowPowerMode;
+ }
+ else
+ {
+ SCB->SCR &= (uint32_t)(~(uint32_t)LowPowerMode);
+ }
+}
+
+/**
+ * @brief Configures the SysTick clock source.
+ * @param SysTick_CLKSource: specifies the SysTick clock source.
+ * This parameter can be one of the following values:
+ * @arg SysTick_CLKSource_HCLK_Div8: AHB clock divided by 8 selected as SysTick clock source.
+ * @arg SysTick_CLKSource_HCLK: AHB clock selected as SysTick clock source.
+ * @retval None
+ */
+void SysTick_CLKSourceConfig(uint32_t SysTick_CLKSource)
+{
+ /* Check the parameters */
+ assert_param(IS_SYSTICK_CLK_SOURCE(SysTick_CLKSource));
+ if (SysTick_CLKSource == SysTick_CLKSource_HCLK)
+ {
+ SysTick->CTRL |= SysTick_CLKSource_HCLK;
+ }
+ else
+ {
+ SysTick->CTRL &= SysTick_CLKSource_HCLK_Div8;
+ }
+}
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
diff --git a/App/Src/oled.c b/App/Src/oled.c
index 48f82fa..05eb454 100644
--- a/App/Src/oled.c
+++ b/App/Src/oled.c
@@ -72,13 +72,14 @@ void OLED_Init(void) {
OLED_SendCmd(0x20);
OLED_SendCmd(0x8D);//õɱÿ
- OLED_SendCmd(0x10);//
+ OLED_SendCmd(0x14); // ɱ
OLED_NewFrame();
OLED_ShowFrame();
- OLED_SendCmd(0xAE); /*رʾ display Off*/
+ OLED_SendCmd(0xAF); // Ļ
+ OLED_NewFrame();
}
@@ -455,29 +456,30 @@ void OLED_PrintString(uint8_t x, uint8_t y, char *str, const Font *font, OLED_Co
char str_print[20] = {0};
-
+char oled_page = 1; //OLED starts from page 1
void OLED_Act(void)
{
-
- //OLED_PrintASCIIChar(64, 32, '1', &afont16x8, OLED_COLOR_NORMAL); //ASCIIַʾ
+ //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(10, 0 , "Position", &afont16x8, OLED_COLOR_NORMAL);
- OLED_PrintASCIIString(85, 0 , "Temp", &afont16x8, OLED_COLOR_NORMAL);
-
+ if(oled_page == 1)
+ {
-
-
-// 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_PrintASCIIString(10, 0 , "Temp", &afont24x12, OLED_COLOR_NORMAL);
+
+ sprintf(str_print, "%.1f",TEMP ); // ¶
+ OLED_PrintASCIIString(5, 32, str_print, &afont24x12, OLED_COLOR_NORMAL);
+
+ OLED_ShowFrame();//ʾǰԴ
+ }
+ if(oled_page == 2)
+ {
+ OLED_PrintASCIIString(10, 0 , "Position", &afont24x12, OLED_COLOR_NORMAL);
+
+ sprintf(str_print, "%.1f",X_ads1220 ); //
+ OLED_PrintASCIIString(5, 32, str_print, &afont24x12, OLED_COLOR_NORMAL);
+
+ OLED_ShowFrame();//ʾǰԴ
+ }
// OLED_ShowPageFrame(0);
diff --git a/App/Src/serial_port.c b/App/Src/serial_port.c
index ca29586..17f1ae4 100644
--- a/App/Src/serial_port.c
+++ b/App/Src/serial_port.c
@@ -18,77 +18,22 @@
// ʹLP-300-SPType-Aӿͨ
-char text_r[20] = "empty ";
-char text_t[20] = "empty";
-int text_s = 0;
+//char text_r[20] = {0};
+//char text_t[20] = {0};
-//ƬPCͨ
-//void Tx_RX_UART1(void)
+
+//void uart_test(void)
//{
-///***********************Ƭ״̬0******************************/
-// if( text_s == 0 )
+
+// if( it_1000ms_flag == 1)
// {
-// if( it_1000ms_flag == 1)//0״̬ÿ1뷢һεǰtext_t
-// {
-// it_1000ms_flag = 0;
-// HAL_UART_Transmit_IT( &huart1, (uint8_t*)text_t, 20);
-//
-// }
-// HAL_UART_Receive_IT( &huart1,(uint8_t*)text_r,20);//
-// if( strncmp( (char*)text_r ,"start", 20 ) == 0 )//յPCstartźźPC"How are you"
-// {
-// text_s = 1;//Ƭ״̬תΪ1
-//
-// strcpy((char*)text_t," How are you?");
-// HAL_UART_Transmit_IT( &huart1, (uint8_t*)text_t, 20);
-// }
+// it_1000ms_flag = 0;
//
-//
+// strcpy(text_t," Hello World! ");
+// //HAL_UART_Receive_IT( &huart1, (uint8_t*)text_r, 20);
+
+// HAL_UART_Transmit_IT( &huart1, (uint8_t *)text_t, 20);
// }
-///***********************Ƭ״̬0******************************/
-//
-//
-///***********************Ƭ״̬1******************************/
-// if( text_s == 1 )
-// {
-// HAL_UART_Receive_IT( &huart1,(uint8_t*)text_r,20);//
-//
-// if( strncmp( (char*)text_r ,"3Q", 20 ) == 0 )//յ3QظYou are welcome
-// {
-// strcpy((char*)text_t,"You are welcome");
-// HAL_UART_Transmit_IT( &huart1, (uint8_t*)text_t, 20);
-//
-// }
-//
-// if( strncmp( (char*)text_r ,"end", 20 ) == 0 )//յPCendźźPC"See you again"
-// {
-// strcpy((char*)text_t,"See you again");
-// HAL_UART_Transmit_IT( &huart1, (uint8_t*)text_t, 20);
-//
-// if( it_1000ms_flag ==1 )//ȴ1Ƭ״̬תΪ0
-// {
-// it_1000ms_flag = 0;
-// text_s = 0;
-// }
-// }
-// }
-///***********************Ƭ״̬1******************************/
+//
//}
-
-void uart_test(void)
-{
-
- if( it_1000ms_flag == 1)
- {
- it_1000ms_flag = 0;
-
- //HAL_UART_Receive_IT( &huart1, (uint8_t*)text_r, 20);
-
- //HAL_UART_Transmit_IT( &huart1, (uint8_t*)text_r, 20);
- }
-
-
-
-}
-
diff --git a/App/Src/tmc5160.c b/App/Src/tmc5160.c
index 95ee0c1..cf25b48 100644
--- a/App/Src/tmc5160.c
+++ b/App/Src/tmc5160.c
@@ -55,7 +55,7 @@ void TMC5160A_Init_Gpio(void)
void tmc5160_init(void)
{
// 纯SPI模式
-// TMC5160_SPIWriteInt(0x00, 0x0000000C,1); // writing value 0x0000000C = 12 = 0.0 to address 0 = 0x00(GCONF) 0x00000008 不能移动 会左右抖动
+ TMC5160_SPIWriteInt(0x00, 0x00000004,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)
@@ -63,25 +63,25 @@ void tmc5160_init(void)
// 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(0x10, 0x00070A03,1); // IHOLD_IRUN
+ TMC5160_SPIWriteInt(0x11, 0x0000000A,1); // writing value 0x0000000A = 10 = 0.0 to address 9 = 0x11(TPOWERDOWN)
+ TMC5160_SPIWriteInt(0x13, 0x000001F4,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)
+// 斜波发生器运动寄存器
+ TMC5160_SPIWriteInt(0x20, 0x00000000,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); // A1
+ TMC5160_SPIWriteInt(0x26, 0x000001F4,1); // AMAX
+ TMC5160_SPIWriteInt(0x25, 0x0000186A,1); // V1
+ TMC5160_SPIWriteInt(0x27, 0x000061A8,1); // VMAX
+ TMC5160_SPIWriteInt(0x2A, 0x000003E8,1); // D1
+ TMC5160_SPIWriteInt(0x28, 0x000001F4,1); // DMAX
+ TMC5160_SPIWriteInt(0x2B, 0x00000010,1); // VSTOP >= 0x0000000A
+ TMC5160_SPIWriteInt(0x2C, 0x00003FFF,1); // TZEROWAIT
+ TMC5160_SPIWriteInt(0x2D, 0x00000000,1); // writing value 0xFFCC12F0 = 0 = 0.0 to address 24 = 0x2D(XTARGET)
// 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)
@@ -102,7 +102,7 @@ void tmc5160_init(void)
// 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(0x6C, 0x000100C3,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)
@@ -201,23 +201,59 @@ void TMC5160_SPIReadInt(uint8_t addr, uint8_t record[5])//从addr寄存器读取
}
uint8_t XA[5]={0},VA[5]={0};
+uint32_t XA_32 = 0,VA_32 = 0;
+char tmc5160_sw =0;
void tmc5160_act()
{
TMC5160_SPIReadInt(0x21,XA);//读取实际位置XACTUAL
-
- TMC5160_SPIReadInt(0x20,VA);//读取实际速度VACTUAL
-
-// TMC5160_SPIWriteInt(0x20,0x00000001,1);//RAMPMODE = 1 速度模式至+VMAX
-// TMC5160_SPIWriteInt(0x2D,0x0000C800,1); //设置目标位置
-// TMC5160_SPIWriteInt(0x2D,(uint32_t)0xADFFFF3800,1); //XTARGET = -51200 反向转动一圈
-
+ XA_32 = Raw_32(XA);
+ TMC5160_SPIReadInt(0x22,VA);//读取实际速度VACTUAL
+ VA_32 = Raw_32(VA);
+
+ if(tmc5160_sw == 1)
+ {
+ HAL_GPIO_TogglePin(LED_ERR_GPIO_Port,LED_ERR_Pin); //电机运行时蓝灯闪烁
+
+ if( XA_32 == 0x00000000 )
+ {
+ TMC5160_SPIWriteInt(0x2D,0x00025800,1); //正向转动3圈
+ }
+
+ if( XA_32== 0x00025800 )
+ {
+ TMC5160_SPIWriteInt(0x2D,0x00000000,1); //返回起点
+ }
+ }else
+ {
+ TMC5160_SPIWriteInt(0x2D,XA_32,1); //把当前位置设定为目标位置,进入减速阶段
+
+ if(VA_32 < 0x00000005)
+ {
+ TMC5160_SPIWriteInt(0x21,0x00000000,1); //电机静止时蓝灯常亮
+ HAL_GPIO_WritePin(LED_ERR_GPIO_Port,LED_ERR_Pin,GPIO_PIN_RESET);
+ }
+ }
}
+uint32_t Raw_32(uint8_t raw[5]) //把5*8bit数据中的0~32位拼接成1*32bit的数值并返回
+{
+ uint32_t result = 0;
+
+ result |= raw[1];
+ result <<= 8;
+ result |= raw[2];
+ result <<= 8;
+ result|= raw[3];
+ result <<= 8;
+ result|= raw[4];
+
+ return result;
+}
+
-
diff --git a/Inc/app.h b/Inc/app.h
index 84bdacd..17dfbd3 100644
--- a/Inc/app.h
+++ b/Inc/app.h
@@ -14,5 +14,6 @@ extern int it_1000ms_cnt ,it_1000ms_flag;
extern float X_ads1220;
extern float TEMP;
+
#endif
diff --git a/Inc/misc.h b/Inc/misc.h
index 9a6bd07..bfb318d 100644
--- a/Inc/misc.h
+++ b/Inc/misc.h
@@ -24,6 +24,8 @@
#ifndef __MISC_H
#define __MISC_H
+#define assert_param(expr) ((void)0U)
+
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/MDK-ARM/mfps.uvguix.吴俊潮 b/MDK-ARM/mfps.uvguix.吴俊潮
index 57b1715..65f6bde 100644
--- a/MDK-ARM/mfps.uvguix.吴俊潮
+++ b/MDK-ARM/mfps.uvguix.吴俊潮
@@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
-
+ F:\Desktop\Work\2024.04\2024.4.17\mfps\App\Src
@@ -70,7 +70,7 @@
466
Source Browser
500
- 300
+ 166
@@ -78,11 +78,11 @@
- 1
- 1
+ 0
+ 0
0
- 0
- -1
+ 50
+ 16
@@ -93,8 +93,8 @@
2
3
- -32000
- -32000
+ -1
+ -1
-1
@@ -110,8 +110,8 @@
0
- 255
- 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000001000000000000000100000038463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31325C6D6670735C4170705C5372635C746D63353136302E630000000009746D63353136302E6300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000063030000
+ 593
+ 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000005000000010000000100000034463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31375C6D6670735C4170705C5372635C6170702E6300000000056170702E6300000000C5D4F200FFFFFFFF39463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31375C6D6670735C5372635C73746D3332663178785F69742E63000000000E73746D3332663178785F69742E6300000000FFDC7800FFFFFFFF44463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31375C6D6670735C4D444B2D41524D5C737461727475705F73746D33326631303378652E730000000015737461727475705F73746D33326631303378652E7300000000BECEA100FFFFFFFF31463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31375C6D6670735C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF35463A5C4465736B746F705C576F726B5C323032342E30345C323032342E342E31375C6D6670735C4170705C5372635C6F6C65642E6300000000066F6C65642E6300000000BCA8E100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000080070000C6020000
@@ -134,7 +134,7 @@
16
- 70000000870000003803000015010000
+ F40000006600000090050000F4000000
@@ -150,7 +150,7 @@
0
16
- 0300000066000000ED00000033030000
+ 0300000066000000ED00000096020000
16
@@ -170,7 +170,7 @@
0
16
- 0300000066000000ED00000033030000
+ 0300000066000000ED00000096020000
16
@@ -190,7 +190,7 @@
0
16
- 000000002902000090050000B7020000
+ 030000002C0200008D0500009E020000
16
@@ -210,7 +210,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -230,7 +230,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -250,7 +250,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -270,7 +270,7 @@
0
16
- A3040000660000008D050000FF000000
+ A3040000660000008D0500000C020000
16
@@ -330,7 +330,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -350,7 +350,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -370,7 +370,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -390,7 +390,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -410,7 +410,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -430,7 +430,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -450,7 +450,7 @@
0
16
- 0300000066000000ED00000033030000
+ 0300000066000000ED00000096020000
16
@@ -470,7 +470,7 @@
0
16
- 0300000066000000ED00000033030000
+ 0300000066000000ED00000096020000
16
@@ -490,7 +490,7 @@
0
16
- 000000006403000080070000DE030000
+ 03000000CA0200007D070000C5030000
16
@@ -530,7 +530,7 @@
0
16
- 03000000670300008D050000C5030000
+ 03000000CA0200007D070000C5030000
16
@@ -550,7 +550,7 @@
0
16
- F40000006300000090050000DD000000
+ F7000000660000008D050000C4000000
16
@@ -610,7 +610,7 @@
0
16
- A0040000630000009005000025020000
+ A3040000660000008D0500000C020000
16
@@ -630,7 +630,7 @@
0
16
- 000000002902000090050000A3020000
+ 030000002C0200008D0500009E020000
16
@@ -690,7 +690,7 @@
0
16
- F40000006300000090050000DD000000
+ F7000000660000008D050000C4000000
16
@@ -730,7 +730,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -750,7 +750,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -770,7 +770,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -790,7 +790,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -810,7 +810,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -830,7 +830,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -850,7 +850,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -870,7 +870,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -890,7 +890,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -910,7 +910,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -930,7 +930,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -950,7 +950,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -970,7 +970,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -990,7 +990,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1010,7 +1010,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1030,7 +1030,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1050,7 +1050,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1070,7 +1070,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1090,7 +1090,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1110,7 +1110,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1130,7 +1130,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1150,7 +1150,7 @@
0
16
- 0300000066000000ED0000009E020000
+ 0300000066000000ED00000096020000
16
@@ -1160,7 +1160,7 @@
38007
38007
- 0
+ 1
0
0
0
@@ -1170,7 +1170,7 @@
0
16
- 000000006403000090050000DE030000
+ 03000000CA0200007D070000C5030000
16
@@ -1190,7 +1190,7 @@
0
16
- 03000000670300008D050000C5030000
+ 03000000CA0200007D070000C5030000
16
@@ -1210,7 +1210,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -1230,7 +1230,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -1250,7 +1250,7 @@
0
16
- 03000000670300008D050000C5030000
+ 03000000CA0200007D070000C5030000
16
@@ -1270,7 +1270,7 @@
0
16
- 03000000670300008D050000C5030000
+ 03000000CA0200007D070000C5030000
16
@@ -1310,7 +1310,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1330,7 +1330,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1350,7 +1350,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1370,7 +1370,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1390,7 +1390,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1410,7 +1410,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1430,7 +1430,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1450,7 +1450,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1470,7 +1470,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1490,7 +1490,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1510,7 +1510,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1530,7 +1530,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1550,7 +1550,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1570,7 +1570,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1590,7 +1590,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1610,7 +1610,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1630,7 +1630,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1650,7 +1650,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1670,7 +1670,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1690,7 +1690,7 @@
0
16
- A3040000660000008D0500007A010000
+ A3040000660000008D0500000C020000
16
@@ -1704,7 +1704,7 @@
0
0
0
- 32767
+ 966
0
8192
0
@@ -1744,7 +1744,7 @@
0
0
0
- 32767
+ 476
0
8192
1
@@ -1764,7 +1764,7 @@
0
0
0
- 32767
+ 612
0
8192
2
@@ -1790,7 +1790,7 @@
0
16
- 030000002C0200008D0500008A020000
+ 030000002C0200008D0500009E020000
16
@@ -1799,14 +1799,14 @@
3312
- 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E65002000000000000070000000870000003803000015010000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C300000180004000000000000070000000870000006001000050010000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F40000004C030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000070000000870000006001000050010000000000004F000000F00000004C0300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB0900000180008000000000000070000000870000006001000050010000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000004C0300008007000050030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000070000000870000003803000015010000000000005003000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000090050000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000F40000006600000090050000F4000000F40000004F00000090050000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F4000000AF020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F0000000C6020000000000004F000000F0000000AF0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000011020000900500001502000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000002C02000090050000CE020000000000001502000090050000B702000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000015020000CC020000B702000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000AF02000080070000B3020000010000000100001004000000010000001BFEFFFF9F010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000CA02000080070000F503000000000000B302000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572010000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
File
2537
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
1423
@@ -1822,7 +1822,7 @@
Build
968
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046D66707396000000000000000100046D667073000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
583
@@ -1838,7 +1838,1748 @@
Debug
2373
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1920
+ 1080
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 5F0500004F0000008007000038030000
+
+
+ 16
+ 5F05000066000000800700004F030000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0000000063000000F000000038030000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED0000001F030000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 1465
+ 1465
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 1935
+ 1935
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1936
+ 1936
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED0000001F030000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED0000001F030000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000400200008D0500009E020000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 198
+ 198
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000003C03000080070000DE030000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000400200008D0500009E020000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 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
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 35141
+ 35141
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000ED0000001F030000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000400200008D0500009E020000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000400200008D0500009E020000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 463
+ 463
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000400200008D0500009E020000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 466
+ 466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000400200008D0500009E020000
+
+
+ 16
+ 560000006D00000072010000A9020000
+
+
+
+ 470
+ 470
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ F7000000660000007D070000C4000000
+
+
+ 16
+ 560000006D0000001E030000FB000000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ A3040000660000008D0500000C020000
+
+
+ 16
+ 560000006D0000004601000036010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 966
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000D10300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000DE03000080070000F1030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 476
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000E701000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 824
+ 824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 62050000660000007D0700001F030000
+
+
+ 16
+ 25030000B9010000E90500005B020000
+
+
+
+ 3415
+ 000000000C000000000000000040000001000000FFFFFFFFFFFFFFFF5B0500004F0000005F050000380300000100000002000010040000000100000039FCFFFFBA02000000000000000000000000000001000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000FFFF02000B004354616262656450616E6500400000010000005F05000066000000800700004F0300005F0500004F000000800700003803000000000000404100560F0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0500000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DD00000080070000E1000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D60100004589000001800020000000000000F40000006600000080070000F4000000F40000004F00000080070000DD0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000025020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000A004000066000000900500003C020000A00400004F000000900500002502000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000038030000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000F00000004F030000000000004F000000F0000000380300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000038030000800700003C03000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFFC00300003C030000C4030000DE03000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000250200009005000029020000000000000100000004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000000000000000000004002000090050000CE020000000000002902000090050000B70200000000000040820046060000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2537
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050FFFFFFFF0096000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 955
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2362
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020000002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -1862,12 +3603,48 @@
0
100
- 0
+ 1
- ..\App\Src\tmc5160.c
- 58
+ ..\App\Src\app.c
+ 5
+ 8
+ 39
+ 1
+
+ 0
+
+
+ ../Src/stm32f1xx_it.c
+ 25
+ 277
+ 298
+ 1
+
+ 0
+
+
+ startup_stm32f103xe.s
+ 0
+ 149
+ 148
+ 1
+
+ 0
+
+
+ ../Src/main.c
+ 0
70
- 23
+ 84
+ 1
+
+ 0
+
+
+ ..\App\Src\oled.c
+ 0
+ 191
+ 205
1
0
diff --git a/MDK-ARM/mfps.uvoptx b/MDK-ARM/mfps.uvoptx
index fc7298e..7960158 100644
--- a/MDK-ARM/mfps.uvoptx
+++ b/MDK-ARM/mfps.uvoptx
@@ -145,20 +145,32 @@
0
ST-LINKIII-KEIL_SWO
- -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
+ -U53FF6B064884525650271587 -O2254 -SF1800 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8004 -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
+ 302
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ ../Src/stm32f1xx_it.c
+
+
+
+
0
1
- XA
-
-
- 1
- 1
- VA
+ it_1000ms_cnt
@@ -335,18 +347,6 @@
0
0
-
- 2
- 10
- 1
- 0
- 0
- 0
- ..\..\..\2024.4.3\mfps\Src\misc.c
- misc.c
- 0
- 0
-
@@ -357,7 +357,7 @@
0
3
- 11
+ 10
1
0
0
@@ -369,7 +369,7 @@
3
- 12
+ 11
1
0
0
@@ -381,7 +381,7 @@
3
- 13
+ 12
1
0
0
@@ -393,7 +393,7 @@
3
- 14
+ 13
1
0
0
@@ -405,7 +405,7 @@
3
- 15
+ 14
1
0
0
@@ -417,7 +417,7 @@
3
- 16
+ 15
1
0
0
@@ -429,7 +429,7 @@
3
- 17
+ 16
1
0
0
@@ -441,7 +441,7 @@
3
- 18
+ 17
1
0
0
@@ -453,7 +453,7 @@
3
- 19
+ 18
1
0
0
@@ -465,7 +465,7 @@
3
- 20
+ 19
1
0
0
@@ -477,7 +477,7 @@
3
- 21
+ 20
1
0
0
@@ -489,7 +489,7 @@
3
- 22
+ 21
1
0
0
@@ -501,7 +501,7 @@
3
- 23
+ 22
1
0
0
@@ -513,7 +513,7 @@
3
- 24
+ 23
1
0
0
@@ -525,7 +525,7 @@
3
- 25
+ 24
1
0
0
@@ -537,7 +537,7 @@
3
- 26
+ 25
1
0
0
@@ -557,7 +557,7 @@
0
4
- 27
+ 26
1
0
0
@@ -577,7 +577,7 @@
0
5
- 28
+ 27
1
0
0
@@ -589,7 +589,7 @@
5
- 29
+ 28
1
0
0
@@ -601,7 +601,7 @@
5
- 30
+ 29
1
0
0
@@ -613,7 +613,7 @@
5
- 31
+ 30
1
0
0
@@ -625,7 +625,7 @@
5
- 32
+ 31
1
0
0
@@ -637,7 +637,7 @@
5
- 33
+ 32
1
0
0
@@ -649,7 +649,7 @@
5
- 34
+ 33
1
0
0
@@ -661,7 +661,7 @@
5
- 35
+ 34
1
0
0
@@ -673,7 +673,7 @@
5
- 36
+ 35
1
0
0
@@ -683,6 +683,18 @@
0
0
+
+ 5
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\App\Src\misc.c
+ misc.c
+ 0
+ 0
+
diff --git a/MDK-ARM/mfps.uvprojx b/MDK-ARM/mfps.uvprojx
index 1abaf75..1395e3c 100644
--- a/MDK-ARM/mfps.uvprojx
+++ b/MDK-ARM/mfps.uvprojx
@@ -10,7 +10,7 @@
mfps
0x4
ARM-ADS
- 5060960::V5.06 update 7 (build 960)::.\ARM_Compiler_5.06u7
+ 5060960::V5.06 update 7 (build 960)::.\ARMCC
0
@@ -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
+ ../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;..\Inc;..\Src;..\App\Inc;..\App\Src
@@ -689,11 +689,6 @@
-
- misc.c
- 1
- ..\..\..\2024.4.3\mfps\Src\misc.c
-
@@ -1655,6 +1650,11 @@
1
..\App\Src\tmc5160.c
+
+ misc.c
+ 1
+ ..\App\Src\misc.c
+
diff --git a/MDK-ARM/mfps/ads1220.crf b/MDK-ARM/mfps/ads1220.crf
index 0d3244087359372f44180109ab20734f02dbc874..99e275d06f91f33bdc700dcea279ed2f49278702 100644
GIT binary patch
delta 785
zcmccIqJFwXeS#X-smnJuurUBZ+hjv#OR-JsS|HrJH#HcTWc2i6JoA!cCf18`y}P*r
zA|pT9fYn@}C^=a#g8{DG4k&2BpPGg&<~~`6(T*RkWamwH1}5vthKweY*D|tm!NpT2
z?_<=|T?Ml^<)$+Olew!^OmKc$NqJ&XYH^HrYGzJ+nQ4q;kS_>3J5QEiQer!C)0BZp
zbMi(e`N{E2T>NkY9^N!#VA2AKizesi7G&n676Dxam+qRphDisZ`sqy{1||oftMn#|
zG7BMGwHy>22*=;O>BYcgH~ApD%H+AsQo3-*{~*S-FPN1WpG-c;YAyi`wfNKu}&`XvfyM<
zT#$)uoEBKHBr_LTPzM|oKtZ&ic!ltwEeDbZcTD!;C4@5!K8!WKAU`x$ra&%6+n+8c=sk3FgqKFMbMW%Y9tGxLCwPcB2#-_4tf42+^s?ZHLK
zF^MU~hDJsPddUp`u0oTt$1M?t00ss|1_qw^<}DoUTR0ejmEkI
diff --git a/MDK-ARM/mfps/ads1220.d b/MDK-ARM/mfps/ads1220.d
index dbb6fcc..5e85fd5 100644
--- a/MDK-ARM/mfps/ads1220.d
+++ b/MDK-ARM/mfps/ads1220.d
@@ -1,20 +1,20 @@
mfps\ads1220.o: ..\App\Src\ads1220.c
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: ..\Inc\stm32f1xx_hal_conf.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h
mfps\ads1220.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h
mfps\ads1220.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h
mfps\ads1220.o: ../Drivers/CMSIS/Include/core_cm3.h
-mfps\ads1220.o: C:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin\..\include\stdint.h
+mfps\ads1220.o: E:\Softwares\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
mfps\ads1220.o: ../Drivers/CMSIS/Include/cmsis_version.h
mfps\ads1220.o: ../Drivers/CMSIS/Include/cmsis_compiler.h
mfps\ads1220.o: ../Drivers/CMSIS/Include/cmsis_armcc.h
mfps\ads1220.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
-mfps\ads1220.o: C:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin\..\include\stddef.h
+mfps\ads1220.o: E:\Softwares\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
mfps\ads1220.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
@@ -31,4 +31,4 @@ 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: ../Inc/main.h
+mfps\ads1220.o: ..\Inc\main.h
diff --git a/MDK-ARM/mfps/ads1220.o b/MDK-ARM/mfps/ads1220.o
index d9e4f8a1825471477fd332243a62696a4735d941..37f9206eb35042654b32709751422b1568eb1275 100644
GIT binary patch
delta 33725
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
KJ`61P*#8d-_)k&*
diff --git a/MDK-ARM/mfps/app.crf b/MDK-ARM/mfps/app.crf
index 5de2b87af443fa1893b5639d26e34c5abb08b91d..f595dcd76001b10b4670a88d7ebd1f858fc85e4e 100644
GIT binary patch
delta 3108
zcma*qeRveb9S88)&1E-tkX+tL0wJ4}aJOq-ARz{65onCor(jzs|Fn6G*ULffF-NX<
z(WE!wxkV^xZLQcXyr4GZx#_MY7!M|zcY8atp7F7
zGtYfy<~Q@3ot>TM$>ANYi5)I=$WDkTkm`6Z={HM=m{n8La{C5vOTgpbP}5E>oZ7ul
zBKX^AXlXY!92nS=sE(L!BF;(1hPwjwb?X-P^t85nI$FJ*8`fdu6*D=q%ovp#A9_V{
zqz2#2S_;~HEG*S{o7qgnn~YJh#@HoD&Ym7?=OH5?EO(}2edYop&NIF(mNa&Te68L<
zJ%aa4t*y;$B4T6nl9n}{>$%9#vD^{;!rK!ot5i6wQW&;sbOjDMB
zuP+q#cd{o=O*3Y6h_%jC^?tLSh%OeK>j?$CUTf%iBQ7>iKi`vVucoUbMj)-JI<@%8
z|7Uq)X%)gbBbeT3eBNfCp6a?WW@{{5AM|%xcjuV-B_e*oIFepxoU}Qnqc6SNf3sNkfju2VKB5!A?%lDb>kDIp=aS2P1yRO3%Znq|HGge7ooSveBCwWz}
zBm&9&x8^iO^V6c9%b3ow$lW{$<(n_?Ot@NAK~3x~zfEn8ifQOrAx59eXpo
z4?d7Mr#r2E;h-OV`_2s{`X;P>iR7tqtIgR&bSCG#C!ENbIMPvk4QH*NO7eAVnab%j
zONp3+u`7Z>{w>|@`wsGM+4XuN?-6TWPcVqS2S+9oeWPY25sNKj!@iIoA5{?V1aXJX
zY}$W2{~qhiG9u<#0s{*d*DXNEiRY73Ej8y7G1n5&+2L!m<{CFP+KU{o9ZGJ;1>-S$
z$sI4A8cM8Wt65IO0?Y8OfVW}cjV#61@#~40Af8m1deSu^Zwq@GFM0gpru}@8Pi>YR
zeX>J95mC}mY$)j{(xB{+C#Au{962bs`>5DX+Js+VMpWC$nqg-$e?Luc^K^NL6nisIR`YX7wuCEFaIg(+4SLr5$X5p)`SR15i>ivy
zVY7ui-DDGnXU|O+2$5HNx?Ah($d%!|Z.>QJv#=cOUO(EmP&XF09{ImZRpeJir4p5`R6|7*
zm5R7T`lu!;CxP!#O;%n4zE8CbU0S48Il>y)<
zR4Y;T0^6xJTiFxOB0r_t97UU(c##r&{upJ|CIt0UZJx3d*g>^Qax=;)5
z+`*=ozj`=n&UD=rC1Fb)f?K16Mip
zY?M<0pW`Zn{>U{KI>J>7{fVl0ce9~CbCp1U;VOoXauq>;<(dT@<0^!n=PH0+;L3-N
zQ+8wI#-lPh!I^``7rC;bm$;nJ%UoH|Nv=%j6|R}k-?(N#uTpmH*rC63Wk9cS$(CS32|$ipwb~q=Elr6h!D>Tmm%2MIe*wQ)rm7JM0rE&UGC+&BZQ<5w4G*H@Mg}
zafWLW8l~)&!O=@TxX$oDZ72gple*C(0g2Gp!d1n
zfIi?FfyTK`4^AAn*QVL9nLA?I%l1$`o^Cn1hkC1UGv+~NFT1DN+aBg(Z#&*wh3hAC
L$cFz4NX7pElS{Pi
delta 3004
zcma*pdvFv*9tZI5$?i^O$zziZAp}e&A(EMaY#s-O!w1GxRD7IuIj&02P^sLqnziyW
zLBwsWT?GZtQ!Wg;21L<&Kop|*xCnUXgA+v%MfA*Mk(UUH;_CoK!Q8idm)+62KQ2|j
z+E4fVrhh#>-BbCtuY6Nqxo=1zM53g^T0mAF_do7Jf<9$AJm+Z~)cXr%>i^r_QJt4EiS=+nQ6hjn$!D&nuI%~q?H4zh?eya8WbO@C6_Lu!cB%0E&h9|7zx@|T?ms)3
zfOQ#>&aa=|bY&pe);w=&Q(fcLJeun}+q;5of$rw1zN+(XsWmgDQhMC1l6>yuy$8)!
zsWR2P*L+NxoN696Kad(y(^#8aj9mL<_gYsF=_0IAnYk>jusS*GQ~&S0th7?JssbKoZ{aVEY@)KO#J?vPVUy4AejQJ0$9qEwp4X-nITmA^1`R|BtNKI&9bU1_|_
z>+kHI`_saE%+t;psR99OCXp^QsjJrWvl&h>dtJ5?xAC`cX3MtMU&OmSJzYWjs!bA|
zbA#>n&I(M%_TE2BJ(VwA4kuT3qcxUDnTahMtnp)rHP77_-fR~MeGd6T&_J%8fD)$hg2ylgMi
z($$63Bi2y-n#*)6Md9c7uZcH3Rxy#hK3`K^S634bU{ibbw3;g1@cPK^c*Z2Fh)B7%
zjLx>e93&h)@k~5n+s}u%`nIcrzemQdjfuxTVwDhSv~7sImN`AuHKNY8-HC}UHa9DU
z?hWt06(98>bDxs$Ue#|UnhQsi#UlzuNQg9q1K~ut21gY6J6C=l@f0~JAsMsgH#c6}
z{M)+5S=FR^@T5n+nQBXz)Jpur8ANrJQbN(ZmCPFU5VZhJ#}el9x3+ZmkX6y8x$>P?
z_44fBC9~1Im0X$3?me5md^jsHUN3XB1v*IBp3~Cf4+hD@(b-;kMtL6}qCPnynysX9
zI6G0lk2&YG%xxjg=oYW657In&U1o+S4i#maeQ
zNH0sox%fp)b|pf_FQRSGS0#H#(<#wQ8ssT-U@>cu5$S`hLD_S=OQRKr^y}#CEy^`H
z#nQ~!C~`71F*`!FoCuvBeQAqQ5SGcQPlgSSu4aL5PPKPv<
z`VKl1($aaVOnwY$N`xMVMnW1E@*60^v{4b-3Ed&o0o}>83``SR$TXC>30lOotO#wz
zZ0=%V4b!Q>YCMSgcQYOJbxAElV=*((FeJ4k<|0d&;Zk=1_b@|N-vs`^jCA!4;9h1Z
z>eg5(`6Dyjs)1?->KLeCU}%HCuEatHQ2Rc{Gn%3M8P5yP2A49Pem(Rj#&5a~!}c;G
zAM4;E%a}1n-2j-(C{UjQmNR3lx*m9d8HMVTz=O;fr}oFPNR%1lRfE4^yet_5KE!zI
z66EwTqfA`|tYF5u>PlcGGbV=BKIma)l&ewPzls@}Y8bd5+u<1Qe}wT?71ruersFMC
zOp4HX=wHortok+3V?w{eD33EeQ(XuAndw>T6S3*!FHFx?#UAH-o9|@49DK*}{m7>o
z-Ts=A5k9-qFzG8W&kIzlgi`k9`OjRZZxc$I0;
zlR~x7I-&ER^+Hpj0me^R4fK>yHS{zK^Uf-8gXpY;o)Pjv&k9vQ&oTZ8lc48?4CwDd
zIy5MxK`#iELmP!ALYo+W^fG9(&;;m3q0*QfCjSsDLFYe(ROlt4V(4YY*X$hV6`}Fa
zt3u`;
diff --git a/MDK-ARM/mfps/app.d b/MDK-ARM/mfps/app.d
index 25fbee7..5c0f3c3 100644
--- a/MDK-ARM/mfps/app.d
+++ b/MDK-ARM/mfps/app.d
@@ -1,20 +1,20 @@
mfps\app.o: ..\App\Src\app.c
-mfps\app.o: ../Inc/main.h
+mfps\app.o: ..\Inc\main.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
-mfps\app.o: ../Inc/stm32f1xx_hal_conf.h
+mfps\app.o: ..\Inc\stm32f1xx_hal_conf.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h
mfps\app.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h
mfps\app.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h
mfps\app.o: ../Drivers/CMSIS/Include/core_cm3.h
-mfps\app.o: C:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin\..\include\stdint.h
+mfps\app.o: E:\Softwares\Keil_v5\ARM\ARMCC\Bin\..\include\stdint.h
mfps\app.o: ../Drivers/CMSIS/Include/cmsis_version.h
mfps\app.o: ../Drivers/CMSIS/Include/cmsis_compiler.h
mfps\app.o: ../Drivers/CMSIS/Include/cmsis_armcc.h
mfps\app.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
-mfps\app.o: C:\Keil_v5\ARM\ARM_Compiler_5.06u7\Bin\..\include\stddef.h
+mfps\app.o: E:\Softwares\Keil_v5\ARM\ARMCC\Bin\..\include\stddef.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
@@ -30,13 +30,13 @@ mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_spi.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
mfps\app.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h
-mfps\app.o: ../Inc/i2c.h
-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: ..\Inc\i2c.h
+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: ../Inc/app.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
diff --git a/MDK-ARM/mfps/app.o b/MDK-ARM/mfps/app.o
index c8488dc931f302939088e5bdaf7782ba07ab91f0..fcbcd4232fa326d84f8d1a30cb9e200ea910c877 100644
GIT binary patch
delta 41692
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