Commit b941ea94 by 刘大爷来也

修改超声波雷达和温度传感器

parent 9520ebf2
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -3,9 +3,6 @@
#include "stm32f10x.h"
#define D14_GET() (((GPIOD->IDR >> 14) & 1) ? 1 : 0)
// 定义系统状态的枚举类型
typedef enum {
STATE_IDLE, // 系统处于空闲状态
......@@ -28,5 +25,11 @@ void Total_GPIO_Init(void);
void Total_EXTI_Init(void);
//温度传感器时序
void TIM7_Init(void) ;
void delay_us(uint16_t us);
#endif // COMMON
......@@ -3,33 +3,31 @@
#include "stm32f10x.h"
// 引脚定义
#define DS18B20_DQ_PIN (1 << 12) // PD12
#define DS18B20_PORT GPIOD
// 引脚定义
// 设置 DQ 引脚为输出模式
#define DQ_OUT() { \
GPIOD->CRH &= ~(0xF << (4 * 4)); /* 清除配置 */ \
GPIOD->CRH |= (0x3 << (4 * 4)); /* 设置为推挽输出模式,最大50MHz */ \
}
#define DS18B20_DQ_OUT_HIGH (GPIOD->BSRR = (1 << 12)) // 设置PD12为高电平
#define DS18B20_DQ_OUT_LOW (GPIOD->BRR = (1 << 12)) // 设置PD12为低电平
#define DS18B20_DQ_IN ((GPIOD->IDR & (1 << 12)) != 0) // 读取PD12的电平
// 设置 DQ 引脚为输入模式
#define DQ_IN() { \
GPIOD->CRH &= ~(0xF << (4 * 4)); /* 清除配置 */ \
GPIOD->CRH |= (0x4 << (4 * 4)); /* 设置为浮空输入模式 */ \
}
// 设置DD12 输入模式(浮空输入)
#define DQ_IN() { GPIOD->CRH &= ~(0xF << 16); GPIOD->CRH |= (0x4 << 16); }
// 获取 DQ 引脚的电平变化
#define DQ_GET() ((GPIOD->IDR & DS18B20_DQ_PIN) ? 1 : 0)
void TIM7_Init(void) ;
// DQ 输出高电平或低电平
#define DQ(x) ((x) ? (GPIOD->BSRR = DS18B20_DQ_PIN) : (GPIOD->BRR = DS18B20_DQ_PIN))
void delay_us(uint16_t us);
void DS18B20_IO_IN(void);
void DS18B20_IO_OUT(void);
uint8_t DS18B20_Init(void);
void DS18B20_Rst(void);
uint8_t DS18B20_Check(void);
char DS18B20_Init(void);
void DS18B20_Start(void);
float DS18B20_GetTemperture(void);
uint8_t DS18B20_Read_Bit(void);
uint8_t DS18B20_Read_Byte(void);
void DS18B20_Write_Byte(uint8_t data);
void DS18B20_Start(void);
short DS18B20_Get_Temperature(void);
#endif // DS18B20_H
#ifndef ONEWIRE_H
#define ONEWIRE_H
#include "stm32f10x.h"
// 引脚定义
#define ONEWIRE_PIN (1 << 12) // PD12
#define ONEWIRE_PORT GPIOD
// 初始化 One-Wire 总线 (PE1)
void Onewire_Init(void);
// 设置引脚为输出模式
void Onewire_Pin_Output(void);
// 设置引脚为输入模式
void Onewire_Pin_Input(void);
// 复位 One-Wire 总线并检测传感器是否存在
uint8_t Onewire_Reset(void);
// 向 One-Wire 设备发送一位数据
void Onewire_SendBit(unsigned char Bit);
// 从 One-Wire 设备接收一位数据
unsigned char Onewire_ReceiveBit(void);
// 向 One-Wire 设备发送一个字节数据
void Onewire_SendByte(unsigned char Byte);
// 从 One-Wire 设备接收一个字节数据
unsigned char Onewire_ReceiveByte(void);
#endif // ONEWIRE_H
......@@ -3,26 +3,25 @@
#include "stm32f10x.h" // 包含STM32F103的寄存器定义头文件
#define CALCULATE_DISTANCE(pulse_time) ((pulse_time) * 0.017f)
// 全局变量
extern volatile uint32_t pulse_time ; // 脉宽时间
extern volatile double distance_cm ; // 距离
extern volatile float distance_cm ; // 距离
extern volatile uint8_t capture_state ; // 捕获状态标志
// 动态配置 PE0 - PE15 引脚
void Configure_PE_Pin(uint8_t pin, uint8_t mode);
void WaitForEdgeAndCalculatePulseWidth(void);
// 初始化 TIM2 为捕获模式
void TIM2_Capture_Init(void);
// 发送触发信号
void SendTriggerSignal(void);
double CalculateDistance();
void SendTriggerSignal(uint8_t pin);
void Parking_Sensor_Interruption(void);
......
// ds18b20.h
#ifndef TEMPERATURE_SENSOR_H
#define TEMPERATURE_SENSOR_H
void TemperatureSensor_ConvertT(void); // 启动温度转换
float TemperatureSensor_ReadT(void); // 读取温度数据
#endif
......@@ -15,4 +15,6 @@ void Serial_Write(char ch);
// 打印格式化字符串
void Serial_Printf(const char *format, ...);
void Serial_PrintFloat(float num);
#endif // UART_LOG_H
......@@ -6,6 +6,7 @@
#include "emergency_stop.h"
#include "uart_log.h"
void Delay(uint32_t time, char unit) {
uint32_t cycles = 0;
......@@ -39,6 +40,7 @@ void Delay(uint32_t time, char unit) {
void Total_GPIO_Init(void) {
//RCC->APB2ENR |= 1 << 0;
//电机配置01
// 使能 GPIOC 和 GPIOF 的时钟
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
......@@ -115,14 +117,16 @@ void Total_GPIO_Init(void) {
//倒车雷达
// 配置PE10-PE15为推挽输出,默认为低电平
GPIOE->CRH &= ~(0xFFFFF << 8); // 清空PE10-PE15配置
GPIOE->CRH |= 0x11111 << 8; // 设置PE10-PE15为推挽输出
GPIOE->BRR = 0xFC00; // 默认低电平(PE10到PE15)
//GPIOE->CRH &= ~(0xFFFFF << 8); // 清空PE10-PE15配置
//GPIOE->CRH |= 0x11111 << 8; // 设置PE10-PE15为推挽输出
//GPIOE->BRR = 0xFC00; // 默认低电平(PE10到PE15)
// 配置 PD14 为上拉输入模式
GPIOD->CRH &= ~(0xF << 24); // 清空 PD14 的配置
GPIOD->CRH |= (0x4 << 24); // 设置为上拉/下拉输入模式
GPIOD->CRH |= (0x4 << 24); // 设置为输入模式,并且配置为下拉模式
//GPIOD->ODR &= ~(1 << 14); // 配置 PD14 为下拉
//行走距离开关 distance_switch
......@@ -162,21 +166,18 @@ void Total_GPIO_Init(void) {
void Total_EXTI_Init(void) {
// 设置优先级组为组2 (2位抢占优先级 + 2位子优先级)
//SCB->AIRCR = (0x05FA << 16) | (2 << 8); // 设置优先级分组
SCB->AIRCR = (0x05FA << 16) | (2 << 8); // 设置优先级分组
// 倒车雷达中断
AFIO->EXTICR[3] &= ~AFIO_EXTICR4_EXTI14; // 清除EXTI14
AFIO->EXTICR[3] |= AFIO_EXTICR4_EXTI14_PD; // 将PD14连接到EXTI14
EXTI->FTSR &= ~EXTI_FTSR_TR14; // 先清除下降沿触发配置
EXTI->RTSR &= ~EXTI_RTSR_TR14; // 先清除上升沿触发配置
EXTI->RTSR |= EXTI_RTSR_TR14; // 上升沿触发
EXTI->FTSR |= EXTI_RTSR_TR14; // 下降沿触发
EXTI->FTSR |= EXTI_FTSR_TR14; // 下降沿触发
EXTI->IMR |= EXTI_IMR_MR14; // 使能中断
EXTI->IMR |= EXTI_IMR_MR14; // 使能中断
NVIC_EnableIRQ(EXTI15_10_IRQn);
NVIC_SetPriority(EXTI15_10_IRQn, 0x02); // 设置中断优先级
NVIC_EnableIRQ(EXTI15_10_IRQn); // 注意:EXTI10-15 共享一个中断向量
NVIC_SetPriority(EXTI15_10_IRQn, 0x06); // 设置中断优先级
// 行走距离开关中断
AFIO->EXTICR[1] &= ~(AFIO_EXTICR2_EXTI6); // 清除EXTI6的配置
......@@ -184,14 +185,14 @@ void Total_EXTI_Init(void) {
AFIO->EXTICR[3] &= ~(AFIO_EXTICR4_EXTI15); // 清除EXTI15的配置
AFIO->EXTICR[3] |= AFIO_EXTICR4_EXTI15_PG; // 连接PG15到EXTI15
EXTI->RTSR |= EXTI_RTSR_TR6 | EXTI_RTSR_TR15; // 配置上升沿触发
EXTI->FTSR |= EXTI_FTSR_TR6 | EXTI_FTSR_TR15; // 配置下降沿触发
EXTI->IMR |= EXTI_IMR_MR6 | EXTI_IMR_MR15; // 使能中断线6和15
EXTI->IMR |= EXTI_IMR_MR6 | EXTI_IMR_MR15; // 使能中断线6和15
// 使能EXTI9_5_IRQn中断
//NVIC_EnableIRQ(EXTI9_5_IRQn); // PD6 属于 EXTI9_5_IRQn
NVIC_SetPriority(EXTI9_5_IRQn, 0x0B); // 设置中断优先级
//NVIC_SetPriority(EXTI9_5_IRQn, 0x0B); // 设置中断优先级
// 使能EXTI15_10_IRQn中断
//NVIC_EnableIRQ(EXTI15_10_IRQn); // EXTI15 属于 EXTI15_10_IRQn
......@@ -206,7 +207,7 @@ void Total_EXTI_Init(void) {
AFIO->EXTICR[0] |= AFIO_EXTICR1_EXTI0_PE; // 连接PE0到EXTI0
EXTI->RTSR |= EXTI_RTSR_TR9 | EXTI_RTSR_TR0; // 配置上升沿触发
EXTI->FTSR |= EXTI_FTSR_TR9 | EXTI_FTSR_TR0; // 配置下降沿触发
EXTI->FTSR |= EXTI_FTSR_TR9 | EXTI_FTSR_TR0; // 配置下降沿触发
EXTI->IMR |= EXTI_IMR_MR9 | EXTI_IMR_MR0; // 使能中断线9和0
// 使能EXTI9_5_IRQn中断
......@@ -266,13 +267,13 @@ void EXTI9_5_IRQHandler(void) {
// 处理 PD6 中断
StateMachineHandler(STATE_DISTANCE_SWITCH_ACTIVE);
// 清除中断标志位
EXTI->PR = EXTI_PR_PR6;
EXTI->PR |= EXTI_PR_PR6;
}
if (EXTI->PR & EXTI_PR_PR9) { // 检查是否是 EXTI 线 9 触发了中断
// 处理 PB9 中断
StateMachineHandler(STATE_PHOTOELECTRIC_SWITCH_ACTIVE);
// 清除中断标志位
EXTI->PR = EXTI_PR_PR9;
EXTI->PR |= EXTI_PR_PR9;
}
}
......@@ -282,7 +283,7 @@ void EXTI0_IRQHandler(void) {
// 处理PE0中断
StateMachineHandler(STATE_PHOTOELECTRIC_SWITCH_ACTIVE);
// 清除中断标志位
EXTI->PR = EXTI_PR_PR0;
EXTI->PR |= EXTI_PR_PR0;
}
}
......@@ -292,13 +293,14 @@ void EXTI0_IRQHandler(void) {
void EXTI15_10_IRQHandler(void) {
// 处理 PD14 中断
if (EXTI->PR & EXTI_PR_PR14) { // 检查是否是EXTI线14触发了中断
StateMachineHandler(STATE_PARKING_SENSOR_ACTIVE);
EXTI->PR = EXTI_PR_PR14; // 清除中断标志位
StateMachineHandler(STATE_PARKING_SENSOR_ACTIVE);
//EXTI->PR |= EXTI_PR_PR14; // 清除中断标志位
}
if (EXTI->PR & EXTI_PR_PR15) { // 检查是否是EXTI线15触发了中断
Serial_Print("EXTI15 triggered\n");
StateMachineHandler(STATE_DISTANCE_SWITCH_ACTIVE);
EXTI->PR = EXTI_PR_PR15; // 清除中断标志位
EXTI->PR |= EXTI_PR_PR15; // 清除中断标志位
}
}
......@@ -308,6 +310,40 @@ void EXTI2_IRQHandler(void) {
// 处理PE2中断(急停按钮)
StateMachineHandler(STATE_EMERGENCY_STOP);
// 清除中断标志位
EXTI->PR = EXTI_PR_PR2;
EXTI->PR |= EXTI_PR_PR2;
}
}
void TIM7_Init(void) {
// 使能TIM7时钟
RCC->APB1ENR |= RCC_APB1ENR_TIM7EN;
// 设定预分频器,让定时器的时钟为1MHz(假设系统时钟为16MHz)
// 16MHz / 16 = 1MHz
TIM7->PSC = 71;
// 自动重装载值(最大值)
TIM7->ARR = 0xFFFF;
// 计数器从0开始
TIM7->CNT = 0;
// 不启动定时器(启动时可以调用`TIM7->CR1 |= TIM_CR1_CEN;`)
}
void delay_us(uint16_t us)
{
uint16_t differ = 0xFFFF - us - 5;
TIM7->CNT = differ;
// 使能定时器
TIM7->CR1 |= TIM_CR1_CEN;
while (TIM7->CNT < 0xFFFF - 5)
{
// 等待计数器达到目标值
}
// 停止定时器
TIM7->CR1 &= ~TIM_CR1_CEN;
}
......@@ -39,6 +39,7 @@ void Delay(uint32_t time, char unit) {
void Total_GPIO_Init(void) {
//RCC->APB2ENR |= 1 << 0;
//电机配置01
// 使能 GPIOC 和 GPIOF 的时钟
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
......@@ -106,11 +107,11 @@ void Total_GPIO_Init(void) {
GPIOG->CRL |= (0x3 << (4*1)); // 配置 PG1 为通用推挽输出
// 配置 PE7, PE8 为复用推挽输出 (50 MHz)
GPIOE->CRH &= ~(0xF << (4*1)); // 清空 PE7 配置 (位20-23)
GPIOE->CRH |= (0x3 << (4*1)); // 配置 PE7 为通用推挽输出
GPIOE->CRL &= ~(0xF << (4*7)); // 清空 PE7 配置 (位20-23)
GPIOE->CRL |= (0x3 << (4*7)); // 配置 PE7 为通用推挽输出
GPIOE->CRH &= ~(0xF << (4*2)); // 清空 PE8 配置 (位24-27)
GPIOE->CRH |= (0x3 << (4*2)); // 配置 PE8 为通用推挽输出
GPIOE->CRH &= ~(0xF << (4*0)); // 清空 PE8 配置 (位24-27)
GPIOE->CRH |= (0x3 << (4*0)); // 配置 PE8 为通用推挽输出
//倒车雷达
......@@ -120,8 +121,9 @@ void Total_GPIO_Init(void) {
GPIOE->BRR = 0xFC00; // 默认低电平(PE10到PE15)
// 配置 PD14 为上拉输入模式
GPIOD->CRH &= ~(0xF << 24); // 清空 PD14 的配置
GPIOD->CRH |= (0x4 << 24); // 设置为上拉/下拉输入模式
GPIOD->CRH &= ~(0xF << 24); // 清空 PD14 的配置
GPIOD->CRH |= (0x8 << 24); // 设置为输入模式,并且配置为下拉模式
GPIOD->ODR &= ~(1 << 14); // 配置 PD14 为下拉
//行走距离开关 distance_switch
......@@ -153,7 +155,7 @@ void Total_GPIO_Init(void) {
// 配置 PE2 为输入上拉
GPIOE->CRL &= ~(0xF << (2 * 4)); // 清除 PE2 配置位
GPIOE->CRL |= (0x8 << (2 * 4)); // 配置 PE2 为上拉输入模式
GPIOE->ODR |= (1 << 2);
GPIOE->ODR |= (1 << 2);
//蜂鸣器 buzzer
GPIOE->CRH &= ~(0xF << (4 * 1));
......@@ -167,16 +169,13 @@ void Total_EXTI_Init(void) {
// 倒车雷达中断
AFIO->EXTICR[3] &= ~AFIO_EXTICR4_EXTI14; // 清除EXTI14
AFIO->EXTICR[3] |= AFIO_EXTICR4_EXTI14_PD; // 将PD14连接到EXTI14
EXTI->IMR |= EXTI_IMR_MR14; // 使能中断
EXTI->FTSR &= ~EXTI_FTSR_TR14; // 先清除下降沿触发配置
EXTI->RTSR &= ~EXTI_RTSR_TR14; // 先清除上升沿触发配置
EXTI->RTSR |= EXTI_RTSR_TR14; // 上升沿触发
EXTI->FTSR |= EXTI_RTSR_TR14; // 下降沿触发
EXTI->FTSR |= EXTI_FTSR_TR14; // 下降沿触发
EXTI->IMR |= EXTI_IMR_MR14; // 使能中断
NVIC_EnableIRQ(EXTI15_10_IRQn);
NVIC_SetPriority(EXTI15_10_IRQn, 0x05); // 设置中断优先级
NVIC_EnableIRQ(EXTI15_10_IRQn); // 注意:EXTI10-15 共享一个中断向量
NVIC_SetPriority(EXTI15_10_IRQn, 0x06); // 设置中断优先级
// 行走距离开关中断
AFIO->EXTICR[1] &= ~(AFIO_EXTICR2_EXTI6); // 清除EXTI6的配置
......@@ -184,17 +183,18 @@ EXTI->RTSR &= ~EXTI_RTSR_TR14; // 先清除上升沿触发配置
AFIO->EXTICR[3] &= ~(AFIO_EXTICR4_EXTI15); // 清除EXTI15的配置
AFIO->EXTICR[3] |= AFIO_EXTICR4_EXTI15_PG; // 连接PG15到EXTI15
EXTI->IMR |= EXTI_IMR_MR6 | EXTI_IMR_MR15; // 使能中断线6和15
EXTI->RTSR |= EXTI_RTSR_TR6 | EXTI_RTSR_TR15; // 配置上升沿触发
EXTI->FTSR |= EXTI_FTSR_TR6 | EXTI_FTSR_TR15; // 配置下降沿触发
EXTI->IMR |= EXTI_IMR_MR6 | EXTI_IMR_MR15; // 使能中断线6和15
// 使能EXTI9_5_IRQn中断
NVIC_EnableIRQ(EXTI9_5_IRQn); // PD6 属于 EXTI9_5_IRQn
NVIC_SetPriority(EXTI9_5_IRQn, 0x0B); // 设置中断优先级
//NVIC_EnableIRQ(EXTI9_5_IRQn); // PD6 属于 EXTI9_5_IRQn
//NVIC_SetPriority(EXTI9_5_IRQn, 0x0B); // 设置中断优先级
// 使能EXTI15_10_IRQn中断
NVIC_EnableIRQ(EXTI15_10_IRQn); // EXTI15 属于 EXTI15_10_IRQn
NVIC_SetPriority(EXTI15_10_IRQn, 0x06); // 设置中断优先级
//NVIC_EnableIRQ(EXTI15_10_IRQn); // EXTI15 属于 EXTI15_10_IRQn
//NVIC_SetPriority(EXTI15_10_IRQn, 0x06); // 设置中断优先级
......@@ -203,9 +203,10 @@ EXTI->RTSR &= ~EXTI_RTSR_TR14; // 先清除上升沿触发配置
AFIO->EXTICR[2] |= AFIO_EXTICR3_EXTI9_PB; // 连接PB9到EXTI9
AFIO->EXTICR[0] &= ~(AFIO_EXTICR1_EXTI0); // 清除EXTI0的配置
AFIO->EXTICR[0] |= AFIO_EXTICR1_EXTI0_PE; // 连接PE0到EXTI0
EXTI->IMR |= EXTI_IMR_MR9 | EXTI_IMR_MR0; // 使能中断线9和0
EXTI->RTSR |= EXTI_RTSR_TR9 | EXTI_RTSR_TR0; // 配置上升沿触发
EXTI->FTSR |= EXTI_FTSR_TR9 | EXTI_FTSR_TR0; // 配置下降沿触发
EXTI->IMR |= EXTI_IMR_MR9 | EXTI_IMR_MR0; // 使能中断线9和0
// 使能EXTI9_5_IRQn中断
NVIC_EnableIRQ(EXTI9_5_IRQn); // PB9 属于 EXTI9_5 中断
......@@ -290,8 +291,8 @@ void EXTI0_IRQHandler(void) {
void EXTI15_10_IRQHandler(void) {
// 处理 PD14 中断
if (EXTI->PR & EXTI_PR_PR14) { // 检查是否是EXTI线14触发了中断
EXTI->PR = EXTI_PR_PR14; // 清除中断标志位
StateMachineHandler(STATE_PARKING_SENSOR_ACTIVE);
EXTI->PR = EXTI_PR_PR14; // 清除中断标志位
}
if (EXTI->PR & EXTI_PR_PR15) { // 检查是否是EXTI线15触发了中断
Serial_Print("EXTI15 triggered\n");
......
......@@ -12,7 +12,7 @@ void Distance_Switch_Interruption(void) {
Serial_Print("PG15: 远离 (NPN传感器 - 低电平)\n");
}
// 清除中断标志位
EXTI->PR = EXTI_PR_PR15;
//EXTI->PR = EXTI_PR_PR15;
}
// 检查是否是PD6触发的中断
......@@ -23,6 +23,6 @@ void Distance_Switch_Interruption(void) {
Serial_Print("PD6: 远离 (PNP传感器 - 低电平)\n");
}
// 清除中断标志位
EXTI->PR = EXTI_PR_PR6;
//EXTI->PR = EXTI_PR_PR6;
}
}
#include "ds18b20.h"
#include "common.h"
/******************************************************************
* 函 数 名 称:bsp_ds18b20_Init
* 函 数 说 明:MLX90614的初始化
* 函 数 形 参:无
* 函 数 返 回:1未检测到器件 0检测到器件
* 作 者:LC
* 备 注:无
******************************************************************/
char DS18B20_Init(void)
void DS18B20_IO_IN(void)
{
int ret = DS18B20_Check();//检测器件是否存在
return ret;
DQ_IN(); // 设置为上拉输入模式
}
void DS18B20_IO_OUT(void)
{
GPIOD->CRH &= ~(0xF << 16); // 清除配置位
GPIOD->CRH |= (0x3 << 16); // 设置为推挽输出模式
}
/******************************************************************
* 函 数 名 称:DS18B20_Read_Byte
* 函 数 说 明:从DS18B20读取一个字节
* 函 数 形 参:无
* 函 数 返 回:读取到的字节数据
* 作 者:LC
* 备 注:无
******************************************************************/
uint8_t DS18B20_Read_Byte(void)
void DS18B20_Rst(void)
{
uint8_t i=0,dat=0;
DS18B20_IO_OUT();
DS18B20_DQ_OUT_LOW; // 拉低DQ
delay_us(750); // 延时750微秒
DS18B20_DQ_OUT_HIGH; // 释放DQ
delay_us(15); // 延时15微秒
}
for (i=0; i<8; i++)
uint8_t DS18B20_Check(void)
{
uint8_t retry = 0;
DS18B20_IO_IN();
while (DS18B20_DQ_IN && retry < 200) // 等待DS18B20拉低电平
{
DQ_OUT();//设置为输入模式
DQ(0); //拉低
Delay(2, 'u');
DQ(1); //释放总线
DQ_IN();//设置为输入模式
Delay(12, 'u');
retry++;
delay_us(1);
}
if (retry >= 200)
return 1;
else
retry = 0;
dat>>=1;
if( DQ_GET() )
{
dat=dat|0x80;
}
Delay(50, 'u');
while (!DS18B20_DQ_IN && retry < 240)
{
retry++;
delay_us(1);
}
return dat;
if (retry >= 240)
return 1;
return 0;
}
/******************************************************************
* 函 数 名 称:DS18B20_Write_Byte
* 函 数 说 明:写一个字节到DS18B20
* 函 数 形 参:dat:要写入的字节
* 函 数 返 回:无
* 作 者:LC
* 备 注:无
******************************************************************/
void DS18B20_Write_Byte(uint8_t dat)
uint8_t DS18B20_Read_Bit(void)
{
uint8_t i;
DQ_OUT();//设置输出模式
for (i=0; i<8; i++)
{
if ( (dat&0x01) ) //写1
{
DQ(0);
Delay(2, 'u');
DQ(1);
Delay(60, 'u');
uint8_t data;
DS18B20_IO_OUT();
DS18B20_DQ_OUT_LOW;
delay_us(2);
}
else //写0
{
DQ(0);//拉低60us
Delay(60, 'u');
DS18B20_DQ_OUT_HIGH;
DS18B20_IO_IN();
delay_us(12);
DQ(1);//释放总线
Delay(2, 'u');
if (DS18B20_DQ_IN)
data = 1;
else
data = 0;
}
dat=dat>>1;//传输下一位
}
delay_us(50);
return data;
}
/******************************************************************
* 函 数 名 称:DS18B20_Check
* 函 数 说 明:检测DS18B20是否存在
* 函 数 形 参:无
* 函 数 返 回:1:未检测到DS18B20的存在 0:存在
* 作 者:LC
* 备 注:无
******************************************************************/
uint8_t DS18B20_Check(void)
uint8_t DS18B20_Read_Byte(void)
{
uint8_t timeout=0;
//复位DS18B20
DQ_OUT(); //设置为输出模式
DQ(0); //拉低DQ
Delay(750, 'u');
uint8_t i, j, data;
data = 0;
for (i = 1; i <= 8; i++)
{
j = DS18B20_Read_Bit();
data = (j << 7) | (data >> 1);
}
return data;
}
DQ(1); //拉高DQ
Delay(15, 'u');
//设置为输入模式
DQ_IN();
//等待拉低,拉低说明有应答
while ( DQ_GET() &&timeout<200)
void DS18B20_Write_Byte(uint8_t data)
{
uint8_t j;
uint8_t testb;
DS18B20_IO_OUT(); // 输出模式
for (j = 1; j <= 8; j++)
{
timeout++;//超时判断
Delay(1, 'u');
testb = data & 0x01;
data = data >> 1;
if (testb)
{
DS18B20_DQ_OUT_LOW; // 拉低至少1微秒
delay_us(2);
};
//设备未应答
if(timeout>=200)
return 1;
else
timeout=0;
DS18B20_DQ_OUT_HIGH;
delay_us(60);
//等待18B20释放总线
while ( !DQ_GET() &&timeout<240)
{
timeout++;//超时判断
Delay(1, 'u');
}
else
{
DS18B20_DQ_OUT_LOW; // 写0 至少拉低60微秒
delay_us(60);
};
//释放总线失败
if(timeout>=240)
return 1;
DS18B20_DQ_OUT_HIGH; // 释放总线 至少1微秒
delay_us(2);
return 0;
}
}
}
/******************************************************************
* 函 数 名 称:DS18B20_Start
* 函 数 说 明:DS18B20开始温度转换
* 函 数 形 参:无
* 函 数 返 回:无
* 作 者:LC
* 备 注:无
******************************************************************/
void DS18B20_Start(void)
{
DS18B20_Check(); //查询是否有设备应答
DS18B20_Write_Byte(0xcc); //对总线上所有设备进行寻址
DS18B20_Write_Byte(0x44); //启动温度转换
DS18B20_Rst();
DS18B20_Check();
DS18B20_Write_Byte(0xCC);
DS18B20_Write_Byte(0x44);
}
uint8_t DS18B20_Init(void)
{
DS18B20_Rst();
return DS18B20_Check();
}
/******************************************************************
* 函 数 名 称:DS18B20_GetTemperture
* 函 数 说 明:从ds18b20得到温度值
* 函 数 形 参:无
* 函 数 返 回:温度数据
* 作 者:LC
* 备 注:无
******************************************************************/
float DS18B20_GetTemperture(void)
short DS18B20_Get_Temperature(void)
{
uint16_t temp;
uint8_t dataL=0,dataH=0;
float value;
uint8_t TL, TH;
short temperature;
DS18B20_Start();
DS18B20_Rst();
DS18B20_Check();
DS18B20_Write_Byte(0xcc);//对总线上所有设备进行寻址
DS18B20_Write_Byte(0xbe);// 读取数据命令
dataL=DS18B20_Read_Byte(); //LSB
dataH=DS18B20_Read_Byte(); //MSB
temp=(dataH<<8)+dataL;//整合数据
DS18B20_Write_Byte(0xCC);
DS18B20_Write_Byte(0xBE);
TL = DS18B20_Read_Byte();
TH = DS18B20_Read_Byte();
if(dataH&0X80)//高位为1,说明是负温度
if (TH > 7)
{
temp=(~temp)+1;
value=temp*(-0.0625);
TH = ~TH;
TL = ~TL;
temperature = -1;
}
else
{
value=temp*0.0625;
}
return value;
temperature = 1;
temperature = (TH << 8) | TL;
temperature = (float)temperature * 0.625;
return temperature;
}
#include "ds18b20.h"
#include "common.h"
/******************************************************************
* 函 数 名 称:bsp_ds18b20_Init
* 函 数 说 明:MLX90614的初始化
* 函 数 形 参:无
* 函 数 返 回:1未检测到器件 0检测到器件
* 作 者:LC
* 备 注:无
******************************************************************/
char DS18B20_Init(void)
void DS18B20_IO_IN(void)
{
int ret = DS18B20_Check();//检测器件是否存在
return ret;
DQ_IN(); // 设置为上拉输入模式
}
/******************************************************************
* 函 数 名 称:DS18B20_Read_Byte
* 函 数 说 明:从DS18B20读取一个字节
* 函 数 形 参:无
* 函 数 返 回:读取到的字节数据
* 作 者:LC
* 备 注:无
******************************************************************/
uint8_t DS18B20_Read_Byte(void)
{
uint8_t i=0,dat=0;
for (i=0;i<8;i++)
{
DQ_OUT();//设置为输入模式
DQ(0); //拉低
Delay(2, 'u');
DQ(1); //释放总线
DQ_IN();//设置为输入模式
Delay(12, 'u');
dat>>=1;
if( DQ_GET() )
{
dat=dat|0x80;
}
Delay(50, 'u');
}
return dat;
void DS18B20_IO_OUT(void)
{
GPIOD->CRH &= ~(0xF << 16); // 清除配置位
GPIOD->CRH |= (0x3 << 16); // 设置为推挽输出模式
}
/******************************************************************
* 函 数 名 称:DS18B20_Write_Byte
* 函 数 说 明:写一个字节到DS18B20
* 函 数 形 参:dat:要写入的字节
* 函 数 返 回:无
* 作 者:LC
* 备 注:无
******************************************************************/
void DS18B20_Write_Byte(uint8_t dat)
{
uint8_t i;
DQ_OUT();//设置输出模式
for (i=0;i<8;i++)
{
if ( (dat&0x01) ) //写1
{
DQ(0);
Delay(2, 'u');
DQ(1);
Delay(60, 'u');
}
else //写0
{
DQ(0);//拉低60us
Delay(60, 'u');
DQ(1);//释放总线
Delay(2, 'u');
}
dat=dat>>1;//传输下一位
}
void DS18B20_Rst(void)
{
DS18B20_IO_OUT();
DS18B20_DQ_OUT_LOW; // 拉低DQ
Delay(750, 'u'); // 延时750微秒
DS18B20_DQ_OUT_HIGH; // 释放DQ
Delay(15, 'u'); // 延时15微秒
}
uint8_t DS18B20_Check(void)
{
uint8_t retry = 0;
DS18B20_IO_IN();
while (DS18B20_DQ_IN && retry < 200) // 等待DS18B20拉低电平
{
retry++;
Delay(1,'u');
}
if (retry >= 200)
return 1;
else
retry = 0;
/******************************************************************
* 函 数 名 称:DS18B20_Check
* 函 数 说 明:检测DS18B20是否存在
* 函 数 形 参:无
* 函 数 返 回:1:未检测到DS18B20的存在 0:存在
* 作 者:LC
* 备 注:无
******************************************************************/
uint8_t DS18B20_Check(void)
{
uint8_t timeout=0;
//复位DS18B20
DQ_OUT(); //设置为输出模式
DQ(0); //拉低DQ
Delay(750, 'u');
DQ(1); //拉高DQ
Delay(15, 'u');
//设置为输入模式
DQ_IN();
//等待拉低,拉低说明有应答
while ( DQ_GET() &&timeout<200)
{
timeout++;//超时判断
Delay(1, 'u');
};
//设备未应答
if(timeout>=200)
return 1;
else
timeout=0;
//等待18B20释放总线
while ( !DQ_GET() &&timeout<240)
{
timeout++;//超时判断
Delay(1, 'u');
};
//释放总线失败
if(timeout>=240)
return 1;
return 0;
while (!DS18B20_DQ_IN && retry < 240)
{
retry++;
Delay(1,'u');
}
if (retry >= 240)
return 1;
return 0;
}
/******************************************************************
* 函 数 名 称:DS18B20_Start
* 函 数 说 明:DS18B20开始温度转换
* 函 数 形 参:无
* 函 数 返 回:无
* 作 者:LC
* 备 注:无
******************************************************************/
void DS18B20_Start(void)
{
DS18B20_Check(); //查询是否有设备应答
DS18B20_Write_Byte(0xcc); //对总线上所有设备进行寻址
DS18B20_Write_Byte(0x44); //启动温度转换
}
/******************************************************************
* 函 数 名 称:DS18B20_GetTemperture
* 函 数 说 明:从ds18b20得到温度值
* 函 数 形 参:无
* 函 数 返 回:温度数据
* 作 者:LC
* 备 注:无
******************************************************************/
float DS18B20_GetTemperture(void)
uint8_t DS18B20_Read_Bit(void)
{
uint8_t data;
DS18B20_IO_OUT();
DS18B20_DQ_OUT_LOW;
Delay(2,'u');
DS18B20_DQ_OUT_HIGH;
DS18B20_IO_IN();
Delay(12,'u');
if (DS18B20_DQ_IN)
data = 1;
else
data = 0;
Delay(50,'u');
return data;
}
uint8_t DS18B20_Read_Byte(void)
{
uint8_t i, j, data;
data = 0;
for (i = 1; i <= 8; i++)
{
j = DS18B20_Read_Bit();
data = (j << 7) | (data >> 1);
}
return data;
}
void DS18B20_Write_Byte(uint8_t data)
{
uint16_t temp;
uint8_t dataL=0,dataH=0;
float value;
DS18B20_Start();
DS18B20_Check();
DS18B20_Write_Byte(0xcc);//对总线上所有设备进行寻址
DS18B20_Write_Byte(0xbe);// 读取数据命令
dataL=DS18B20_Read_Byte(); //LSB
dataH=DS18B20_Read_Byte(); //MSB
temp=(dataH<<8)+dataL;//整合数据
if(dataH&0X80)//高位为1,说明是负温度
uint8_t j;
uint8_t testb;
DS18B20_IO_OUT(); // 输出模式
for (j = 1; j <= 8; j++)
{
testb = data & 0x01;
data = data >> 1;
if (testb)
{
temp=(~temp)+1;
value=temp*(-0.0625);
DS18B20_DQ_OUT_LOW; // 拉低至少1微秒
Delay(2,'u');
DS18B20_DQ_OUT_HIGH;
Delay(60,'u');
}
else
{
value=temp*0.0625;
DS18B20_DQ_OUT_LOW; // 写0 至少拉低60微秒
Delay(60,'u');
DS18B20_DQ_OUT_HIGH; // 释放总线 至少1微秒
Delay(2,'u');
}
return value;
}
}
void DS18B20_Start(void)
{
DS18B20_Rst();
DS18B20_Check();
DS18B20_Write_Byte(0xCC);
DS18B20_Write_Byte(0x44);
}
uint8_t DS18B20_Init(void)
{
DS18B20_Rst();
return DS18B20_Check();
}
short DS18B20_Get_Temperature(void)
{
uint8_t TL, TH;
short temperature;
DS18B20_Start();
DS18B20_Rst();
DS18B20_Check();
DS18B20_Write_Byte(0xCC);
DS18B20_Write_Byte(0xBE);
TL = DS18B20_Read_Byte();
TH = DS18B20_Read_Byte();
if (TH > 7)
{
TH = ~TH;
TL = ~TL;
temperature = -1;
}
else
temperature = 1;
temperature = (TH << 8) | TL;
temperature = (float)temperature * 0.625;
return temperature;
}
......@@ -12,7 +12,6 @@ void Emergency_Stop_Interrupt(void) {
} else { // 检测PD14的下降沿
Serial_Print("PE2: 按下 (急停按钮 - 低电平)\n");
}
// 清除中断标志位
EXTI->PR = EXTI_PR_PR2;
}
}
#include "onewire.h"
#include "common.h"
// 初始化 One-Wire 总线 (PD12)
void Onewire_Init(void) {
// 设置高电平
ONEWIRE_PORT->BSRR = ONEWIRE_PIN;
}
// 设置引脚为输出模式
void Onewire_Pin_Output(void) {
// 设置PD12为推挽输出模式
GPIOD->CRH &= ~(0xF << 16); // 清除PD12的配置
GPIOD->CRH |= (0x3 << 16); // 设置为推挽输出模式
}
// 设置引脚为输入模式
void Onewire_Pin_Input(void) {
// 设置PD12为浮空输入模式
GPIOD->CRH &= ~(0xF << 16); // 清除PD12的配置
GPIOD->CRH |= (0x4 << 16); // 设置为浮空输入模式
}
// 复位 One-Wire 总线并检测传感器是否存在
uint8_t Onewire_Reset(void) {
uint8_t response = 0;
// 拉低总线 480 微秒
Onewire_Pin_Output();
ONEWIRE_PORT->BRR = ONEWIRE_PIN; // 拉低
Delay(480, 'u');
// 释放总线,并等待响应
Onewire_Pin_Input();
Delay(60, 'u');
// 检测传感器响应
response = (ONEWIRE_PORT->IDR & ONEWIRE_PIN) ? 1 : 0;
// 等待 420 微秒
Delay(420, 'u');
return !response; // 返回响应信号,0 表示设备存在
}
// 向 One-Wire 设备发送一位数据
void Onewire_SendBit(unsigned char Bit) {
Onewire_Pin_Output(); // 设置为输出模式
if (Bit) {
ONEWIRE_PORT->BRR = ONEWIRE_PIN; // 拉低 1 微秒
Delay(1, 'u');
Onewire_Pin_Input(); // 释放总线
Delay(60, 'u'); // 保持高电平 60 微秒
} else {
ONEWIRE_PORT->BRR = ONEWIRE_PIN; // 拉低 60 微秒
Delay(60, 'u');
Onewire_Pin_Input(); // 释放总线
}
}
// 从 One-Wire 设备接收一位数据
unsigned char Onewire_ReceiveBit(void) {
unsigned char Bit = 0;
Onewire_Pin_Output(); // 设置为输出模式
ONEWIRE_PORT->BRR = ONEWIRE_PIN; // 拉低 1 微秒
Delay(1, 'u');
Onewire_Pin_Input(); // 释放总线
Delay(14, 'u');
// 读取数据
if (ONEWIRE_PORT->IDR & ONEWIRE_PIN) {
Bit = 1;
}
Delay(45, 'u'); // 等待剩余时间
return Bit;
}
// 向 One-Wire 设备发送一个字节数据
void Onewire_SendByte(unsigned char Byte) {
for (unsigned char i = 0; i < 8; i++) {
Onewire_SendBit(Byte & 0x01); // 发送每一位
Byte >>= 1;
}
}
// 从 One-Wire 设备接收一个字节数据
unsigned char Onewire_ReceiveByte(void) {
unsigned char Byte = 0;
for (unsigned char i = 0; i < 8; i++) {
Byte >>= 1;
if (Onewire_ReceiveBit()) {
Byte |= 0x80; // 设置最高位
}
}
return Byte;
}
#include "parking_sensor.h"
#include "common.h"
#include "uart_log.h"
// 全局变量
volatile uint32_t pulse_time = 0; // 脉宽时间
volatile double distance_cm = 0.0; // 距离
volatile float distance_cm = 0.0; // 距离
volatile uint8_t capture_state = 0; // 捕获状态标志
volatile uint8_t last_pd14_state = 0; // 上一次 PD14 的状态
// 动态配置 PE0 - PE15 引脚
void Configure_PE_Pin(uint8_t pin, uint8_t mode) {
// 根据引脚号选择配置寄存器
......@@ -20,13 +23,16 @@ void Configure_PE_Pin(uint8_t pin, uint8_t mode) {
GPIOE->CRH &= ~(0xF << ((pin - 8) * 4)); // 清除该引脚的配置
GPIOE->CRH |= (mode << ((pin - 8) * 4)); // 设置该引脚的模式
}
GPIOE->BRR = 0xFC00;
}
// 发送触发信号
void SendTriggerSignal(void) {
GPIOE->BSRR = (1 << 14); // 设置 PE14 为高电平
Delay(25, 'u'); // 延时 10 微秒
GPIOE->BRR = (1 << 14); // 设置 PE14 为低电平
void SendTriggerSignal(uint8_t pin) {
Delay(4, 'u');
GPIOE->BSRR = (1 << pin); // 设置 PE14 为高电平
Delay(15, 'u'); // 延时 10 微秒
GPIOE->BRR = (1 << pin); // 设置 PE14 为低电平
}
// 初始化 TIM2 捕获模式
......@@ -39,49 +45,29 @@ void TIM2_Capture_Init(void)
TIM2->PSC = 72 - 1; // 72MHz / 72 = 1MHz
// 设置自动重装载寄存器
TIM2->ARR = 0xFFFF;
TIM2->ARR =29999;// 0xFFFF;
// 选择计数模式
TIM2->CR1 &= ~TIM_CR1_DIR;
// 使能TIM2
//TIM2->CR1 |= TIM_CR1_CEN;
}
// 计算距离,不考虑温度校正
double CalculateDistance()
{
const double soundSpeed = 340.0; // 固定声速 = 340 m/s
const double timeToDistanceFactor = soundSpeed / 2 / 10000000.0; // 转换因子(米/us)
return pulse_time * timeToDistanceFactor * 100; // 返回距离(cm)
}
// TIM2 中断服务程序,捕获脉宽
void Parking_Sensor_Interruption(void) {
uint32_t end_time;
uint8_t pd14_level = (GPIOD->IDR & GPIO_IDR_IDR14) ? 1 : 0;
Serial_Printf("pd14_level: %u\n", pd14_level);
if (pd14_level != last_pd14_state) { // 检测到电平变化
if (pd14_level == 1 && capture_state == 0) { // 上升沿
TIM2->CNT = 0; // 清零计数器
TIM2->CR1 |= TIM_CR1_CEN; // 启动计数器
capture_state = 1; // 标记上升沿已捕获,等待下降沿
} else if (pd14_level == 0 && capture_state == 1) { // 下降沿且上升沿已捕获
end_time = TIM2->CNT; // 读取当前计数器值作为脉宽时间
pulse_time = end_time; // 记录脉宽时间
pulse_time = TIM2->CNT; // 读取当前计数器值作为脉宽时间
TIM2->CR1 &= ~TIM_CR1_CEN; // 关闭计数器
TIM2->CNT = 0; // 清零计数器
capture_state = 0; // 重置捕获状态
// 计算距离
distance_cm = CalculateDistance();
// 打印距离信息
Serial_Printf("EXTI14_IRQHandler Pulse Time: %u us, Distance: %.5f cm\n", pulse_time, distance_cm);
distance_cm = CALCULATE_DISTANCE(pulse_time);
}
EXTI->PR |= EXTI_PR_PR14; // 清除中断标志位
last_pd14_state = pd14_level;
}
}
......@@ -8,11 +8,8 @@ volatile uint8_t capture_state = 0; // 捕获状态标志
volatile uint8_t last_pd14_state = 0; // 上一次 PD14 的状态
int HH = 1000000;
// 动态配置 PE0 - PE15 引脚
void Configure_PE_Pin(uint8_t pin, uint8_t mode) {
// 使能 GPIOE 时钟
RCC->APB2ENR |= RCC_APB2ENR_IOPEEN;
// 根据引脚号选择配置寄存器
if (pin < 8) {
// 配置低 8 位(PE0 - PE7)
......@@ -28,7 +25,7 @@ void Configure_PE_Pin(uint8_t pin, uint8_t mode) {
// 发送触发信号
void SendTriggerSignal(void) {
GPIOE->BSRR = (1 << 14); // 设置 PE14 为高电平
Delay(15, 'u'); // 延时 10 微秒
Delay(25, 'u'); // 延时 10 微秒
GPIOE->BRR = (1 << 14); // 设置 PE14 为低电平
}
......@@ -45,54 +42,41 @@ void TIM2_Capture_Init(void)
TIM2->ARR = 0xFFFF;
// 选择计数模式
TIM2->CR1 &= ~TIM_CR1_DIR; // 向上计数
TIM2->CR1 &= ~TIM_CR1_DIR;
// 使能TIM2
TIM2->CR1 |= TIM_CR1_CEN;
//TIM2->CR1 |= TIM_CR1_CEN;
}
// 计算距离,不考虑温度校正
double CalculateDistance()
{
const double soundSpeed = 340.0; // 固定声速 = 340 m/s
const double timeToDistanceFactor = soundSpeed / 2 / 10000000.0; // 转换因子(米/us)
return pulse_time * timeToDistanceFactor * 100; // 返回距离(cm)
}
// TIM2 中断服务程序,捕获脉宽
void Parking_Sensor_Interruption(void)
{
static uint32_t start_time = 0;
void Parking_Sensor_Interruption(void) {
uint32_t end_time;
volatile uint32_t idr_value = GPIOD->IDR;
uint8_t pd14_state = ((idr_value & (1 << 14)) != 0) ? 1 : 0;
Serial_Printf("PD14: %u\n", pd14_state);
if (pd14_state != last_pd14_state) // 检测到电平变化
{
if (pd14_state && capture_state == 0 ) // 上升沿
{
start_time = TIM2->CNT; // 记录上升沿时间
capture_state = 1; // 标记上升沿已捕获
}
else {
end_time = TIM2->CNT; // 记录下降沿时间
pulse_time = (end_time >= start_time) ? (end_time - start_time) : (0xFFFF - start_time + end_time + 1);
Serial_Printf("下降沿: %u \n", pulse_time);
capture_state = 2; // 标记捕获完成
uint8_t pd14_level = (GPIOD->IDR & GPIO_IDR_IDR14) ? 1 : 0;
Serial_Printf("pd14_level: %u\n", pd14_level);
if (pd14_level != last_pd14_state) { // 检测到电平变化
if (pd14_level == 1 && capture_state == 0) { // 上升沿
TIM2->CNT = 0; // 清零计数器
TIM2->CR1 |= TIM_CR1_CEN; // 启动计数器
capture_state = 1; // 标记上升沿已捕获,等待下降沿
} else if (pd14_level == 0 && capture_state == 1) { // 下降沿且上升沿已捕获
end_time = TIM2->CNT; // 读取当前计数器值作为脉宽时间
pulse_time = end_time; // 记录脉宽时间
TIM2->CR1 &= ~TIM_CR1_CEN; // 关闭计数器
TIM2->CNT = 0; // 清零计数器
capture_state = 0; // 重置捕获状态
// 计算距离
distance_cm = CalculateDistance();
float distance_cm = CALCULATE_DISTANCE(pulse_time);
// 打印距离信息
Serial_Printf("EXTI14_IRQHandler Pulse Time: %u, Distance: %.5f cm\n", pulse_time, distance_cm);
Serial_Printf("EXTI14_IRQHandler Pulse Time: %u us,distance_cm: \n", pulse_time);
Serial_PrintFloat(distance_cm);
Serial_Print("\n");
}
last_pd14_state = pd14_state ;
last_pd14_state = pd14_level;
}
}
\ No newline at end of file
}
......@@ -9,8 +9,6 @@ void Photoelectric_Switch_Interrupt(void) {
} else { // 检测PB9的下降沿
Serial_Printf("PB9: 物体移开 (NPN 传感器 - 低电平)\n");
}
// 清除中断标志位
EXTI->PR = EXTI_PR_PR9;
}
if (EXTI->PR & EXTI_PR_PR0) { // 检查是否是中断线0触发的中断(PE0)
......@@ -20,7 +18,6 @@ void Photoelectric_Switch_Interrupt(void) {
} else { // 检测PE0的下降沿
Serial_Printf("PE0: 物体移开 (NPN 传感器 - 低电平)\n");
}
// 清除中断标志位
EXTI->PR = EXTI_PR_PR0;
}
}
#include "temperature_sensor.h"
#include "onewire.h"
#include "uart_log.h"
#include <stddef.h> // 引入 size_t 类型定义
#define CRC8_POLYNOMIAL 0x31
uint8_t crc8(const uint8_t *buf, size_t len) {
uint8_t crc = 0;
for (size_t pos = 0; pos < len; ++pos) {
crc ^= buf[pos];
for (uint8_t bit = 8; bit; --bit) {
if (crc & 0x80) {
crc = (crc << 1) ^ CRC8_POLYNOMIAL;
} else {
crc = (crc << 1);
}
}
}
return crc;
}
void TemperatureSensor_ConvertT(void) {
Onewire_Init(); // 初始化 One-Wire 总线
if (!Onewire_Reset()) { // 复位总线并检查是否有设备响应
Serial_Printf("No device detected.\n");
return;
}
// 跳过 ROM
Onewire_SendByte(0xCC);
// 启动温度转换
Onewire_SendByte(0x44); // 启动温度转换命令
}
float TemperatureSensor_ReadT(void) {
// uint8_t rom_address[8]; // 存储ROM地址 如果不需要,可以移除这一行
uint8_t scratchpad[9]; // 存储Scratchpad数据
uint8_t crc_result;
int16_t Temp;
float temperature;
Onewire_Init(); // 初始化 One-Wire 总线
if (!Onewire_Reset()) { // 复位总线并检查是否有设备响应
Serial_Printf("No device detected.\n");
return -1.0;
}
// 跳过 ROM
Onewire_SendByte(0xCC);
// 读取 Scratchpad
Onewire_SendByte(0xBE);
// 读取 Scratchpad 数据
for (int i = 0; i < 9; i++) {
scratchpad[i] = Onewire_ReceiveByte();
}
// 计算 CRC 并验证
crc_result = crc8(scratchpad, 8);
if (crc_result != scratchpad[8]) {
Serial_Printf("CRC error.\n");
return -1.0;
}
// 提取温度数据
uint8_t TLSB = scratchpad[0]; // 低字节
uint8_t TMSB = scratchpad[1]; // 高字节
Temp = (TMSB << 8) | TLSB; // 合并两个字节
temperature = Temp / 16.0; // 计算实际温度
Serial_Printf("TLSB: %02X, TMSB: %02X, Temp: %d, Temperature: %.2f C\n",
TLSB, TMSB, Temp, temperature);
return temperature;
}
//#include "uart_log.h"
//#include <stdarg.h>
//#include <string.h>
//#include <stdio.h> // 包含<stdio.h>头文件
//// 缓冲区大小
//#define SERIAL_BUFFER_SIZE 128
//// USART1 GPIO初始化
//void USART1_GPIO_Init(void) {
// // 使能GPIOA和USART1时钟
// RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_USART1EN;
// GPIOA->CRH &= ~(0xF << 4); // 清除PA9配置
// GPIOA->CRH |= (0xB << 4); // 配置PA9为复用功能推挽输出
// GPIOA->CRH &= ~(0xF << 8); // 清除PA10配置
// GPIOA->CRH |= (0x4 << 8); // 配置PA10为浮空输入(接收器)
//}
//// USART1初始化
//void USART1_Init(void) {
// // 设置波特率
// USART1->BRR =0x1D4C;
// // 配置USART1
// USART1->CR1 = USART_CR1_UE | USART_CR1_TE | USART_CR1_RE; // 使能USART1、发送器和接收器
// USART1->CR2 = 0; // 不使用流控制
// USART1->CR3 = 0; // 不使用额外功能
//}
//// 发送一个字符
//void USART1_SendChar(char ch) {
// while (!(USART1->SR & USART_SR_TXE)); // 等待发送缓冲区为空
// USART1->DR = (ch & 0xFF); // 发送字符
//}
//// 发送字符串
//void USART1_SendString(const char *str) {
// while (*str) {
// USART1_SendChar(*str++);
// }
//}
//// 格式化字符串并发送
//void USART1_SendFormatted(const char *format, ...) {
// char buffer[SERIAL_BUFFER_SIZE];
// va_list args;
// va_start(args, format);
// vsnprintf(buffer, sizeof(buffer), format, args);
// va_end(args);
// USART1_SendString(buffer);
//}
//// 初始化串口日志
//void Serial_Init(void) {
// USART1_GPIO_Init();
// USART1_Init();
//}
//// 打印字符串
//void Serial_Print(const char *str) {
// USART1_SendString(str);
//}
//// 打印字符
//void Serial_Write(char ch) {
// USART1_SendChar(ch);
//}
//// 打印格式化字符串
//void Serial_Printf(const char *format, ...) {
// va_list args;
// va_start(args, format);
// USART1_SendFormatted(format, args);
// va_end(args);
//}
#include "uart_log.h"
#include <stdarg.h>
#include <string.h>
#include <stdio.h> // 包含<stdio.h>头文件
#define SERIAL_BUFFER_SIZE 128
#define SERIAL_BUFFER_SIZE 256
void USART1_GPIO_Init(void) {
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_USART1EN;
GPIOA->CRH &= ~(0xF << 4);
......@@ -90,7 +13,7 @@ void USART1_GPIO_Init(void) {
}
void USART1_Init(void) {
USART1->BRR = 0x1D4C;
USART1->BRR = 0x271; // 设置波特率为 115200
USART1->CR1 = USART_CR1_UE | USART_CR1_TE | USART_CR1_RE;
USART1->CR2 = 0;
USART1->CR3 = 0;
......@@ -125,10 +48,45 @@ void Serial_Printf(const char *format, ...) {
va_list args;
va_start(args, format);
vsnprintf(buffer, sizeof(buffer), format, args);
int result = vsnprintf(buffer, SERIAL_BUFFER_SIZE, format, args);
if (result >= 0) {
// 如果成功格式化字符串,则发送
USART1_SendString(buffer);
} else {
// 如果失败,则发送错误消息
USART1_SendString("Format error");
}
va_end(args);
USART1_SendString(buffer);
}
void Serial_PrintFloat(float num) {
// 确定符号并取绝对值以处理负数
int isNegative = num < 0;
if (isNegative) {
num = -num;
}
// 分离整数部分
int integerPart = (int)num;
// 计算小数部分,但转换为整数来避免精度问题
int fractionalPart = (int)((num - integerPart) * 10000); // 保留四位小数
// 调整负数输出
char buffer[64];
if (isNegative) {
snprintf(buffer, sizeof(buffer), "-%d.%04d", integerPart, fractionalPart);
} else {
snprintf(buffer, sizeof(buffer), "%d.%04d", integerPart, fractionalPart);
}
// 去除末尾的零
char* endPtr = buffer + strlen(buffer) - 1;
while (*endPtr == '0' && *(endPtr - 1) != '.') {
*endPtr = '\0';
endPtr--;
}
Serial_Print(buffer);
}
......@@ -11,17 +11,17 @@
<View>
<WinId>38003</WinId>
<ViewName>Registers</ViewName>
<TableColWidths>115 275</TableColWidths>
<TableColWidths>115 197</TableColWidths>
</View>
<View>
<WinId>346</WinId>
<ViewName>Code Coverage</ViewName>
<TableColWidths>370 496</TableColWidths>
<TableColWidths>370 160</TableColWidths>
</View>
<View>
<WinId>204</WinId>
<ViewName>Performance Analyzer</ViewName>
<TableColWidths>578 79 79 130</TableColWidths>
<TableColWidths>530</TableColWidths>
</View>
</SECTreeCtrl>
......@@ -75,25 +75,25 @@
<flags>2</flags>
<showCmd>3</showCmd>
<MinPosition>
<xPos>-32000</xPos>
<yPos>-32000</yPos>
<xPos>-1</xPos>
<yPos>-1</yPos>
</MinPosition>
<MaxPosition>
<xPos>-1</xPos>
<yPos>-1</yPos>
</MaxPosition>
<NormalPosition>
<Top>16</Top>
<Left>126</Left>
<Right>1086</Right>
<Bottom>537</Bottom>
<Top>55</Top>
<Left>374</Left>
<Right>1334</Right>
<Bottom>576</Bottom>
</NormalPosition>
</WindowPosition>
<MDIClientArea>
<RegID>0</RegID>
<MDITabState>
<Len>2558</Len>
<Data>0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001C00000003000000010000003B443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C74656D70657261747572655F73656E736F722E63000000001474656D70657261747572655F73656E736F722E6300000000FFDC7800FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C656D657267656E63795F73746F702E680000000010656D657267656E63795F73746F702E6800000000CACAD500FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C636F6D6D6F6E2E630000000008636F6D6D6F6E2E6300000000D9ADC200FFFFFFFF30443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C647331386232302E63000000000A647331386232302E632A00000000B5E99D00FFFFFFFF30443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C647331386232302E680000000009647331386232302E6800000000EAD6A300FFFFFFFF22443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C6D61696E2E6300000000066D61696E2E6300000000A5C2D700FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C7061726B696E675F73656E736F722E6800000000107061726B696E675F73656E736F722E6800000000C5D4F200FFFFFFFF3B443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C706E65756D617469635F736F6C656E6F69642E680000000014706E65756D617469635F736F6C656E6F69642E6800000000C5D4F200FFFFFFFF35443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C726F746174655F6D6F746F722E63000000000E726F746174655F6D6F746F722E6300000000F6FA7D00FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C7061726B696E675F73656E736F722E6300000000107061726B696E675F73656E736F722E6300000000F7B88600FFFFFFFF31443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C756172745F6C6F672E63000000000A756172745F6C6F672E6300000000FFDC7800FFFFFFFF38443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C64697374616E63655F7377697463682E68000000001164697374616E63655F7377697463682E6800000000BCA8E100FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C636F6D6D6F6E2E680000000008636F6D6D6F6E2E68000000009CC1B600FFFFFFFF3B443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C706E65756D617469635F736F6C656E6F69642E630000000014706E65756D617469635F736F6C656E6F69642E6300000000C5D4F200FFFFFFFF3B443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C74656D70657261747572655F73656E736F722E68000000001474656D70657261747572655F73656E736F722E6800000000C5D4F200FFFFFFFF30443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C6F6E65776972652E6800000000096F6E65776972652E6800000000C5D4F200FFFFFFFF30443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C6F6E65776972652E6300000000096F6E65776972652E6300000000C5D4F200FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C62757A7A65722E68000000000862757A7A65722E6800000000C1838300FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C62757A7A65722E63000000000862757A7A65722E6300000000B3A6BE00FFFFFFFF35443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C6D6F746F725F636F6D6D6F6E2E68000000000E6D6F746F725F636F6D6D6F6E2E6800000000C5D4F200FFFFFFFF36443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C77616C6B696E675F6D6F746F722E68000000000F77616C6B696E675F6D6F746F722E6800000000F0A0A100FFFFFFFF38443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C64697374616E63655F7377697463682E63000000001164697374616E63655F7377697463682E6300000000F0A0A100FFFFFFFF35443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C726F746174655F6D6F746F722E68000000000E726F746174655F6D6F746F722E6800000000BECEA100FFFFFFFF31443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C756172745F6C6F672E68000000000A756172745F6C6F672E6800000000BECEA100FFFFFFFF36443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C77616C6B696E675F6D6F746F722E63000000000F77616C6B696E675F6D6F746F722E6300000000FFDC7800FFFFFFFF3D443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C70686F746F656C6563747269635F7377697463682E63000000001670686F746F656C6563747269635F7377697463682E6300000000BCA8E100FFFFFFFF3D443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C70686F746F656C6563747269635F7377697463682E68000000001670686F746F656C6563747269635F7377697463682E68000000005FC3CF00FFFFFFFF49443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C5254455C4465766963655C53544D3332463130335A455C737461727475705F73746D3332663130785F68642E730000000016737461727475705F73746D3332663130785F68642E7300000000C5D4F200FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000460100006600000000050000DD020000</Data>
<Len>2302</Len>
<Data>01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000019000000000000000100000022443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C6D61696E2E6300000000066D61696E2E6300000000B5E99D00FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C656D657267656E63795F73746F702E630000000010656D657267656E63795F73746F702E6300000000C5D4F200FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C62757A7A65722E63000000000862757A7A65722E6300000000D9ADC200FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C7061726B696E675F73656E736F722E6800000000107061726B696E675F73656E736F722E68000000005FC3CF00FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C7061726B696E675F73656E736F722E6300000000107061726B696E675F73656E736F722E6300000000C5D4F200FFFFFFFF30443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C647331386232302E680000000009647331386232302E6800000000BCA8E100FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C62757A7A65722E68000000000862757A7A65722E6800000000C5D4F200FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C636F6D6D6F6E2E630000000008636F6D6D6F6E2E6300000000F6FA7D00FFFFFFFF30443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C647331386232302E630000000009647331386232302E6300000000C5D4F200FFFFFFFF2F443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C636F6D6D6F6E2E680000000008636F6D6D6F6E2E6800000000EAD6A300FFFFFFFF31443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C756172745F6C6F672E68000000000A756172745F6C6F672E6800000000C5D4F200FFFFFFFF36443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C77616C6B696E675F6D6F746F722E63000000000F77616C6B696E675F6D6F746F722E6300000000B3A6BE00FFFFFFFF35443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C6D6F746F725F636F6D6D6F6E2E68000000000E6D6F746F725F636F6D6D6F6E2E6800000000C5D4F200FFFFFFFF35443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C726F746174655F6D6F746F722E63000000000E726F746174655F6D6F746F722E6300000000F6FA7D00FFFFFFFF3B443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C706E65756D617469635F736F6C656E6F69642E680000000014706E65756D617469635F736F6C656E6F69642E6800000000C5D4F200FFFFFFFF31443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C756172745F6C6F672E63000000000A756172745F6C6F672E6300000000A5C2D700FFFFFFFF36443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C77616C6B696E675F6D6F746F722E68000000000F77616C6B696E675F6D6F746F722E6800000000C5D4F200FFFFFFFF38443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C64697374616E63655F7377697463682E68000000001164697374616E63655F7377697463682E6800000000D9ADC200FFFFFFFF3D443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C70686F746F656C6563747269635F7377697463682E63000000001670686F746F656C6563747269635F7377697463682E6300000000C5D4F200FFFFFFFF35443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C726F746174655F6D6F746F722E68000000000E726F746174655F6D6F746F722E6800000000F7B88600FFFFFFFF3B443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C706E65756D617469635F736F6C656E6F69642E630000000014706E65756D617469635F736F6C656E6F69642E63000000009CC1B600FFFFFFFF38443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C5372635C64697374616E63655F7377697463682E63000000001164697374616E63655F7377697463682E6300000000BCA8E100FFFFFFFF37443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C656D657267656E63795F73746F702E680000000010656D657267656E63795F73746F702E6800000000F0A0A100FFFFFFFF3D443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C4D6F64756C655C496E635C70686F746F656C6563747269635F7377697463682E68000000001670686F746F656C6563747269635F7377697463682E6800000000BECEA100FFFFFFFF49443A5CC7B6C8EBCABD5C6D63755C4D6F746F725F436F6E74726F6C5C5254455C4465766963655C53544D3332463130335A455C737461727475705F73746D3332663130785F68642E730000000016737461727475705F73746D3332663130785F68642E7300000000FFDC7800FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000460100006600000000050000DD020000</Data>
</MDITabState>
</MDIClientArea>
<ViewEx>
......@@ -152,7 +152,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000003F0100004A010000</Data>
<Data>03000000660000003F010000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -452,7 +452,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000003F0100004A010000</Data>
<Data>03000000660000003F010000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -472,7 +472,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>000000007B01000000050000C6020000</Data>
<Data>030000007E010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1112,7 +1112,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000003F0100004A010000</Data>
<Data>03000000660000003F010000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1281,14 +1281,14 @@
</Window>
<DockMan>
<Len>2675</Len>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000009401000066000000B0030000CA000000940100004F000000B0030000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1C0200004F0000002002000075010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000002002000066000000B00300008C010000200200004F000000B0030000750100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF420100004F00000046010000C60200000100000002000010040000000100000012FFFFFF07040000FFFFFFFF04000000ED0300006D00000073940000C4000000018000100000010000000000000066000000420100007A010000000000004F00000042010000C60200000000000040410056040000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000062010000B00300006601000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000007D010000B0030000F40100000000000066010000B0030000DD01000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD801000066010000DC010000DD01000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000063010000000500006701000000000000010000100400000001000000F1FEFFFF5D010000FFFFFFFF04000000C7000000B401000077940000C500000001800080000000000000000000007E01000000050000DD020000000000006701000000050000C60200000000000040820046040000000D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC700000001000000FFFFFFFFC700000001000000FFFF02001400434D756C746950616E654672616D65576E644578000100842200000039000000DE000000C601000000000000000000000200000000000000C30000000000000000000000000000000000000001000000C30000000000000000000000</Data>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E6500200000000000009401000066000000B0030000CA000000940100004F000000B0030000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1C0200004F0000002002000075010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000002002000066000000B00300008C010000200200004F000000B0030000750100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF420100004F00000046010000C60200000100000002000010040000000100000012FFFFFF07040000FFFFFFFF04000000ED0300006D00000073940000C400000001800010000001000000000000006600000042010000DD020000000000004F00000042010000C60200000000000040410056040000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000062010000B00300006601000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB09000001800080000000000000000000007D010000B0030000F40100000000000066010000B0030000DD01000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD801000066010000DC010000DD01000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF0000000063010000000500006701000000000000010000000400000001000000F1FEFFFF5D010000FFFFFFFF04000000C7000000B401000077940000C500000001800080000000000000000000007E01000000050000DD020000000000006701000000050000C60200000000000040820046040000000D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC700000001000000FFFFFFFFC700000001000000FFFF02001400434D756C746950616E654672616D65576E644578000100842200000039000000DE000000C601000000000000000000000200000000000000C30000000000000000000000000000000000000001000000C30000000000000000000000</Data>
</DockMan>
<ToolBar>
<RegID>59392</RegID>
<Name>File</Name>
<Buttons>
<Len>2472</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000644515F4745549600000000000000140003524F4D0D445331384232305F5265736574001B646F75626C652043616C63756C61746544697374616E636528293B1F4E5649435F456E61626C65495251284558544931355F31305F4952516E293B23202020204E5649435F456E61626C65495251284558544931355F31305F4952516E293B0C45585449395F355F4952516E14E8AEBEE7BDAEE4B8ADE696ADE4BC98E58588E7BA15E8AEBEE7BDAEE4B8ADE696ADE4BC98E58588E7BA3F17455854492D3E5052203D20455854495F50525F5052313425E6A380E69FA5E698AFE590A6E698AF45585449E7BA3F34E8A7A6E58F91E4BA86E4B8ADE69626E6A380E69FA5E698AFE590A6E698AF45585449E7BA3F34E8A7A6E58F91E4BA86E4B8ADE6963F145553415254315F53656E64466F726D617474656408445131345F4745540A706431345F73746174651153656E64547269676765725369676E616C0E4558544931355F31305F4952516E0EE4B88BE9998DE6B2BFE8A7A6E58F0FE4B88BE9998DE6B2BFE8A7A6E58F3F0644515F4745540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
<Len>2033</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000D445331384232305F44515F494E960000000000000001000D445331384232305F44515F494E00000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
</Buttons>
<OriginalItems>
<Len>1423</Len>
......@@ -1320,7 +1320,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2220</Len>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000000000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
......@@ -1393,7 +1393,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000008D01000072010000</Data>
<Data>03000000660000008D010000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1413,7 +1413,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>00000000A30100007C020000C6020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1433,7 +1433,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1453,7 +1453,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1473,7 +1473,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1533,7 +1533,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1553,7 +1553,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1573,7 +1573,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1593,7 +1593,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1613,7 +1613,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1633,7 +1633,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1653,7 +1653,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1673,7 +1673,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000660000008D01000072010000</Data>
<Data>03000000660000008D010000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -1833,7 +1833,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -2393,7 +2393,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -2413,7 +2413,7 @@
<RecentRowIndex>0</RecentRowIndex>
<RectRecentDocked>
<Len>16</Len>
<Data>03000000A601000079020000AD020000</Data>
<Data>03000000A6010000FD040000AD020000</Data>
</RectRecentDocked>
<RectRecentFloat>
<Len>16</Len>
......@@ -2502,14 +2502,14 @@
</Window>
<DockMan>
<Len>2585</Len>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000B300000000050000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000940100006600000000050000CA000000940100004F00000000050000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1C0200004F0000002002000075010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000002002000066000000B00300008C010000200200004F000000B0030000750100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF900100004F00000094010000C6020000010000000200001004000000010000000000000000000000FFFFFFFF04000000ED0300006D00000073940000C400000001800010000001000000000000006600000090010000A2010000000000004F00000090010000C60200000000000040410056040000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000008B010000000500008F010000000000000100001004000000010000009FFEFFFF4000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000084020000A601000000050000DD020000000000008F01000000050000C602000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF800200008F01000084020000C602000000000000020000100400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000630100000005000067010000000000000100000004000000010000000DFEFFFF79000000FFFFFFFF04000000C7000000B401000077940000C500000001800080000000000000000000007E01000000050000DD020000000000006701000000050000C60200000000000040820046040000000D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC700000001000000FFFFFFFFC7000000000000000000000000000000</Data>
<Data>000000000B000000000000000020000000000000FFFFFFFFFFFFFFFF94010000B300000000050000B7000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000940100006600000000050000CA000000940100004F00000000050000B30000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF1C0200004F0000002002000075010000000000000200000004000000010000000000000000000000FFFFFFFF17000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C0000018000400000000000002002000066000000B00300008C010000200200004F000000B0030000750100000000000040410046170000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF900100004F00000094010000C6020000010000000200001004000000010000000000000000000000FFFFFFFF04000000ED0300006D00000073940000C400000001800010000001000000000000006600000090010000DD020000000000004F00000090010000C60200000000000040410056040000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF000000008B010000000500008F010000000000000100000004000000010000009FFEFFFF4000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000A601000000050000DD020000000000008F01000000050000C602000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF800200008F01000084020000C602000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000630100000005000067010000000000000100000004000000010000000DFEFFFF79000000FFFFFFFF04000000C7000000B401000077940000C500000001800080000000000000000000007E01000000050000DD020000000000006701000000050000C60200000000000040820046040000000D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF0C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC700000001000000FFFFFFFFC7000000000000000000000000000000</Data>
</DockMan>
<ToolBar>
<RegID>59392</RegID>
<Name>File</Name>
<Buttons>
<Len>2092</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000096C6173745F70643134960000000000000005000644515F474554096C6173745F706431340C2054494D322D3E434E543B200B64697374616E63655F636D1263757272656E745F706431345F73746174650000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
<Len>2484</Len>
<Data>00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000B64697374616E63655F636D960000000000000014000B64697374616E63655F636D001B5061726B696E675F53656E736F725F496E74657272757074696F6E043078303203524F4D0D445331384232305F52657365741B646F75626C652043616C63756C61746544697374616E636528293B1F4E5649435F456E61626C65495251284558544931355F31305F4952516E293B23202020204E5649435F456E61626C65495251284558544931355F31305F4952516E293B0C45585449395F355F4952516E14E8AEBEE7BDAEE4B8ADE696ADE4BC98E58588E7BA15E8AEBEE7BDAEE4B8ADE696ADE4BC98E58588E7BA3F17455854492D3E5052203D20455854495F50525F5052313425E6A380E69FA5E698AFE590A6E698AF45585449E7BA3F34E8A7A6E58F91E4BA86E4B8ADE69626E6A380E69FA5E698AFE590A6E698AF45585449E7BA3F34E8A7A6E58F91E4BA86E4B8ADE6963F145553415254315F53656E64466F726D617474656408445131345F4745540A706431345F73746174651153656E64547269676765725369676E616C0E4558544931355F31305F4952516E0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020003001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F50726F6A6563742057696E646F7773000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000</Data>
</Buttons>
<OriginalItems>
<Len>1423</Len>
......@@ -2541,7 +2541,7 @@
<Name>Debug</Name>
<Buttons>
<Len>2220</Len>
<Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000002000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000020000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
<Data>00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020000002D0000000000000000000000000000000001000000010000000180F07F0000020000002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000002001380D88B000000000000310000000757617463682031000000000000000000000000010000000100000000000000000000000100000000001380D98B0000000000003100000007576174636820320000000000000000000000000100000001000000000000000000000001000000000013800F01000002000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000084D656D6F72792031000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000084D656D6F72792032000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000084D656D6F72792033000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000084D656D6F727920340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000755415254202331000000000000000000000000010000000100000000000000000000000100000000001380940700000000000033000000075541525420233200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000007554152542023330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000000E49544D2F525441205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380658A000000000000340000000E4C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E00000014506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000D436F646520436F76657261676500000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000138001890000020000003600000007546F6F6C626F7800000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000</Data>
</Buttons>
<OriginalItems>
<Len>898</Len>
......@@ -2565,111 +2565,84 @@
<ActiveMDIGroup>0</ActiveMDIGroup>
<MDIGroup>
<Size>100</Size>
<ActiveTab>3</ActiveTab>
<Doc>
<Name>.\Module\Src\temperature_sensor.c</Name>
<ColumnNumber>13</ColumnNumber>
<TopLine>32</TopLine>
<CurrentLine>49</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<ActiveTab>0</ActiveTab>
<Doc>
<Name>.\Module\Inc\emergency_stop.h</Name>
<Name>.\main.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<TopLine>68</TopLine>
<CurrentLine>1</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\common.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>72</TopLine>
<CurrentLine>1</CurrentLine>
<Name>.\Module\Src\emergency_stop.c</Name>
<ColumnNumber>4</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>15</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\ds18b20.c</Name>
<Name>.\Module\Src\buzzer.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<CurrentLine>9</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\ds18b20.h</Name>
<ColumnNumber>27</ColumnNumber>
<Name>.\Module\Inc\parking_sensor.h</Name>
<ColumnNumber>23</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>33</CurrentLine>
<CurrentLine>24</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\main.c</Name>
<ColumnNumber>52</ColumnNumber>
<TopLine>60</TopLine>
<CurrentLine>90</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\parking_sensor.h</Name>
<Name>.\Module\Src\parking_sensor.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>22</CurrentLine>
<TopLine>11</TopLine>
<CurrentLine>29</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\pneumatic_solenoid.h</Name>
<Name>.\Module\Inc\ds18b20.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<CurrentLine>15</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\rotate_motor.c</Name>
<Name>.\Module\Inc\buzzer.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>109</TopLine>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\parking_sensor.c</Name>
<ColumnNumber>24</ColumnNumber>
<TopLine>29</TopLine>
<CurrentLine>52</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\uart_log.c</Name>
<ColumnNumber>20</ColumnNumber>
<TopLine>100</TopLine>
<CurrentLine>71</CurrentLine>
<Name>.\Module\Src\common.c</Name>
<ColumnNumber>26</ColumnNumber>
<TopLine>314</TopLine>
<CurrentLine>333</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\distance_switch.h</Name>
<ColumnNumber>25</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>2</CurrentLine>
<Name>.\Module\Src\ds18b20.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>2</TopLine>
<CurrentLine>18</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
......@@ -2677,32 +2650,32 @@
<Doc>
<Name>.\Module\Inc\common.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>7</CurrentLine>
<TopLine>4</TopLine>
<CurrentLine>20</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\pneumatic_solenoid.c</Name>
<ColumnNumber>0</ColumnNumber>
<Name>.\Module\Inc\uart_log.h</Name>
<ColumnNumber>22</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<CurrentLine>18</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\temperature_sensor.h</Name>
<Name>.\Module\Src\walking_motor.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<TopLine>56</TopLine>
<CurrentLine>90</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\onewire.h</Name>
<Name>.\Module\Inc\motor_common.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
......@@ -2711,16 +2684,16 @@
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\onewire.c</Name>
<Name>.\Module\Src\rotate_motor.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>28</TopLine>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\buzzer.h</Name>
<Name>.\Module\Inc\pneumatic_solenoid.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
......@@ -2729,37 +2702,37 @@
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\buzzer.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>9</CurrentLine>
<Name>.\Module\Src\uart_log.c</Name>
<ColumnNumber>22</ColumnNumber>
<TopLine>89</TopLine>
<CurrentLine>121</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\motor_common.h</Name>
<Name>.\Module\Inc\walking_motor.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<CurrentLine>15</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\walking_motor.h</Name>
<ColumnNumber>0</ColumnNumber>
<Name>.\Module\Inc\distance_switch.h</Name>
<ColumnNumber>25</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>15</CurrentLine>
<CurrentLine>2</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\distance_switch.c</Name>
<ColumnNumber>42</ColumnNumber>
<Name>.\Module\Src\photoelectric_switch.c</Name>
<ColumnNumber>9</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>20</CurrentLine>
<CurrentLine>11</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
......@@ -2774,28 +2747,28 @@
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Inc\uart_log.h</Name>
<ColumnNumber>18</ColumnNumber>
<Name>.\Module\Src\pneumatic_solenoid.c</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>16</CurrentLine>
<CurrentLine>1</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\walking_motor.c</Name>
<ColumnNumber>0</ColumnNumber>
<Name>.\Module\Src\distance_switch.c</Name>
<ColumnNumber>10</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>1</CurrentLine>
<CurrentLine>26</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
</Doc>
<Doc>
<Name>.\Module\Src\photoelectric_switch.c</Name>
<Name>.\Module\Inc\emergency_stop.h</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>1</TopLine>
<CurrentLine>11</CurrentLine>
<CurrentLine>1</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
......@@ -2811,9 +2784,9 @@
</Doc>
<Doc>
<Name>RTE\Device\STM32F103ZE\startup_stm32f10x_hd.s</Name>
<ColumnNumber>0</ColumnNumber>
<TopLine>149</TopLine>
<CurrentLine>153</CurrentLine>
<ColumnNumber>20</ColumnNumber>
<TopLine>143</TopLine>
<CurrentLine>149</CurrentLine>
<Folding>1</Folding>
<ContractedFolders></ContractedFolders>
<PaneID>0</PaneID>
......
......@@ -176,9 +176,9 @@
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>81</LineNumber>
<LineNumber>57</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134226530</Address>
<Address>134225926</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
......@@ -187,14 +187,14 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\宓屽叆寮?mcu\Motor_Control\Module\Src\parking_sensor.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\MotorControl\Module/Src/parking_sensor.c\81</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>86</LineNumber>
<LineNumber>56</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134226552</Address>
<Address>134225916</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
......@@ -203,14 +203,14 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\宓屽叆寮?mcu\Motor_Control\Module\Src\parking_sensor.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\MotorControl\Module/Src/parking_sensor.c\86</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>84</LineNumber>
<LineNumber>58</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134226544</Address>
<Address>134225932</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
......@@ -219,14 +219,14 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\宓屽叆寮?mcu\Motor_Control\Module\Src\parking_sensor.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\MotorControl\Module/Src/parking_sensor.c\84</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>3</Number>
<Type>0</Type>
<LineNumber>92</LineNumber>
<LineNumber>60</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134226578</Address>
<Address>134225950</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
......@@ -235,14 +235,14 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\宓屽叆寮?mcu\Motor_Control\Module\Src\parking_sensor.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\MotorControl\Module/Src/parking_sensor.c\92</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>94</LineNumber>
<LineNumber>65</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134226618</Address>
<Address>134225990</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
......@@ -251,7 +251,23 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\宓屽叆寮?mcu\Motor_Control\Module\Src\parking_sensor.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\MotorControl\Module/Src/parking_sensor.c\94</Expression>
<Expression></Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>63</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134225970</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\宓屽叆寮?mcu\Motor_Control\Module\Src\parking_sensor.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<MemoryWindow1>
......@@ -532,58 +548,6 @@
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Module\Inc\temperature_sensor.h</PathWithFileName>
<FilenameWithoutPath>temperature_sensor.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>18</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Module\Inc\onewire.h</PathWithFileName>
<FilenameWithoutPath>onewire.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Module\Src\onewire.c</PathWithFileName>
<FilenameWithoutPath>onewire.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Module\Src\temperature_sensor.c</PathWithFileName>
<FilenameWithoutPath>temperature_sensor.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>21</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>.\Module\Inc\emergency_stop.h</PathWithFileName>
<FilenameWithoutPath>emergency_stop.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
......@@ -591,7 +555,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>22</FileNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......@@ -604,7 +568,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>23</FileNumber>
<FileNumber>19</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......@@ -617,7 +581,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>24</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......@@ -630,7 +594,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>25</FileNumber>
<FileNumber>21</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......@@ -643,7 +607,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>26</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......@@ -656,7 +620,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>27</FileNumber>
<FileNumber>23</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......@@ -669,7 +633,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>28</FileNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<Focus>0</Focus>
......
......@@ -494,26 +494,6 @@
<FilePath>.\Module\Src\photoelectric_switch.c</FilePath>
</File>
<File>
<FileName>temperature_sensor.h</FileName>
<FileType>5</FileType>
<FilePath>.\Module\Inc\temperature_sensor.h</FilePath>
</File>
<File>
<FileName>onewire.h</FileName>
<FileType>5</FileType>
<FilePath>.\Module\Inc\onewire.h</FilePath>
</File>
<File>
<FileName>onewire.c</FileName>
<FileType>1</FileType>
<FilePath>.\Module\Src\onewire.c</FilePath>
</File>
<File>
<FileName>temperature_sensor.c</FileName>
<FileType>1</FileType>
<FilePath>.\Module\Src\temperature_sensor.c</FilePath>
</File>
<File>
<FileName>emergency_stop.h</FileName>
<FileType>5</FileType>
<FilePath>.\Module\Inc\emergency_stop.h</FilePath>
......
No preview for this file type
......@@ -27,22 +27,17 @@ Project File Date: 10/28/2024
<h2>Output:</h2>
Build target 'PWM'
compiling main.c...
.\Module\Inc\parking_sensor.h(25): warning: #1295-D: Deprecated declaration CalculateDistance - give arg types
double CalculateDistance();
main.c(103): warning: #128-D: loop is not reachable
while (1) {
main.c: 1 warning, 0 errors
compiling uart_log.c...
compiling rotate_motor.c...
compiling pneumatic_solenoid.c...
compiling parking_sensor.c...
.\Module\Inc\parking_sensor.h(25): warning: #1295-D: Deprecated declaration CalculateDistance - give arg types
double CalculateDistance();
Module\Src\parking_sensor.c: 1 warning, 0 errors
compiling common.c...
.\Module\Inc\parking_sensor.h(25): warning: #1295-D: Deprecated declaration CalculateDistance - give arg types
double CalculateDistance();
Module\Src\common.c(109): warning: #61-D: integer operation result is out of range
Module\Src\common.c(110): warning: #61-D: integer operation result is out of range
GPIOE->CRL &= ~(0xF << (4*7)); // 清空 PE7 配置 (?0-23)
Module\Src\common.c: 2 warnings, 0 errors
Module\Src\common.c: 1 warning, 0 errors
compiling distance_switch.c...
compiling photoelectric_switch.c...
compiling onewire.c...
......@@ -54,9 +49,9 @@ compiling ds18b20.c...
assembling startup_stm32f10x_hd.s...
compiling system_stm32f10x.c...
linking...
Program Size: Code=12812 RO-data=916 RW-data=20 ZI-data=1636
Program Size: Code=14236 RO-data=920 RW-data=12 ZI-data=1636
FromELF: creating hex file...
".\Objects\MotorControl.axf" - 0 Error(s), 4 Warning(s).
".\Objects\MotorControl.axf" - 0 Error(s), 2 Warning(s).
<h2>Software Packages used:</h2>
......
:020000040800F2
:1000000078060020790200088102000883020008B7
:1000000070060020790200088102000883020008BF
:10001000850200088702000889020008000000002D
:100020000000000000000000000000008B0200083B
:100030008D020008000000008F02000891020008F5
:10004000930200089302000893020008930200083C
:100050009302000893020008E91D000893020008BB
:100060005D1E000893020008930200089302000836
:10005000930200089302000845200008930200085C
:10006000B9200008930200089302000893020008D8
:10007000930200089302000893020008930200080C
:1000800093020008930200089302000893020008FC
:100090009302000893020008930200087D1E0008E6
:10009000930200089302000893020008DD20000884
:1000A00093020008930200089302000893020008DC
:1000B00093020008930200089302000893020008CC
:1000C00093020008930200089302000893020008BC
:1000D00093020008930200089302000893020008AC
:1000E000091E00089302000893020008930200080A
:1000E00069200008930200089302000893020008A8
:1000F000930200089302000893020008930200088C
:10010000930200089302000893020008930200087B
:10011000930200089302000893020008930200086B
......@@ -21,843 +21,931 @@
:1001300000F002F800F090F80AA090E8000C824469
:100140008344AAF10107DA4501D100F085F8AFF246
:10015000090EBAE80F0013F0010F18BFFB1A43F0A5
:1001600001031847F032000010330000103A24BF9A
:100160000103184784380000A4380000103A24BF67
:1001700078C878C1FAD8520724BF30C830C144BF0C
:1001800004680C607047000000230024002500264E
:10019000103A28BF78C1FBD8520728BF30C148BFEA
:1001A0000B6070476E2900F07581702900F0BF82E6
:1001B000662903F0BF80652903F0BC80672903F03E
:1001C000B980612903F0B88003681B0A28BF41F099
:1001D0008001692900F02281642900F01F817529BE
:1001E00000F01C816F2900F04D82782900F08B828D
:1001F000E92900F0E781E42900F0E481F52900F025
:10020000E181EF2900F04A82F82900F08A82036830
:10021000DB0928BF41F08001632900F08B87732937
:1002200000F09087E32900F09B87F32900F0A08776
:10023000002070471FB500F0EDFF040000200021F2
:1002400002F0CCFD401C60600020002102F0B0FDF7
:10025000E0601FBD10B510BD00F0AEFF1146FFF706
:10026000E9FF02F03DFD01F087F803B4FFF7F2FF6C
:1002700003BC01F0CDF80000094880470948004759
:1001A0000B6070476E2900F0CD82702900F0178433
:1001B000662903F08683652903F08383672903F0AA
:1001C0008083612903F07F8303681B0A28BF41F005
:1001D0008001692900F0CE80642900F0CB80752968
:1001E00000F0C8806F2900F0A583782900F0E38330
:1001F000E92900F03F83E42900F03C83F52900F071
:100200003983EF2900F0A283F82900F0E283036824
:10021000DB0928BF41F08001632900F0C5877329FD
:1002200000F0CA87E32900F0D587F32900F0DA87C8
:10023000002070471FB501F027F8040000200021BE
:1002400002F0D8FE401C60600020002102F0BCFEDD
:10025000E0601FBD10B510BD00F0E8FF1146FFF7CC
:10026000E9FF02F003FE01F0C1F803B4FFF7F2FF6B
:1002700003BC01F007F9000009488047094800471E
:10028000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE746
:10029000FEE7FEE704480549054A064B70470000A3
:1002A000C5250008310100087800002078060020EC
:1002B00078020020780200207CB51D4616460C000E
:1002A000AD27000831010008700000207006002012
:1002B00070020020700200207CB51D4616460C001E
:1002C000009001D02044401E074B7B442A466946DB
:1002D0000190304600F0F7F805461CB10020694651
:1002E00000F004F928467CBD2902000010B5203A30
:1002F000C0F00B80B1E81850203AA0E81850B1E8DF
:100300001850A0E81850BFF4F5AF5FEA027C24BF94
:10031000B1E81850A0E8185044BF18C918C0BDE88B
:1003200010405FEA827C24BF51F8043B40F8043B54
:1003300008BF7047D20728BF31F8023B48BF11F809
:10034000012B28BF20F8023B48BF00F8012B704763
:1003500070477047704770B5044685690068C106EC
:1003600001D5302600E02026C00707D070BDD4E9B3
:10037000012130469047206A401C20626D1EF6D550
:1003800070BD70B5044685690078C00707D170BD9F
:10039000D4E9012120209047206A401C20626D1E74
:1003A000F6D570BD09684A0501D540B27047C90548
:1003B000FCD500B2704709684A0501D5C0B2704744
:1003C000C905FCD580B2704770B50C460546012AB8
:1003D00005D02878800600D5EA69002302E00123D1
:1003E00005E05B1C934202D2E05C0028F9D1A869C9
:1003F000E618C01AA861286A184428622846FFF740
:10040000AAFF04E0D5E9012114F8010B9047B4429A
:10041000F8D32846FFF7B5FF70BD00002DE9F04185
:100420000646002410687529314616A510D0FFF73E
:10043000B9FF002802DA404213A507E031688A07B5
:1004400001D512A502E0490704D511A5012401E058
:10045000FFF7B1FF00210A2206F1240709E0B0FBF3
:10046000F2FCB0FBF2F302FB1C003030785418466B
:10047000491C0028F3D123462A463046BDE8F04106
:1004800000F069BA000000002D0000002B00000001
:100490002000000011680268006A530501D5087049
:1004A0000AE0D30501D5088006E0130603D5C2177C
:1004B000C1E9000200E008600120704701694A1CA0
:1004C00002610878704700B58FB0CDE90131002195
:1004D000059105497944CDE903101146684600F0BD
:1004E00031F90FB000BD0000E5FFFFFF0A6802F818
:1004F000010B0A607047D1E900239A4202D2531CD3
:100500000B601070704700002DE9FF5F15468A46AA
:100510000446DFF8AC80F8440027D8E900103E46D6
:10052000CDE9001010E03AF816106A4602A800F073
:1005300023FE411C07D02178890603D5E2693918CA
:1005400091420DD80744761C2078800602D5E069D8
:10055000B84205DDAE42E6DB3AF816000028E2D1EB
:10056000A069C01BA0612046FFF7F5FED8E9001086
:10057000CDE90010002017E03AF818106A4602A8EA
:1005800000F0FAFDB0F1FF3F81460BD000250DF1E0
:10059000080B05E0D4E901211BF8050090476D1C0C
:1005A0004D45F7D308F10100B0428046E4DB206AF4
:1005B000384420622046FFF7E4FEBDE8FF9F0000BC
:1005C0003E2E00002DE9F0418046D21D22F00702A8
:1005D0000025D2E90002F52915A614D0011E72F1FA
:1005E000000106DA0023D0EB030063EB020211A640
:1005F00008E0D8F800108B0701D50FA602E04907E4
:1006000001D50EA601251146002408F1240704E0B7
:1006100000F05CF930323A55641C50EA0102F7D11F
:100620002B46324621464046BDE8F04100F093B9E2
:10063000000000002D0000002B0000002000000042
:1006400030B4002100F1240408E002F00705D208CC
:10065000303542EA4372DB086554491C52EA03050F
:10066000F3D10468002310A2250708D504F0200464
:100670000C4304D0C46901230CA2641EC46130BCC5
:1006800000F069B910B5044621461068FFF793FEE3
:1006900002462046BDE810400023D1E7D21D22F0DB
:1006A0000701D1E90023CBE7000000003000000083
:1006B000F0B40D460188090502D5214C7C4402E0C6
:1006C0001F4C7C440E34002100F1240608E002F0A7
:1006D0000F071209E75D42EA03721B097754491CB0
:1006E00052EA0307F3D102780023120704D5702DD4
:1006F00006D009B1022311342246F0BC00F02BB918
:1007000001231034F8E770B504460D462146106801
:10071000FFF751FE024629462046BDE870400023FF
:10072000C6E7D21D22F00703D3E90023C0E7036820
:10073000126843F0200303600823C3610023B7E776
:10074000A02C00002DE9F05F894604464FF0000A16
:10075000DFF874B1FB44C0F820A02046E168884768
:10076000002874D0252806D0D4E901219047206ABA
:10077000401C2062F1E700265F462046E16888477A
:100780002028054607DB312D05D2781910F8200CFA
:1007900008B10643F1E7B00701D526F00406C4F816
:1007A0001CA00027C4F818A02A2D09D0284602F062
:1007B0008FFA38B304EB8708303DC8F8185019E0B9
:1007C00059F8041B204604EB87029161E1688847D1
:1007D000012F054618D1E069002820DA26F020060E
:1007E0001DE0D8F8180000EB800005EB4000303821
:1007F000C8F818002046E1688847054602F068FA04
:100800000028EED1012F0AD02E2D08D12046E16814
:1008100088477F1C0546022F46F02006C4DBA069EE
:10082000002803DA404246F00106A061F00701D03B
:1008300026F010066C2D0BD0682D09D04C2D39D028
:100840006A2D35D0742D35D07A2D33D016E038E0AE
:10085000E1682F4620468847B842054609D16C2FEB
:1008600026D04FF48060E16806432046884705465D
:1008700004E06C2F1AD04FF4807006430DB3A5F13D
:100880004100192802D8203546F400664A46294618
:10089000204626604E46FFF785FC80B101280BD02C
:1008A000F61D26F0070000F1080956E74020E4E7AE
:1008B0008020D8E70020D6E706F104094DE7284656
:1008C00052E7206ABDE8F09F302C000030B5B0F14F
:1008D0000A024FEA900E71F100034EEA817EB0EBFE
:1008E0000E0061EB91014FEA101E4EEA017E10EB03
:1008F0000E0041EB11114FEA102E4EEA016E10EB83
:100900000E0041EB11214FEA104E4EEA014E10EB62
:100910000E0041EB1141401841F100014FEAD000B7
:1009200040EA41704FEAD10110EB80054FEA8104A3
:1009300044EA907444EB01046D1944EB0404521B27
:10094000A3414FF0000348BF0A3200D530BD401C20
:1009500041F1000130BD2DE9F0470D469946924620
:10096000044600F124080168880604D5E06921F0F6
:100970001001216000E00120A84201DD471B00E0DA
:100980000027A1697A1902EB0900081AA0612078F2
:10099000C00602D42046FFF7DEFC002608E0D4E9BA
:1009A00001211AF806009047206A401C761C20623C
:1009B0004E45F4DB2078C0060AD52046FFF7CBFC75
:1009C00006E0D4E9012130209047206A401C2062D3
:1009D000381EA7F10107F4DC07E0D4E9012118F87B
:1009E00005009047206A401C2062281EA5F10105E1
:1009F000F3DC2046FFF7C5FC2078000602D5022074
:100A0000BDE8F0870120FBE770472DE9FF4F0C465A
:100A10001E464FF0FF378BB0D2E90001DDF8608051
:100A20000A908A46C1F30A5505B93D460021084699
:100A30004FF00000BAF1000F00F4400005DA00EBBF
:100A400080004FF4400101EA50004FEA9059B9F19B
:100A5000010F00DDB9460A9850EA4A000ED044F66C
:100A60001050A5F2FF3545432F14B8F1000F1ED0EA
:100A70007542291E1EDDC9F100021CE0B8F1010F0C
:100A80004FF0000001D0302103E0F24305E0215493
:100A9000401CB042FBDB30460022002121540B9960
:100AA000C1F80880C1E900200FB0BDE8F08FBD1B80
:100AB0006D1CDEE74A4600DA694206A800F0EEFB4C
:100AC00006AB93E8070003AB83E8070050460A999A
:100AD00000F0A4FC8DE80700A0F500501F3800903E
:100AE0000398002D09DD42F21F014A46084403A97C
:100AF0000390684600F003FF08E0A0F500504A4666
:100B00001F3803A90390684600F00DFF8DE8070029
:100B10000004000C03D04FF0FF30410800E0104605
:100B2000B8F1000F03D00022009215461EE0751E9A
:100B300005D4FFF7CBFE303262556D1EF9D5B346B2
:100B40000122084302D000227F1C04E020783028D4
:100B500001D100227F1E002A099786D01DE0112DA9
:100B600007DAFFF7B3FE303262556D1C50EA01021E
:100B7000F5D1084302D00098C8B10EE00021681EEC
:100B800005E0235C625C63542254401E491C814290
:100B9000F7DBAB46A81B401E0990002004F80B00B1
:100BA0000B98099AC0F80880C0E9002B7CE7112651
:100BB0004FF0000859E72DE9F04F88460446D21D52
:100BC00022F0070191B0D1E90001CDE90A0102F05C
:100BD0006BF802460B98C00F01D02D2007E020686B
:100BE000810701D52B2002E0202101EAC000032A61
:100BF000099001D0072A05DB03464146204600F054
:100C00000DFB0BE12078800601D5E06900E00620AD
:100C1000B8F1650F814606D0B8F1660F18D0B8F16B
:100C2000670F70D131E00020B9F1110F009001DBA6
:100C3000112301E009F101030AAA01A90CA8FFF799
:100C4000E4FEDDE90C70002609F10105834647E06A
:100C500001204B4600904FF000470AAA01A90CA8BA
:100C6000FFF7D3FEDDE90DB00C995D46002610B903
:100C700009F101000D18B9EB050003D4C0F1FF36EE
:100C800009F10105A5EB09002BE0B9F1010F01DA2B
:100C90004FF001090020B9F1110F0090484601DD25
:100CA000112300E003460AAA01A90CA8FFF7ADFE34
:100CB000DDE90C704D4600268346207800070AD4F3
:100CC000AB4500DA5D4601A8012D04DD411911F89C
:100CD000011C302907D04F4502DA17F1040F04DA5E
:100CE000012082460FE06D1EEEE7002F02DCED1BB7
:100CF0003E4403E0781CA84200DD7D1CB81B00F1D7
:100D0000010A4FF000472078000703D4AA4501DB11
:100D10004FF0FF3A0021B7F1004F0DF143088DF875
:100D2000431024D002202B23002F01DA7F422D23F1
:100D30000A21021EA0F1010000DC5FB197FBF1FC6B
:100D400097FBF1F201FB1C7C17460CF1300C08F804
:100D500001CDEEE7A8F1010003702188090501D556
:100D6000452100E06521A0F1010800F8011C099867
:100D70000FA9A1EB0807FF1D00B10120411901EBEC
:100D8000EA70A1693844081A401EA0612078C006A4
:100D900002D42046FFF7DFFA099828B1D4E90121EF
:100DA0009047206A401C20622078C00622D5204649
:100DB000FFF7D1FA1EE0002E04DBB34502DD01A8E7
:100DC000805D00E03020D4E901219047206A401C7A
:100DD0002062761CAAF101005FEA000A0AD100F045
:100DE00019FAC0680168405CD4E901219047206A83
:100DF000401C2062281EA5F10105DCDC07E0D4E9D7
:100E0000012118F8010B9047206A401C2062381E0F
:100E1000A7F10107F3DC2046FFF7B3FA032011B076
:100E200043E600002DE9F04F04460D46D21D22F0A6
:100E3000070089B0D0E9009248461746394601F0CC
:100E400033FF0246F80F01D02D2307E02068810709
:100E500001D52B2302E0202101EAC0038DF82030C8
:100E60000BB1012000E00020032A824601D0072AAE
:100E700004DB2946204600F0D1F93DE120788006C8
:100E800001D40D2500E0E569C7F30A560D2D49DAB6
:100E900000214FEA175B08464FF00000002F00F4D6
:100EA000400007DA00EB80004FF4400100EBD07007
:100EB00001EA60008115012901DD4FF0FF310022B8
:100EC0004FEA850CBCF1180F06D31346ACF118009D
:100ED0004FF08052C24003E04FF4801323FA0CF32A
:100EE0000CF10C0CBCF1200F04D3ACF1200C09FA6E
:100EF0000CF001E007FA0CF000294FF0004801DD8A
:100F000018B90FE00ED140450CD319EB02095F412F
:100F100021B9404502D19F4329EA0209BBEB175F83
:100F200000D0761C2088000502D57B48784402E07A
:100F300079487844193808AA302302F80A30037C2B
:100F40000AF10101002E0AF1020A53546A4602DC3A
:100F50004FF0300101E04FF031014FF001088DF802
:100F6000001002D0A6F2FF3603E059EA470100D094
:100F70006A4E002D02DC2178090704D54FF00208E3
:100F80002E218DF80110C44600210BE0C7F3034366
:100F90003F01C35C491C6D1E02F80830052908F1A9
:100FA000010801DA002DF1DC00210CE000EB1973DF
:100FB000491C1B786D1E082902F808304FEA0919F0
:100FC00008F1010801DA002DF0DC2178890602D54C
:100FD00014E0A8F10108E04505DD02EB080111F875
:100FE000011C3029F5D0B8F1000F07DD02EB080134
:100FF00011F8011C2E2901D1A8F10108002D05DDF1
:101000003E2102F808106D1E08F10108407C002EF8
:1010100002F8080008F1010804DA2D20764202F8EF
:10102000080002E02B2002F808000A214FF47A7031
:10103000864208F101080BDB96FBF0F3303302F82F
:10104000083096FBF0F308F1010800FB136601E09D
:10105000642E0CDB642096FBF0F3303302F808308A
:1010600096FBF0F308F1010800FB136601E00A2E7D
:1010700006DB96FBF1F0303002F8080008F10108B9
:1010800096FBF1F001FB1060303002F80800A16916
:1010900008F1010808EB050202EB0A00081AA0613A
:1010A0002078C00602D42046FFF755F9216A08AE21
:1010B00001EB0A00206204E0D4E9012116F8010BDB
:1010C0009047BAF1010AF7D22078C00602D520462F
:1010D000FFF741F96E4609E016F8010B3E280FD0E4
:1010E000D4E901219047206A401C2062B8F1010830
:1010F000F2D22046FFF745F909B00320BDE8F08F92
:10110000206A2844206203E0D4E90121302090477E
:101110006D1EEBD3F8E700007C24000002FCFFFF0B
:1011200010B5436913B1AFF3008001E0FFF74CF94C
:10113000012010BD127800F124010A7000224A70CB
:101140000122EDE711684FF0FF32E9E710B543697E
:1011500013B1AFF3008001E0FFF7D6F9012010BD15
:10116000128800F1240182840022C2840122EDE76A
:1011700011684FF0FF32E9E770B516460C46054698
:1011800000F040F8036893F80101012806D0FF2C15
:101190000FD8185D68B101202C7070BDD3F807011D
:1011A0003246214603F2071303442846BDE8704047
:1011B00018474FF0FF3070BD754600F0E3F8AE46BB
:1011C00005006946534620F00700854618B020B553
:1011D000FFF760F8BDE820404FF000064FF0000731
:1011E0004FF000084FF0000B21F00701AC46ACE8CF
:1011F000C009ACE8C009ACE8C009ACE8C0098D463C
:101200007047000010B500F005F8001D10BD00BFCC
:10121000CD1B000000487047340000202DE9F0414C
:101220001F46044603260168072A01F4006004DB18
:1012300008B116A505E016A503E008B115A500E064
:1012400015A521F010002060A069C01EA0610FB19B
:10125000401EA0612046FFF77EF84FB1D4E901217E
:1012600038469047206A401C2062C01C206206E07D
:10127000206AFAE7D4E9012115F8010B9047761EA0
:10128000F8D22046FFF77DF8BDE8F0814E414E00D0
:101290006E616E00494E4600696E66002DE9F047AA
:1012A000814616468AB0334878440DC88DE80D0053
:1012B00030487844801C03AC0DC884E80D0041F62A
:1012C0009B300844372190FBF1F290FBF1F5A5F13A
:1012D000800501FB12041B3C02D56442012000E0A2
:1012E0000020DFF890A080460027FA44AAF1BE0A49
:1012F0000DE0E00709D03246684607EB47010AEBEC
:10130000810100F010FB8DE8070064107F1C002CA9
:10131000EFD1184F7F44AC3F18E0E80714D007EB3B
:1013200004100DF1180A90E80E008AE80E00C0685B
:10133000F04201D198190890324606A903A800F09E
:10134000F2FA03AB83E807006D10641C002DE4D1B2
:1013500032466946B8F1000F03A802D000F0CFFA78
:1013600001E000F0E0FAC9E90001C9F808200AB07C
:10137000BDE8F087902100000446AFF300802046CE
:10138000FEF773FF0048704714000020704700000C
:101390004FF0013C50F8042B51F8043B9A4221D104
:1013A000A2EB0C03934313EACC1317D150F8042B90
:1013B00051F8043B9A4215D1A2EB0C03934313EA74
:1013C000CC130BD150F8042B51F8043B9A4209D1AD
:1013D000A2EB0C03934313EACC13DBD04FF00000D5
:1013E000704700BFD01A01BAB1FA81F101F01801BB
:1013F00022FA01F0CB40C1F12001DBB2C0B2C01A29
:101400002CFA01F3D11A914311EAC311E6D17047C6
:1014100001491820ABBEFEE7260002005FEA400C3F
:1014200008BF91F0000F4FEA8C234FEAC12243EA34
:1014300051514FEA1C5018BF00F5F0404FEA300000
:1014400018BF41F000415FEA6C5C00F02980BCF1FC
:10145000FF3F08BF40F080407047130C06BF1204E6
:101460004FF0100C4FF0000C130E04BF12020CF1E1
:10147000080C130F04BF12010CF1040C930F04BFEE
:1014800092000CF1020CD30F04BF52000CF1010CBE
:1014900011464FF00002A0F11F00A0EB0C007047B6
:1014A00011F0004F08BF704731F000413FF4D5AF55
:1014B0000B0C06BF09044FF0100C4FF0000C0B0E84
:1014C00004BF09020CF1080C0B0F04BF09010CF159
:1014D000040C8B0F04BF89000CF1020CCB0F04BF6E
:1014E00049000CF1010CCCF12003A0EB0C0022FA16
:1014F00003F302FA0CF241EA030100F10100704724
:1015000020F07F4C80EA030023F07F47ACEB070319
:1015100003F57C5300F0004003F1FF032DE98049FF
:101520004FEA154B09B44FEA144325EA0B4E24EA5F
:1015300003480FF2042606EB132749083E785FEABA
:10154000320203FB0667C7F5000707FB06F64FEA02
:1015500054374FEAD64606F1020607FB066CCCF17B
:10156000005C4FEA1C472CEA074C07FB06F40CFB17
:1015700006F504EB15464FEA961634BF00204FF0EF
:1015800000404FEAD13706FB07FC4FEA1C4C0CFB2E
:101590000BF7D21B03FB0CF761EB07010CFB0EF7FB
:1015A000B0EB074072EB17420CFB08F734BFA2EB1D
:1015B0000742B2EB074261EB17414FEA0C444FEA96
:1015C000910706FB07FC4FEA1C4C0CFB0BF7B0EB3A
:1015D000C74072EB573203FB0CF734BFA2EBC74294
:1015E000B2EBC74261EB57310CFB0EF7B0EBC70013
:1015F00072EB57720CFB08F734BFA2EBC702B2EBD9
:10160000C70261EB5771039F4FEA816141EA921172
:1016100004EBCC044FEAD1374FEA826206FB07FCA9
:1016200042EA90124FEA80604FEA1C4C0CFB0BF729
:10163000D21B03FB0CF761EB07010CFB0EF7B0EBC1
:10164000074072EB17420CFB08F734BFA2EB0742CE
:10165000B2EB074261EB17414FEA8C554FEA910715
:1016600004EB9C2406FB07FC4FEA1C4C0CFB0BF71D
:10167000B0EBC74072EB573203FB0CF734BFA2EB61
:10168000C742B2EBC74261EB57310CFB0EF7B0EB30
:10169000C70072EB57720CFB08F734BFA2EBC7020E
:1016A000B2EBC70261EB577115EB4C254FEA816134
:1016B00041EA92114FEA82624FEAD13742EA901230
:1016C00006FB07FC44F100044FEA80604FEA1C4C23
:1016D0000CFB0BF7D21B03FB0CF761EB07010CFBB8
:1016E0000EF7B0EB074072EB17420CFB08F734BF64
:1016F000A2EB0742B2EB074261EB174115EB1C1559
:101700004FEA813141EA92414FEA823242EA904205
:101710004FEA80304FEA0C7644F1000448EA034374
:101720004EEA0B484FF0000EB2EB080C71EB0307CA
:1017300024BF624639464EEB0E0E4FF0000B0018E8
:10174000524149414BEB0B0BB2EB080C71EB030719
:101750007BF1000B24BF624639464EEB0E0E4FF074
:10176000000B0018524149414BEB0B0BB2EB080C3C
:1017700071EB03077BF1000B24BF624639464EEB49
:101780000E0E51EA020718BF46F0010616EB0E7660
:1017900055F1000254F1000103D5BDE88901BDE80F
:1017A0000088BDE88901BDE80048B619524141EB07
:1017B0000101A3F10103704780807F7E7D7C7B7AED
:1017C0007978777676757473727171706F6E6E6DED
:1017D0006C6C6B6A6A696868676666656464636393
:1017E00062616160605F5F5E5E5D5D5C5C5B5B5A19
:1017F0005A59595858575756565555555454535386
:1018000052525251515050504F4F4F4E4E4D4D4DE0
:101810004C4C4C4B4B4B4A4A4A494949484848472B
:101820004747474646464545454444444443434369
:101830004342424242414141002B26D4770021D00D
:101840001CB54FEA370703B44FF010004FF01001FA
:101850004FF000000FBCBDE810400BF1010BBBF1D5
:10186000010F08BF5FEA170722BF12F1010211F151
:1018700001014FF0004143F1000300F0004043EA52
:1018800000007047F9D35708DAE746EA064613F135
:10189000400F4FEA16461FDD13F1200FDFBF16433E
:1018A0000A46002120335B42C8D0C3F1200746EA34
:1018B000064602FA07F74FEA164646EA0706C3F15C
:1018C000200722FA03F201FA07F721FA03F14FF099
:1018D000000342EA0702B1E746EA020646EA064684
:1018E0004FEA164646EA0106BCBF46EA0646360CF3
:1018F0004FF000034FF000024FF000019EE72DE98A
:10190000C048934630B491E8380007C831EA400C2B
:1019100048BF34EA430C03D5FFF7F2FDFFF78CFF15
:10192000F0BCBDE800882DE9C048934630B491E88A
:10193000380007C810F0804F08BF13F0804F03D164
:1019400000F005F8FFF778FFF0BCBDE8008820F054
:101950007F4780EA030023F07F4C07EB0C03A3F5DD
:101960007C5300F00040A3F1FE0392F0000F00F062
:10197000B38095F0000F00F077802DE901494FEA20
:1019800011404FEA144621EA004800FB06FC24EA15
:10199000064708FB06F607FB08F800FB07F718EBFD
:1019A00006484CEB164C4FEA124B18EB07484FEA2F
:1019B00015464CEB174022EA0B4E0BFB06FC25EAC2
:1019C00006470EFB06F607FB0EFE0BFB07F71EEBAA
:1019D000064E4CEB164C4FF000061EEB074E4CEB40
:1019E000174B18EB0B0840F1000018EB0E0B58EBEF
:1019F000000840F100008F1A4FF000013CBFC943BE
:101A0000661B14BFB5EB040C00213CBFC943F61B99
:101A10004FEA17444EEA8E0E27EA04454FEA1C4768
:101A200004FB07622CEA074C05FB07F70CFB05F6E5
:101A300004FB0CFC16EB074642EB174216EB0C4678
:101A400042EB1C421BEB060658EB0202414146EA00
:101A50009E0601D5BDE80189B619524141EB01014D
:101A6000A3F10103BDE801894FEA14454FEA11478C
:101A700024EA054621EA074C05FB07F406FB07F7B5
:101A80000CFB06F105FB0CFC11EB074144EB174482
:101A90004FEA124711EB0C4144EB1C4422EA074C7D
:101AA00005FB07F206FB07F70CFB06F605FB0CFC33
:101AB00016EB074642EB174216EB0C4642EB1C4571
:101AC0006A1854F1000148BF7047B619524141EB02
:101AD0000101A3F10103704795F0000F37D04FEAE1
:101AE00011424FEA144721EA024624EA074C02FB5E
:101AF00007F106FB07F70CFB06F402FB0CFC14EBEA
:101B0000074441EB17414FEA154714EB0C4441EBF6
:101B10001C4125EA074C02FB07F506FB07F70CFB07
:101B200006F602FB0CFC16EB074645EB174516EBD9
:101B30000C4645EB1C42121951F1000148BF704799
:101B4000B619524141EB0101A3F1010370474FEA7D
:101B500014454FEA114724EA054621EA074C05FBE4
:101B600007F106FB07F70CFB06F24FF0000605FB3A
:101B70000CFC12EB074241EB174112EB0C4251EB0C
:101B80001C4148BF7047921841EB0101A3F10103CA
:101B90007047000010B54FF40070034908607321CE
:101BA000012000F04DF810BD101801402DE9F04162
:101BB00000BF00BF0748006801F0ABFA0646064ABE
:101BC000064B01F0B9FA04460022054B01F0B4FAC5
:101BD000BDE8F08100000020664CC11A67D3F13ED9
:101BE0000000594010B5082810DA144A1268840021
:101BF0000F23A3409A43114B1A601A4612688300C0
:101C000001FA03F31A430D4B1A6016E00B4A121D3A
:101C10001268A0F108039C000F23A3409A43074BCE
:101C20001B1D1A601A461268A0F108039B0001FAF6
:101C300003F31A43014B1B1D1A6010BD001801402D
:101C400038B50A460021174B6D2A12D06E2A04D0EF
:101C5000732A15D0752A17D105E0124C4443124D52
:101C6000B4FBF5F111E00F4C4443104DB4FBF5F11A
:101C70000BE00C4C44434FF47A75B4FBF5F104E0EF
:101C8000084C00FB04F100E038BD00BF00240094C4
:101C900003E000BF009C641C0094009C8C42F8D3BD
:101CA00000BFF1E700A24A0400CA9A3B40420F007D
:101CB00010B516A000F0CCFB1E48006800F40040F0
:101CC00078B11D48806800F4004018B11BA000F0F6
:101CD000B9FB02E024A000F0B5FB4FF40040154929
:101CE00008601448006800F0400070B1294800689E
:101CF00000F0400018B128A000F0A4FB02E030A0E2
:101D000000F0A0FB40200B49086010BD48656C6CDA
:101D10006F2C2044697374616E63655F53776974D7
:101D200063685F496E74657272757074696F6E2155
:101D30000A000000140401400020014050473135E2
:101D40003A20E68EA5E8BF9120284E504EE4BCA074
:101D5000E6849FE599A8202D20E9AB98E794B5E5A6
:101D6000B9B3290A00000000504731353A20E8BFD6
:101D70009CE7A6BB20284E504EE4BCA0E6849FE51D
:101D800099A8202D20E4BD8EE794B5E5B9B3290AC2
:101D900000000000081401405044363A20E68EA5A9
:101DA000E8BF912028504E50E4BCA0E6849FE599FE
:101DB000A8202D20E9AB98E794B5E5B9B3290A002E
:101DC0005044363A20E8BF9CE7A6BB2028504E502E
:101DD000E4BCA0E6849FE599A8202D20E4BD8EE711
:101DE00094B5E5B9B3290A0010B50648006800F0BB
:101DF000010028B1062000F0C9FB0120014908605C
:101E000010BD00001404014010B50E48006800F435
:101E1000804030B1042000F0B9FB4FF48040094904
:101E200008600848006800F4004048B106A000F0CF
:101E300009FB052000F0AAFB4FF4004001490860AF
:101E400010BD000014040140455854493135207438
:101E500072696767657265640A00000010B506481C
:101E6000006800F0040028B1022000F08FFB04207D
:101E70000149086010BD00001404014010B50C4871
:101E8000006800F0400028B1052000F07FFB4020F2
:101E9000074908600648006800F4007030B1062069
:101EA00000F074FB4FF400700149086010BD0000A1
:101EB0001404014010B50CA000F0C4FA11480068E9
:101EC00000F0040070B11048006800F0040018B180
:101ED0000EA000F0B7FA02E016A000F0B3FA04205A
:101EE0000849086010BD0000456D657267656E6346
:101EF000795F53746F705F496E7465727275707438
:101F00000A00000014040140081801405045323A0C
:101F100020E68AACE8B5B72028E680A5E5819CE6F6
:101F20008C89E992AE202D20E9AB98E794B5E5B90C
:101F3000B3290A005045323A20E68C89E4B88B2058
:101F400028E680A5E5819CE68C89E992AE202D20CB
:101F5000E4BD8EE794B5E5B9B3290A0000F01F028D
:101F6000012191404209920002F1E022C2F80011E1
:101F70007047000010B5002807DA0A07140E054A5A
:101F800000F00F031B1FD45403E00A07130E024A8C
:101F9000135410BD18ED00E000E400E070B52148D6
:101FA0000068C0F3803421461FA000F051FA224897
:101FB0000078844234D0012C0ED12048007858B9E2
:101FC0000020A10788840846008840F001000880AE
:101FD00001201A49087021E004BB18480078012844
:101FE0001CD18007858C164805604FF08040008822
:101FF00020F001004FF080410880002088840F49C4
:102000000870FFF7D3FD0F4A106051601046026858
:1020100043680B4801680CA000F01AFA06480470E7
:1020200070BD000008140140706431345F6C657647
:10203000656C3A2025750A00110000201000002070
:1020400000000020080000204558544931345F4901
:10205000525148616E646C65722050756C736520D6
:1020600054696D653A2025752075732C2044697379
:1020700074616E63653A20252E356620636D0A0013
:1020800010B51648006800F4007000280FD01448FE
:10209000006800F4007018B112A000F0D9F902E055
:1020A0001CA000F0D5F94FF400700C4908600B48F3
:1020B000006800F0010000280ED02248006800F0FF
:1020C000010018B120A000F0C3F902E02AA000F03E
:1020D000BFF901200149086010BD0000140401404F
:1020E000080C01405042393A20E789A9E4BD93E940
:1020F00081AEE68CA120284E504E20E4BCA0E684A0
:102100009FE599A8202D20E9AB98E794B5E5B9B3F0
:10211000290A00005042393A20E789A9E4BD93E733
:10212000A7BBE5BC8020284E504E20E4BCA0E6842E
:102130009FE599A8202D20E4BD8EE794B5E5B9B3BD
:10214000290A0000081801405045303A20E789A9C3
:10215000E4BD93E981AEE68CA120284E504E20E4E8
:10216000BCA0E6849FE599A8202D20E9AB98E794D0
:10217000B5E5B9B3290A00005045303A20E789A9EE
:10218000E4BD93E7A7BBE5BC8020284E504E20E479
:10219000BCA0E6849FE599A8202D20E4BD8EE7949D
:1021A000B5E5B9B3290A000070B505460C46072D00
:1021B0006ED2DFE805F004132231404F5E0034B1E7
:1021C0003648006840F400503449086005E0334860
:1021D000006820F40050314908605DE034B12F48B8
:1021E000006840F480402D49086005E02B480068F5
:1021F00020F48040294908604EE034B12748006847
:1022000040F400402549086005E02448006820F4B7
:102210000040224908603FE034B12148C06840F0E6
:1022200001001F49C86005E01D48C06820F001009A
:102230001B49C86030E034B11948C06840F0020062
:102240001749C86005E01648C06820F0020014492C
:10225000C86021E034B11348006840F080001149A3
:10226000086005E00F48006820F080000D49086014
:1022700012E034B10B48006840F4807009490860EE
:1022800005E00848006820F480700649086003E013
:1022900005A000F0D7F800BF00BF70BD0C1C0140C6
:1022A000002001400C180140E4B88DE5AD98E59C94
:1022B000A8E99880E997A821200A00002DE9F04FAD
:1022C00085B005460E4600244EF66020B6FBF0F0C1
:1022D00000EB80004000049021E004B96424204613
:1022E00000F017FF00221B4BCDE9000100F024FF96
:1022F00007460022184B00F087FDCDE9020100F0EF
:10230000DBFE8246504600F02BF904980444AC42B0
:1023100000D92C466D210A20FFF792FC00BFAC4289
:10232000DBD3284600F0F5FE00220A4BCDE902017E
:1023300000F002FF07460022074B00F065FD8246D1
:1023400000F0BAFE8146484600F00AF905B0BDE843
:10235000F08F00000000B94000004E402DE9FC5F06
:10236000044689464EF66020B9FBF0F000EB800091
:102370004FEA400A1FE0204600F0CBFE0022114B3E
:10238000CDE9000100F0D8FE074600220E4B00F018
:102390003BFD054600F090FE8346584600F0E0F80D
:1023A000544502D9A4EB0A0400E000246D210A2060
:1023B000FFF746FC00BF002CDDD1002000F0D0F874
:1023C000BDE8FC9F0000B94000004E4030B1074915
:1023D000096821F40061054A116005E003490968B4
:1023E00041F40061014A1160704700000C1C01407B
:1023F00030B10749C96841F02001054AD16005E0C4
:102400000349C96821F02001014AD16070470000EA
:102410000010014010B54FF4804006490860752156
:102420001920FFF70DFC4FF480400249091D086098
:1024300010BD00001018014000B500F07FFB00F057
:102440009FFB00BD10B50446204600F0B7FB10BD51
:102450000FB400B5A1B023A80090802101A8009B73
:10246000229AFDF729FF0020009001A800F0A6FBAA
:1024700021B05DF814FB10B500F002F810BD0000AB
:102480000CB50020019000903348006840F4803083
:102490003149086000BF3048006800F40030009007
:1024A0000198401C0190009818B90198B0F5A06FF0
:1024B000F1D12948006800F4003010B101200090EB
:1024C00001E0002000900098012843D123480068D3
:1024D00040F01000214908600846006820F0030021
:1024E00008600846006840F0020008601A4840682A
:1024F000194948600846406848600846406840F40A
:10250000806048600846406820F47C1048600846B7
:10251000406840F4E81048600846006840F0807069
:10252000086000BF0C48006800F000700028F9D077
:102530000948406820F003000749486008464068A1
:1025400040F00200486000BF0348406800F00C0003
:102550000828F9D10CBD0000001002400020024004
:10256000084A1288521C4243074BB3FBF2F2511E39
:10257000044B1B1D1980C1F34F02024B0C331A8010
:10258000704700002804004000A24A0410B5044629
:10259000072C13D2DFE804F004050612090C0F0023
:1025A0000DE00CE0FFF786FC09E0FFF7F7FC06E022
:1025B000FFF77EFB03E0FFF763FD00E000BF00BF15
:1025C00010BD000010B51348006840F0010011492B
:1025D000086008464068104908400E4948600846AF
:1025E00000680E4908400B4908600846006820F45E
:1025F000802008600846406820F4FE0048604FF4E0
:102600001F008860FFF737FF4FF000600449086043
:1026100010BD0000001002400000FFF8FFFFF6FEB2
:1026200008ED00E00848C06940F001000649C861B3
:102630004720890408854FF6FF7088850846008882
:1026400020F010000880704700100240164AD2693E
:1026500042F00202144BDA61144A1080121D1180FC
:10266000124A103A128822F07002104B103B1A8066
:102670001A46128842F060021A800C4A083A128800
:1026800042F00102094B083B1A804FF4FA72074BE3
:102690000C331A80054A283A128842F00102034B93
:1026A000283B1A80704700000010024028040040B8
:1026B000164AD26942F00202144BDA61144A1080C1
:1026C000121D1180124A103A128822F4E042104B77
:1026D000103B1A801A46128842F4C0421A800C4AF3
:1026E000083A128842F01002094B083B1A804FF456
:1026F000FA72074B10331A80054A283A128842F0C2
:102700000102034B283B1A80704700000010024072
:102710002804004010B56648406920F470616448A0
:102720004161406940F4407161484161614800681D
:1027300020F480405F490860081F006820F4804052
:10274000091F08600846006840F480400860081DC2
:10275000006840F48040091D086056480C38006845
:1027600040F4804053490C3908602820FFF7F6FBFD
:1027700002212820FFF7FEFB4D48C06820F470615D
:102780004B48C160C06840F440714948C16040692D
:1027900020F4704146484161406940F4C0414448DA
:1027A00041614448001F006848F240010843414924
:1027B000091F0860081D006848F2400108433D49B0
:1027C00008603C480C38006848F240010843394929
:1027D0000C3908600B211720FFF7CCFB3448006947
:1027E00020F0F00132480161006940F010013048EA
:1027F0000161806820F00F002D49886008468068DC
:1028000040F0040088602B48001F006840F201215E
:1028100008432849091F0860081D006840F201218B
:1028200008432449086023480C38006840F201211D
:10283000084320490C3908601720FFF78FFB0C2153
:102840001720FFF797FB0620FFF788FB0D210620D6
:10285000FFF790FB1648806820F470601449886088
:102860000846806840F4806088601248006820F064
:10287000040010490860081F006820F00400091FC8
:102880000860081D006840F00400091D0860094840
:102890000C38006840F0040006490C390860082034
:1028A000FFF75CFB00210820FFF764FB10BD000070
:1028B000000001400C0401409648806940F010007F
:1028C000944988610846806940F080008861084624
:1028D000806940F4807088610846806940F040005B
:1028E00088610846806940F0200088610846806958
:1028F00040F0080088610846806940F00100886166
:102900008548006820F070608349086008460068C8
:1029100040F0306008600846006820F470000860ED
:102920000846006840F4401008607C48006820F4C5
:1029300070407A4908600846006840F440500860DA
:102940007548006820F070407349086008460068C8
:1029500040F0304008607148006820F470206F49F2
:1029600008600846006840F4403008606A48006823
:1029700020F47020684908600846006840F4403040
:1029800008606748406840F44060654948606348B3
:10299000006820F47000614908600846006840F44F
:1029A000401008600846006820F070600860084623
:1029B000006840F0407008600846006820F0405011
:1029C00008600846006840F04050086055480068BC
:1029D00020F00F00534908600846006840F00300EB
:1029E00008600846006820F0F000086008460068AB
:1029F00040F0300008604C48006820F070404A49C0
:102A000008600846006840F040500860081D0068F3
:102A100020F00F00091D08600846006840F0030020
:102A2000086008460068414908403F49091D0860A0
:102A3000084600683E4908433B49091D08604FF4B9
:102A40007C403949143108603A48006820F07060D1
:102A5000384908600846006840F0806008603148E6
:102A6000406820F070402F4948600846406840F0B8
:102A7000804048602F48001F006820F070602D499A
:102A8000091F08600846006840F0806008602A4816
:102A9000006820F0F000284908600846006840F00F
:102AA000400008602048006820F00F001E490860C0
:102AB0000846006840F0040008601E48006820F4E2
:102AC00070201C4908600846006840F440300860E7
:102AD0001548006820F470601349086008460068D3
:102AE00040F40060086010480C30006840F00400BA
:102AF0000D490C3108600C48001D006820F0F00002
:102B00000949091D08600846006840F03000086067
:102B1000704700000010024000100140041C0140FA
:102B2000000001400020014000180140FF0000F0BB
:102B30000011110104140140040C01400E48806989
:102B400044F2040108430C4988610C48006820F0F5
:102B5000F0000A4908600846006840F0B0000860CC
:102B60000846006820F4706008600846006840F479
:102B700080600860704700000010024004080140B7
:102B800041F64C500549088042F20C00091D0880AE
:102B90000020091D0880091D088070470838014081
:102BA00000BF0549098801F080010029F9D0C1B2B0
:102BB000014A121D118070470038014000B50346DC
:102BC00003E013F8010BFFF7EBFF18780028F8D1AA
:102BD00000BD00002DE9FE4F0446894692469B4603
:102BE00084F80C90A4F808A0A4F814B0B9F1000F70
:102BF00013D0B9F1010F06D0B9F1020F08D0B9F125
:102C0000030F24D11EE059465046FFF757FB1FE043
:102C1000E0885946FFF7A2FB1AE0E08800F079FA55
:102C200000220D4BCDE9000100F086FA0746002294
:102C30000A4B00F0E9F8054600F03EFA0290FFF773
:102C40008FFC05E00020E080FFF78AFC00E000BF79
:102C500000BFBDE8FE8F00000000B94000004E40FC
:102C600030B10749096821F40061054A116005E0A7
:102C70000349096841F40061014A1160704700008E
:102C80000C1C014030B10749C96841F02001054AD8
:102C9000D16005E00349C96821F02001014AD160F3
:102CA0007047000000100140490050EAC12018BFE1
:102CB00004204A0D18BF40F0010040F2FF72B2EB51
:102CC000515F08BF40F00200012808BF052070478F
:102CD00030380A2801D201207047002070470000D8
:102CE00088B0FFF7E9FDFFF715FDFFF7A5FB1C22F4
:102CF000294901A8FDF7FAFABDF81E10BDF81C001D
:102D0000FFF7A4FCBDF81E10BDF81C00FFF7D0FCB7
:102D100000249DF80800FFF76BFB0120FFF756FB2E
:102D20009DF80800FFF7AEFF0120FFF799FF012192
:102D30000020FFF739FAFEF72DFF03210E20FEF7E2
:102D400051FFFFF76FFCFFF765FB24E02046FFF71C
:102D50001DFC12A0FFF776FB1448C06820F010009D
:102D60001249C8604FF47A7342F29F42012101A8D0
:102D7000FFF730FF732141F28830FEF761FF4FF417
:102D80007A730022022101A8FFF724FF732141F288
:102D90008830FEF755FFD9E73C3300086D61696E56
:102DA0003A20E590AFE58AA80A0000000010014033
:102DB00010B500290AD00878002807D005487844C3
:102DC000FEF7E6FA002801D0002010BD0248784442
:102DD00010BD0000B6060000AE06000010B50029C8
:102DE0000AD00878002807D005487844FEF7D0FAC2
:102DF000002801D0002010BD0248784410BD00001A
:102E0000A60600009E0600002DE9C04130B4DFF8A0
:102E1000A0C23CEA111418BF3CEA131400F0EC8085
:102E200081EA03051CEA111444EAD57418BF1CEAB0
:102E3000131500F0C780A4EB05044FF0004545EAE8
:102E4000C12145EAC32341EA505143EA525304F1F8
:102E50007F74994204F500344FEAC0204FEAC22241
:102E600008BF904200F09C804FEA13650FF24016B5
:102E7000765D4FEA134506FB05F7C7F1807706FB41
:102E800007F74FEAD737A7FB03687642C8F58038C3
:102E9000A7FB06CE38BFA8F1010807FB08E64FF0F4
:102EA000000EA6FB028CE6FB03CEDCF1000CCEF19B
:102EB000004E38BFAEF1010EA6FB0C584FF00007D4
:102EC0004FF00005E6FB0E87A1FB08C6A0FB07CE6E
:102ED00016EB0E0645F10005E1FB076515F1E04E26
:102EE0007EBFA4F580345FEA46066D4116F1800787
:102EF00045F100054FEA17274FEA066647EA0567DE
:102F0000A6F1DE46B6F1805F4FEA15251FD9384697
:102F100024F0010C05EBC471BCF1FE6F01EB0C1148
:102F200002D8F0BCBDE8008124425CBF01F5801EE0
:102F30009EEAC47F02D4F0BCBDE80081244238D4AC
:102F4000F0BCA1F1C041BDE8004100F0EDB94FEA8D
:102F5000D22242EA43524FEAD323A7FB02864FEA2A
:102F6000D02040EA415007FB03661EEA0E0F4FEAED
:102F7000D12105FB026658BFA6EB0056B6EB005602
:102F80004FEA520E4EEAC37E18EB0E0E56EB530E6E
:102F9000BDD518EB02085E417F1C55F10005B6E770
:102FA0004FF480154FF000074FF000064FF0000877
:102FB000ADE7F0BC4FF0000001F1C04101F000416D
:102FC000BDE8008111EA0C1F0CEA131500D00CE0DB
:102FD00013EA0C1F00F025804FF00000F0BC81EADE
:102FE000030101F00041BDE80081F0BCBDE80041F3
:102FF00081EA030100F098B9F0BCBDE8004170B56A
:1030000000F044F9097EFC3E00F007B881EA0301B4
:103010004FF0000001F00041704781EA030100F029
:1030200083B9F0BCBDE800414FF000002149704772
:10303000FFFDFBF9F7F5F4F2F0EEEDEBE9E8E6E47D
:10304000E3E1E0DEDDDBDAD8D7D5D4D3D1D0CFCD04
:10305000CCCBCAC8C7C6C5C4C2C1C0BFBEBDBCBB3D
:10306000BAB9B8B7B6B5B4B3B2B1B0AFAEADACAB38
:10307000AAA9A8A8A7A6A5A4A3A3A2A1A09F9F9E12
:103080009D9C9C9B9A9999989797969595949393C4
:10309000929191908F8F8E8E8D8C8C8B8B8A89895B
:1030A00088888787868585848483838282818180DE
:1030B0000000FF070000F87F4FEA1153A3F580637B
:1030C000D3F11E03A8BFD3F1200C08DB4FF0004260
:1030D00042EAC12252EA505232FA03F070470942E2
:1030E0000BD4102BC4BF0020704703F5787CBCF1D3
:1030F000FF3F05D04FF0FF3070474FF000007047A2
:1031000070B500F0C3F800BF4992248000207047DA
:10311000F0E7B0FA80F310FA03F10AD0C3F11D030F
:1031200003F580634FEA41504FEA035202EBD1218D
:1031300070474FF000007047DFF848C170B51CEAD7
:10314000111E1EBF1CEA13159EEA0C0F95EA0C0F08
:1031500000F06F8081EA030423EA4C134EEAD47E28
:1031600021EA4C1141F4801143F48013AE44A1FBD9
:10317000024CA0FB0365AEF17F7E361955EB0C05C2
:10318000A1FB034C4CF10003A0FB021C16EB0C0648
:10319000654153F10003094218BF46F0010613F4DC
:1031A000007F0BD14FEA03314FEA0530340341EA87
:1031B000155140EA16506FF003020AE04FEAC321AE
:1031C0004FEAC520F40241EA555140EA56506FF0EB
:1031D000020202EB2E4201EB025585EACE710AD0C3
:1031E0005FEA440C18BF24F0004450F1000041F1A4
:1031F000000120EAD47040F2FE7C624500D270BD2E
:10320000A84214BF4FF080444FF04044002E08BF46
:103210000024BEF1806FA8BFA1F1C041BDE870409D
:1032200080F282804FF0000001F1C04101F00041C6
:1032300070479EEA0C0F0CEA131518BF95EA0C0FA5
:1032400006D04FF0000081EA030E0EF0004170BD81
:1032500000F01CF88900013E00F007B800F009B842
:103260004FEA430C5FEA5C5C08D081EA030100F09E
:103270005BB84FEA410C5FEA5C5CF6D14FF00000AE
:10328000014970470000FF070000F87F0EF1020EB1
:103290002EF0030E5EF8046B364205D4012A43EB90
:1032A000030515F5001F12D8012841EB010C1CF590
:1032B000001F0CD80ED14FEAD17C15F5001F0CEB86
:1032C0004C0C0CF1020C08BF4CEBD37C04E04FF02B
:1032D000080C01E04FEAD37C0CEB4C0526FA05F60E
:1032E00006F00706B6F1040C06D20EEB860CBDE81C
:1032F00070404CF0010C6047DFE80CF0090B020253
:103300004FF000414FF00000A1F5002170BD1946BB
:103310001046012851EB010418BFD4F5001484BFF6
:10332000002001F0004170BD0808A0F500114FEA2F
:1033300031017047FDF73FBCFDF774BD0000000090
:103340000100000000009F240000000000000000B9
:10335000E803E8034700E703000000000000000066
:1033600030313233343536373839414243444546BB
:1033700040305800303132333435363738396162B5
:1033800063646566403078000400000800000000B7
:1033900000000002000100001030313233343536B5
:1033A0003738396162636465667870003031323372
:1033B0003435363738394142434445465850000089
:1033C00002400000000000A00000000005400000D6
:1033D000000000C8000000000C4000000000409CFD
:1033E00000000000194000000020BCBE00000000EA
:1033F00034400000BFC91B8E00000004B54000002F
:10340000504BCFD06607E2CF010000006C410000B6
:103410003E8251AADFEEA73401000000D94200002D
:10342000DCB5A0E23A301F97FFFFFFFFB445000074
:10343000FD25A0C8E9A3C14FFFFFFFFFFF3F00002C
:103440000000008000000000FF3F0000000000803E
:1034500000000000A035000800000020140000005B
:103460006C010008B4350008140000206406000058
:10347000880100081C00000043000000F8FFFFFF67
:103480000C0000000E0000000F0000002E000000E5
:103490001001000043000000F8FFFFFF0040404023
:1034A0004040404040404141414141404040404017
:1034B00040404040404040404040404040050202C3
:1034C0000202020202020202020202020220202082
:1034D00020202020202020020202020202029090DE
:1034E00090909090101010101010101010101010DC
:1034F0001010101010101010020202020202888830
:10350000888888880808080808080808080808083B
:103510000808080808080808020202024000000023
:10352000000000000000000000000000000000009B
:10353000000000000000000000000000000000008B
:10354000000000000000000000000000000000007B
:10355000000000000000000000000000000000006B
:10356000000000000000000000000000000000005B
:10357000000000000000000000000000000000004B
:10358000000000000000000000000000000000003B
:10359000000000000000000000000000000000002B
:1035A000000000000000000000000000000000001B
:0435B0000000000017
:1002D0000190304600F04FFA05461CB100206946F7
:1002E00000F05CFA28467CBDD90400000FB47CB550
:1002F0000C0009AA009001D02044401E084B7B440A
:1003000069460190089800F036FA05461CB10020B5
:10031000694600F043FA28467CBC5DF814FB0000F7
:10032000A504000070B5044685690068C10601D5C2
:10033000302600E02026C00707D070BDD4E9012197
:1003400030469047206A401C20626D1EF6D570BD75
:1003500070B5044685690078C00707D170BDD4E93F
:10036000012120209047206A401C20626D1EF6D596
:1003700070BD00002DE9F041064600241068752983
:10038000314616A510D000F049F9002802DA4042A3
:1003900013A507E031688A0701D512A502E04907D5
:1003A00004D511A5012401E000F041F900210A2241
:1003B00006F1240709E0B0FBF2FCB0FBF2F302FB0C
:1003C0001C00303078541846491C0028F3D12346CD
:1003D0002A463046BDE8F04100F05BB9000000005D
:1003E0002D0000002B000000200000002DE9F05F30
:1003F000894604464FF0000ADFF874B1FB44C0F8A8
:1004000020A02046E1688847002874D0252806D01F
:10041000D4E901219047206A401C2062F1E70026C0
:100420005F462046E16888472028054607DB312DD6
:1004300005D2781910F8200C08B10643F1E7B0078F
:1004400001D526F00406C4F81CA00027C4F818A0A3
:100450002A2D09D0284602F0DFFC38B304EB8708C8
:10046000303DC8F8185019E059F8041B204604EB39
:1004700087029161E1688847012F054618D1E0693C
:10048000002820DA26F020061DE0D8F8180000EB3E
:10049000800005EB40003038C8F818002046E168BD
:1004A0008847054602F0B8FC0028EED1012F0AD09B
:1004B0002E2D08D12046E16888477F1C0546022F73
:1004C00046F02006C4DBA069002803DA404246F06B
:1004D0000106A061F00701D026F010066C2D0BD0AC
:1004E000682D09D04C2D39D06A2D35D0742D35D0DA
:1004F0007A2D33D016E038E0E1682F462046884751
:10050000B842054609D16C2F26D04FF48060E168CF
:10051000064320468847054604E06C2F1AD04FF466
:10052000807006430DB3A5F14100192802D820358B
:1005300046F400664A462946204626604E46FFF7A6
:1005400031FE80B101280BD0F61D26F0070000F126
:10055000080956E74020E4E78020D8E70020D6E7E6
:1005600006F104094DE7284652E7206ABDE8F09FEE
:10057000E834000010B5431C02E010F8011B71B113
:100580008107FAD14FF0013202C88C1A8C4314EA69
:10059000C211F9D0C01A0A0603D0C01E10BDC01A7D
:1005A00010BD0A0401D0801E10BD0902FCD0401EFF
:1005B00010BD10B5203AC0F00B80B1E81850203AB9
:1005C000A0E81850B1E81850A0E81850BFF4F5AFF3
:1005D0005FEA027C24BFB1E81850A0E8185044BF7D
:1005E00018C918C0BDE810405FEA827C24BF51F8EA
:1005F000043B40F8043B08BF7047D20728BF31F8DE
:10060000023B48BF11F8012B28BF20F8023B48BF2E
:1006100000F8012B704770477047704709684A051A
:1006200001D540B27047C905FCD500B270470968D2
:100630004A0501D5C0B27047C905FCD580B27047E4
:1006400070B50C460546012A05D02878800600D5ED
:10065000EA69002302E0012305E05B1C934202D219
:10066000E05C0028F9D1A869E618C01AA861286AD8
:10067000184428622846FFF755FE04E0D5E9012119
:1006800014F8010B9047B442F8D32846FFF760FEF8
:1006900070BD2DE9F0470D4699469246044600F19B
:1006A00024080168880604D5E06921F01001216062
:1006B00000E00120A84201DD471B00E00027A169FE
:1006C0007A1902EB0900081AA0612078C00602D44A
:1006D0002046FFF727FE002608E0D4E901211AF89A
:1006E00006009047206A401C761C20624E45F4DBD1
:1006F0002078C0060AD52046FFF714FE06E0D4E9AC
:10070000012130209047206A401C2062381EA7F14A
:100710000107F4DC07E0D4E9012118F8050090474F
:10072000206A401C2062281EA5F10105F3DC20464A
:10073000FFF70EFE2078000602D50220BDE8F08704
:100740000120FBE711680268006A530501D50870B3
:100750000AE0D30501D5088006E0130603D5C217C9
:10076000C1E9000200E008600120704701694A1CED
:1007700002610878704700B58FB0CDE901310021E2
:10078000059105497944CDE9031011466846FFF704
:100790002DFE0FB000BD0000E5FFFFFF0A6802F864
:1007A000010B0A607047D1E900239A4202D2531C20
:1007B0000B601070704700002DE9FF5F15468A46F8
:1007C0000446DFF8AC80F8440027D8E900103E4624
:1007D000CDE9001010E03AF816106A4602A800F0C1
:1007E00005FD411C07D02178890603D5E269391837
:1007F00091420DD80744761C2078800602D5E06926
:10080000B84205DDAE42E6DB3AF816000028E2D138
:10081000A069C01BA0612046FFF784FDD8E9001045
:10082000CDE90010002017E03AF818106A4602A837
:1008300000F0DCFCB0F1FF3F81460BD000250DF14C
:10084000080B05E0D4E901211BF8050090476D1C59
:100850004D45F7D308F10100B0428046E4DB206A41
:10086000384420622046FFF773FDBDE8FF9F00007B
:10087000323100002DE9F0418046D21D22F00702FE
:100880000025D2E90002F52915A614D0011E72F147
:10089000000106DA0023D0EB030063EB020211A68D
:1008A00008E0D8F800108B0701D50FA602E0490731
:1008B00001D50EA601251146002408F1240704E005
:1008C00000F098F830323A55641C50EA0102F7D132
:1008D0002B46324621464046BDE8F041FFF7D9BEDF
:1008E000000000002D0000002B0000002000000090
:1008F00030B4002100F1240408E002F00705D2081A
:10090000303542EA4372DB086554491C52EA03055C
:10091000F3D10468002310A2250708D504F02004B1
:100920000C4304D0C46901230CA2641EC46130BC12
:10093000FFF7AFBE10B5044621461068FFF777FEFB
:1009400002462046BDE810400023D1E7D21D22F028
:100950000701D1E90023CBE70000000030000000D0
:10096000F0B40D460188090502D5214C7C4402E013
:100970001F4C7C440E34002100F1240608E002F0F4
:100980000F071209E75D42EA03721B097754491CFD
:1009900052EA0307F3D102780023120704D5702D21
:1009A00006D009B1022311342246F0BCFFF771BE14
:1009B00001231034F8E770B504460D46214610684F
:1009C000FFF735FE024629462046BDE87040002369
:1009D000C6E7D21D22F00703D3E90023C0E703686E
:1009E000126843F0200303600823C3610023B7E7C4
:1009F000942F000030B5B0F10A024FEA900E71F169
:100A000000034EEA817EB0EB0E0061EB91014FEAEC
:100A1000101E4EEA017E10EB0E0041EB11114FEA61
:100A2000102E4EEA016E10EB0E0041EB11214FEA41
:100A3000104E4EEA014E10EB0E0041EB11414018F2
:100A400041F100014FEAD00040EA41704FEAD10184
:100A500010EB80054FEA810444EA907444EB0104F2
:100A60006D1944EB0404521BA3414FF0000348BF2F
:100A70000A3200D530BD401C41F1000130BD704745
:100A80002DE9FF4F0C461E464FF0FF378BB0D2E9E1
:100A90000001DDF860800A908A46C1F30A5505B965
:100AA0003D46002108464FF00000BAF1000F00F467
:100AB000400005DA00EB80004FF4400101EA5000ED
:100AC0004FEA9059B9F1010F00DDB9460A9850EA92
:100AD0004A000ED044F61050A5F2FF3545432F14BE
:100AE000B8F1000F1ED07542291E1EDDC9F10002AB
:100AF0001CE0B8F1010F4FF0000001D0302103E0FD
:100B0000F24305E02154401CB042FBDB304600229A
:100B1000002121540B99C1F80880C1E900200FB0D1
:100B2000BDE8F08FBD1B6D1CDEE74A4600DA694266
:100B300006A800F0EDFB06AB93E8070003AB83E8E3
:100B4000070050460A9900F0A3FC8DE80700A0F5C5
:100B500000501F3800900398002D09DD42F21F015C
:100B60004A46084403A90390684600F002FF08E0E3
:100B7000A0F500504A461F3803A90390684600F0CC
:100B80000CFF8DE807000004000C03D04FF0FF308D
:100B9000410800E01046B8F1000F03D00022009297
:100BA00015461EE0751E05D4FFF724FF303262554E
:100BB0006D1EF9D5B3460122084302D000227F1CE6
:100BC00004E02078302801D100227F1E002A0997F6
:100BD00086D01DE0112D07DAFFF70CFF3032625589
:100BE0006D1C50EA0102F5D1084302D00098C8B14B
:100BF0000EE00021681E05E0235C625C6354225411
:100C0000401E491C8142F7DBAB46A81B401E0990E1
:100C1000002004F80B000B98099AC0F80880C0E97E
:100C2000002B7CE711264FF0000859E72DE9F04F23
:100C300088460446D21D22F0070191B0D1E9000197
:100C4000CDE90A0102F0D4F802460B98C00F01D09A
:100C50002D2007E02068810701D52B2002E020210C
:100C600001EAC000032A099001D0072A05DB0346E8
:100C70004146204600F00CFB0BE12078800601D5B0
:100C8000E06900E00620B8F1650F814606D0B8F1B2
:100C9000660F18D0B8F1670F70D131E00020B9F1BC
:100CA000110F009001DB112301E009F101030AAAF1
:100CB00001A90CA8FFF7E4FEDDE90C70002609F19C
:100CC0000105834647E001204B4600904FF0004766
:100CD0000AAA01A90CA8FFF7D3FEDDE90DB00C9913
:100CE0005D46002610B909F101000D18B9EB0500A9
:100CF00003D4C0F1FF3609F10105A5EB09002BE093
:100D0000B9F1010F01DA4FF001090020B9F1110F1B
:100D10000090484601DD112300E003460AAA01A91C
:100D20000CA8FFF7ADFEDDE90C704D4600268346AA
:100D3000207800070AD4AB4500DA5D4601A8012DF2
:100D400004DD411911F8011C302907D04F4502DAA2
:100D500017F1040F04DA012082460FE06D1EEEE762
:100D6000002F02DCED1B3E4403E0781CA84200DDAE
:100D70007D1CB81B00F1010A4FF0004720780007E6
:100D800003D4AA4501DB4FF0FF3A0021B7F1004F31
:100D90000DF143088DF8431024D002202B23002F9F
:100DA00001DA7F422D230A21021EA0F1010000DC9E
:100DB0005FB197FBF1FC97FBF1F201FB1C7C17463E
:100DC0000CF1300C08F801CDEEE7A8F1010003703A
:100DD0002188090501D5452100E06521A0F1010820
:100DE00000F8011C09980FA9A1EB0807FF1D00B12D
:100DF0000120411901EBEA70A1693844081A401E2C
:100E0000A0612078C00602D42046FFF78BFA09982B
:100E100028B1D4E901219047206A401C2062207843
:100E2000C00622D52046FFF77DFA1EE0002E04DB27
:100E3000B34502DD01A8805D00E03020D4E9012146
:100E40009047206A401C2062761CAAF101005FEAEC
:100E5000000A0AD100F018FAC0680168405CD4E9C1
:100E600001219047206A401C2062281EA5F101053F
:100E7000DCDC07E0D4E9012118F8010B9047206A77
:100E8000401C2062381EA7F10107F3DC2046FFF763
:100E90005FFA032011B043E62DE9F04F04460D46FA
:100EA000D21D22F0070089B0D0E9009248461746CB
:100EB000394601F09DFF0246F80F01D02D2307E0CF
:100EC0002068810701D52B2302E0202101EAC0031D
:100ED0008DF820300BB1012000E00020032A82466B
:100EE00001D0072A04DB2946204600F0D1F93DE174
:100EF0002078800601D40D2500E0E569C7F30A5685
:100F00000D2D49DA00214FEA175B08464FF000002B
:100F1000002F00F4400007DA00EB80004FF440019E
:100F200000EBD07001EA60008115012901DD4FF06E
:100F3000FF3100224FEA850CBCF1180F06D313468F
:100F4000ACF118004FF08052C24003E04FF4801320
:100F500023FA0CF30CF10C0CBCF1200F04D3ACF110
:100F6000200C09FA0CF001E007FA0CF000294FF010
:100F7000004801DD18B90FE00ED140450CD319EB44
:100F800002095F4121B9404502D19F4329EA020984
:100F9000BBEB175F00D0761C2088000502D57B488C
:100FA000784402E079487844193808AA302302F8D6
:100FB0000A30037C0AF10101002E0AF1020A53549F
:100FC0006A4602DC4FF0300101E04FF031014FF092
:100FD00001088DF8001002D0A6F2FF3603E059EAAE
:100FE000470100D06A4E002D02DC2178090704D5A4
:100FF0004FF002082E218DF80110C44600210BE0AD
:10100000C7F303433F01C35C491C6D1E02F808305F
:10101000052908F1010801DA002DF1DC00210CE0BE
:1010200000EB1973491C1B786D1E082902F8083063
:101030004FEA091908F1010801DA002DF0DC2178E6
:10104000890602D514E0A8F10108E04505DD02EBB0
:10105000080111F8011C3029F5D0B8F1000F07DDA7
:1010600002EB080111F8011C2E2901D1A8F1010899
:10107000002D05DD3E2102F808106D1E08F1010863
:10108000407C002E02F8080008F1010804DA2D2047
:10109000764202F8080002E02B2002F808000A213C
:1010A0004FF47A70864208F101080BDB96FBF0F3EF
:1010B000303302F8083096FBF0F308F1010800FB2A
:1010C000136601E0642E0CDB642096FBF0F33033F2
:1010D00002F8083096FBF0F308F1010800FB1366F4
:1010E00001E00A2E06DB96FBF1F0303002F8080032
:1010F00008F1010896FBF1F001FB1060303002F8B6
:101100000800A16908F1010808EB050202EB0A00DA
:10111000081AA0612078C00602D42046FFF702F921
:10112000216A08AE01EB0A00206204E0D4E9012143
:1011300016F8010B9047BAF1010AF7D22078C006E1
:1011400002D52046FFF7EEF86E4609E016F8010BCF
:101150003E280FD0D4E901219047206A401C20622C
:10116000B8F10108F2D22046FFF7F2F809B00320E7
:10117000BDE8F08F206A2844206203E0D4E9012111
:10118000302090476D1EEBD3F8E700009B2900004C
:1011900002FCFFFF10B5436913B1AFF3008001E01B
:1011A000FFF74EFA012010BD127800F124010A70F9
:1011B00000224A700122EDE711684FF0FF32E9E7A3
:1011C00010B5436913B1AFF3008001E0FFF7F4FA03
:1011D000012010BD128800F1240182840022C28403
:1011E0000122EDE711684FF0FF32E9E770B51646CE
:1011F0000C46054600F040F8036893F80101012809
:1012000006D0FF2C0FD8185D68B101202C7070BD7E
:10121000D3F807013246214603F207130344284658
:10122000BDE8704018474FF0FF3070BD754600F0C4
:10123000E3F8AE4605006946534620F007008546B0
:1012400018B020B5FFF726F8BDE820404FF00006A3
:101250004FF000074FF000084FF0000B21F007019E
:10126000AC46ACE8C009ACE8C009ACE8C009ACE8E1
:10127000C0098D467047000010B500F005F8001D4C
:1012800010BD00BF711D0000004870472C000020F9
:101290002DE9F0411F46044603260168072A01F4A0
:1012A000006004DB08B116A505E016A503E008B14F
:1012B00015A500E015A521F010002060A069C01E52
:1012C000A0610FB1401EA0612046FFF72BF84FB17F
:1012D000D4E9012138469047206A401C2062C01C96
:1012E000206206E0206AFAE7D4E9012115F8010B33
:1012F0009047761EF8D22046FFF72AF8BDE8F08125
:101300004E414E006E616E00494E4600696E6600A9
:101310002DE9F047814616468AB0334878440DC817
:101320008DE80D0030487844801C03AC0DC884E87B
:101330000D0041F69B300844372190FBF1F290FB01
:10134000F1F5A5F1800501FB12041B3C02D56442B6
:10135000012000E00020DFF890A080460027FA443A
:10136000AAF1BE0A0DE0E00709D03246684607EB55
:1013700047010AEB810100F010FB8DE807006410C3
:101380007F1C002CEFD1184F7F44AC3F18E0E807DA
:1013900014D007EB04100DF1180A90E80E008AE84B
:1013A0000E00C068F04201D198190890324606A993
:1013B00003A800F0F2FA03AB83E807006D10641C89
:1013C000002DE4D132466946B8F1000F03A802D0DF
:1013D00000F0CFFA01E000F0E0FAC9E90001C9F835
:1013E00008200AB0BDE8F087B02600000446AFF33D
:1013F00000802046FEF739FF004870470C000020AF
:10140000704700004FF0013C50F8042B51F8043BAA
:101410009A4221D1A2EB0C03934313EACC1317D1C8
:1014200050F8042B51F8043B9A4215D1A2EB0C035F
:10143000934313EACC130BD150F8042B51F8043B1F
:101440009A4209D1A2EB0C03934313EACC13DBD0ED
:101450004FF00000704700BFD01A01BAB1FA81F115
:1014600001F0180122FA01F0CB40C1F12001DBB2FA
:10147000C0B2C01A2CFA01F3D11A914311EAC31178
:10148000E6D1704701491820ABBEFEE726000200F6
:101490005FEA400C08BF91F0000F4FEA8C234FEA3F
:1014A000C12243EA51514FEA1C5018BF00F5F040E9
:1014B0004FEA300018BF41F000415FEA6C5C00F079
:1014C0002980BCF1FF3F08BF40F080407047130CFB
:1014D00006BF12044FF0100C4FF0000C130E04BFA7
:1014E00012020CF1080C130F04BF12010CF1040CD2
:1014F000930F04BF92000CF1020CD30F04BF5200F3
:101500000CF1010C11464FF00002A0F11F00A0EBFE
:101510000C00704711F0004F08BF704731F00041D8
:101520003FF4D5AF0B0C06BF09044FF0100C4FF081
:10153000000C0B0E04BF09020CF1080C0B0F04BFCA
:1015400009010CF1040C8B0F04BF89000CF1020C93
:10155000CB0F04BF49000CF1010CCCF12003A0EB30
:101560000C0022FA03F302FA0CF241EA030100F143
:101570000100704720F07F4C80EA030023F07F4792
:10158000ACEB070303F57C5300F0004003F1FF03CD
:101590002DE980494FEA154B09B44FEA144325EA77
:1015A0000B4E24EA03480FF2042606EB13274908E2
:1015B0003E785FEA320203FB0667C7F5000707FBC8
:1015C00006F64FEA54374FEAD64606F1020607FB05
:1015D000066CCCF1005C4FEA1C472CEA074C07FB79
:1015E00006F40CFB06F504EB15464FEA961634BFDD
:1015F00000204FF000404FEAD13706FB07FC4FEACE
:101600001C4C0CFB0BF7D21B03FB0CF761EB070127
:101610000CFB0EF7B0EB074072EB17420CFB08F720
:1016200034BFA2EB0742B2EB074261EB17414FEA2E
:101630000C444FEA910706FB07FC4FEA1C4C0CFBDD
:101640000BF7B0EBC74072EB573203FB0CF734BF1C
:10165000A2EBC742B2EBC74261EB57310CFB0EF76E
:10166000B0EBC70072EB57720CFB08F734BFA2EB6C
:10167000C702B2EBC70261EB5771039F4FEA81616A
:1016800041EA921104EBCC044FEAD1374FEA82626F
:1016900006FB07FC42EA90124FEA80604FEA1C4CBE
:1016A0000CFB0BF7D21B03FB0CF761EB07010CFBE8
:1016B0000EF7B0EB074072EB17420CFB08F734BF94
:1016C000A2EB0742B2EB074261EB17414FEA8C55A0
:1016D0004FEA910704EB9C2406FB07FC4FEA1C4CE5
:1016E0000CFB0BF7B0EBC74072EB573203FB0CF768
:1016F00034BFA2EBC742B2EBC74261EB57310CFBE0
:101700000EF7B0EBC70072EB57720CFB08F734BF53
:10171000A2EBC702B2EBC70261EB577115EB4C2588
:101720004FEA816141EA92114FEA82624FEAD13772
:1017300042EA901206FB07FC44F100044FEA806085
:101740004FEA1C4C0CFB0BF7D21B03FB0CF761EBB5
:1017500007010CFB0EF7B0EB074072EB17420CFBD6
:1017600008F734BFA2EB0742B2EB074261EB174127
:1017700015EB1C154FEA813141EA92414FEA823262
:1017800042EA90424FEA80304FEA0C7644F100047E
:1017900048EA03434EEA0B484FF0000EB2EB080C48
:1017A00071EB030724BF624639464EEB0E0E4FF035
:1017B000000B0018524149414BEB0B0BB2EB080CEC
:1017C00071EB03077BF1000B24BF624639464EEBF9
:1017D0000E0E4FF0000B0018524149414BEB0B0B22
:1017E000B2EB080C71EB03077BF1000B24BF6246E0
:1017F00039464EEB0E0E51EA020718BF46F00106BD
:1018000016EB0E7655F1000254F1000103D5BDE848
:101810008901BDE80088BDE88901BDE80048B61926
:10182000524141EB0101A3F10103704780807F7EAB
:101830007D7C7B7A79787776767574737271717046
:101840006F6E6E6D6C6C6B6A6A69686867666665F8
:101850006464636362616160605F5F5E5E5D5D5C86
:101860005C5B5B5A5A5959585857575656555555F7
:101870005454535352525251515050504F4F4F4E57
:101880004E4D4D4D4C4C4C4B4B4B4A4A4A494949A5
:1018900048484847474747464646454545444444E7
:1018A000444343434342424242414141002B26D4F8
:1018B000770021D01CB54FEA370703B44FF0100072
:1018C0004FF010014FF000000FBCBDE810400BF1CD
:1018D000010BBBF1010F08BF5FEA170722BF12F12E
:1018E000010211F101014FF0004143F1000300F04A
:1018F000004043EA00007047F9D35708DAE746EAA8
:10190000064613F1400F4FEA16461FDD13F1200F74
:10191000DFBF16430A46002120335B42C8D0C3F123
:10192000200746EA064602FA07F74FEA164646EA55
:101930000706C3F1200722FA03F201FA07F721FA9A
:1019400003F14FF0000342EA0702B1E746EA02065C
:1019500046EA06464FEA164646EA0106BCBF46EA94
:101960000646360C4FF000034FF000024FF0000126
:101970009EE72DE9C048934630B491E8380007C887
:1019800031EA400C48BF34EA430C03D5FFF7F2FDBF
:10199000FFF78CFFF0BCBDE800882DE9C0489346F6
:1019A00030B491E8380007C810F0804F08BF13F03A
:1019B000804F03D100F005F8FFF778FFF0BCBDE8D9
:1019C000008820F07F4780EA030023F07F4C07EB7C
:1019D0000C03A3F57C5300F00040A3F1FE0392F04A
:1019E000000F00F0B38095F0000F00F077802DE934
:1019F00001494FEA11404FEA144621EA004800FB32
:101A000006FC24EA064708FB06F607FB08F800FB7D
:101A100007F718EB06484CEB164C4FEA124B18EB45
:101A200007484FEA15464CEB174022EA0B4E0BFBDA
:101A300006FC25EA06470EFB06F607FB0EFE0BFB2F
:101A400007F71EEB064E4CEB164C4FF000061EEB54
:101A5000074E4CEB174B18EB0B0840F1000018EB4E
:101A60000E0B58EB000840F100008F1A4FF00001F8
:101A70003CBFC943661B14BFB5EB040C00213CBF3F
:101A8000C943F61B4FEA17444EEA8E0E27EA044577
:101A90004FEA1C4704FB07622CEA074C05FB07F7DB
:101AA0000CFB05F604FB0CFC16EB074642EB174259
:101AB00016EB0C4642EB1C421BEB060658EB0202EF
:101AC000414146EA9E0601D5BDE80189B619524159
:101AD00041EB0101A3F10103BDE801894FEA14457F
:101AE0004FEA114724EA054621EA074C05FB07F4B3
:101AF00006FB07F70CFB06F105FB0CFC11EB07419D
:101B000044EB17444FEA124711EB0C4144EB1C44E1
:101B100022EA074C05FB07F206FB07F70CFB06F66B
:101B200005FB0CFC16EB074642EB174216EB0C4686
:101B300042EB1C456A1854F1000148BF7047B619C2
:101B4000524141EB0101A3F10103704795F0000FF1
:101B500037D04FEA11424FEA144721EA024624EAFD
:101B6000074C02FB07F106FB07F70CFB06F402FB30
:101B70000CFC14EB074441EB17414FEA154714EBFB
:101B80000C4441EB1C4125EA074C02FB07F506FB20
:101B900007F70CFB06F602FB0CFC16EB074645EBC1
:101BA000174516EB0C4645EB1C42121951F100018A
:101BB00048BF7047B619524141EB0101A3F101033F
:101BC00070474FEA14454FEA114724EA054621EAD7
:101BD000074C05FB07F106FB07F70CFB06F24FF07D
:101BE000000605FB0CFC12EB074241EB174112EB20
:101BF0000C4251EB1C4148BF7047921841EB010168
:101C0000A3F101037047000010B54FF400700349C1
:101C100008607321012000F047F910BD1018014041
:101C200010B5082810DA174A126884000F23A34061
:101C30009A43144B1A601A461268830001FA03F3A0
:101C40001A43104B1A6016E00E4A121D1268A0F1DA
:101C500008039C000F23A3409A430A4B1B1D1A60E4
:101C60001A461268A0F108039B0001FA03F31A4315
:101C7000044B1B1D1A604FF47C42024B14331A6054
:101C800010BD00000018014010B5002400F062F8FB
:101C900004E0601CC4B2012001F0C6F80F480068DF
:101CA00000F4805008B1C82CF3DBC82C01DB012004
:101CB00010BD002404E0601CC4B2012001F0B4F89F
:101CC0000648006800F4805008B9F02CF3DBF02CD3
:101CD00001DB0120ECE70020EAE7000008140140E6
:101CE0002DE9F05F00F0A4F800F08CF8FFF7CCFFCE
:101CF000CC2000F0A9F8BE2000F0A6F800F070F8A3
:101D0000824600F06DF80446072C08DDE043C4B2BB
:101D10006FEA0A0000F0FF0A4FF0FF3901E04FF0D0
:101D200001094AEA04200FFA80F9484601F01EFC36
:101D3000834601F0A3FA07460022054B01F0A0F903
:101D4000054601F06DF90FFA80F94846BDE8F09FAD
:101D50000000E43F0548006820F470200349086053
:101D60000846006840F48020086070470414014071
:101D70000548006820F470200349086008460068A0
:101D800040F44030086070470414014000B500F092
:101D900039F8FFF779FF00BD10B5FFF7E9FF4FF401
:101DA00080500E490860022001F03EF84FF4805048
:101DB0000A49091F0860FFF7CDFF0C2001F034F835
:101DC00006480C38006800F4805008B1012400E097
:101DD0000024322001F028F8204610BD14140140E0
:101DE00070B50026012508E0FFF7D6FF0446E001A4
:101DF00040EA6600C6B2681CC5B2082DF4DD304664
:101E000070BD000000B5FFF7B3FF4FF480500749E5
:101E1000086040F2EE2001F007F84FF480500349CB
:101E2000091F08600F2000F0FFFF00BD14140140DF
:101E300000B5FFF7E7FFFFF727FFCC2000F004F81D
:101E4000442000F001F800BD70B50446FFF790FF94
:101E5000012524E004F0010664107EB14FF48050A7
:101E600010490860022000F0DFFF4FF480500D4958
:101E7000091F08603C2000F0D7FF0EE04FF48050AF
:101E8000084908603C2000F0CFFF4FF4805005491E
:101E9000091F0860022000F0C7FF681CC5B2082DAA
:101EA000D8DD70BD1414014038B50A460021174B27
:101EB0006D2A12D06E2A04D0732A15D0752A17D134
:101EC00005E0124C4443124DB4FBF5F111E00F4C08
:101ED0004443104DB4FBF5F10BE00C4C44434FF47C
:101EE0007A75B4FBF5F104E0084C00FB04F100E066
:101EF00038BD00BF0024009403E000BF009C641CB8
:101F00000094009C8C42F8D300BFF1E700A24A0481
:101F100000CA9A3B40420F0010B513A000F092FB9C
:101F20001B48006800F4004058B11A48806800F46B
:101F3000004018B118A000F029FB02E021A000F039
:101F400025FB1348006800F0400058B1284800689D
:101F500000F0400018B127A000F018FB02E02FA00D
:101F600000F014FB10BD000048656C6C6F2C204421
:101F7000697374616E63655F5377697463685F4901
:101F80006E74657272757074696F6E210A0000005C
:101F90001404014000200140504731353A20E68EBC
:101FA000A5E8BF9120284E504EE4BCA0E6849FE5F2
:101FB00099A8202D20E9AB98E794B5E5B9B3290A93
:101FC00000000000504731353A20E8BF9CE7A6BB2F
:101FD00020284E504EE4BCA0E6849FE599A8202D11
:101FE00020E4BD8EE794B5E5B9B3290A00000000EE
:101FF000081401405044363A20E68EA5E8BF9120EF
:1020000028504E50E4BCA0E6849FE599A8202D20DE
:10201000E9AB98E794B5E5B9B3290A005044363ADC
:1020200020E8BF9CE7A6BB2028504E50E4BCA0E6A9
:10203000849FE599A8202D20E4BD8EE794B5E5B9ED
:10204000B3290A0010B50748006800F0010040B14C
:10205000062000F08FFB0348006840F001000149B2
:10206000086010BD1404014010B50D48006800F46C
:10207000804010B1042000F07DFB0948006800F4A6
:10208000004058B107A000F081FA052000F072FB73
:102090000348006840F400400149086010BD00009A
:1020A00014040140455854493135207472696767FA
:1020B000657265640A00000010B50748006800F00A
:1020C000040040B1022000F055FB0348006840F0D6
:1020D00004000149086010BD1404014010B50E4809
:1020E000006800F0400040B1052000F043FB0A48C2
:1020F000006840F04000084908600748006800F4A4
:10210000007040B1062000F035FB0348006840F441
:1021100000700149086010BD1404014010B50AA008
:1021200000F034FA0F48006800F0040058B10E487F
:10213000006800F0040018B10CA000F027FA02E0DB
:1021400014A000F023FA10BD456D657267656E63DB
:10215000795F53746F705F496E74657272757074D5
:102160000A00000014040140081801405045323AAA
:1021700020E68AACE8B5B72028E680A5E5819CE694
:102180008C89E992AE202D20E9AB98E794B5E5B9AA
:10219000B3290A005045323A20E68C89E4B88B20F6
:1021A00028E680A5E5819CE68C89E992AE202D2069
:1021B000E4BD8EE794B5E5B9B3290A0000F01F022B
:1021C000012191404209920002F1E022C2F800117F
:1021D0007047000010B5002807DA0A07140E054AF8
:1021E00000F00F031B1FD45403E00A07130E024A2A
:1021F000135410BD18ED00E000E400E070B5254870
:102200000068C0F3803424480078844241D0012C17
:102210000ED12248007858B90020A10788840846CA
:10222000008840F00100088001201C49087028E067
:10223000002C26D119480078012822D18007808CF3
:10224000174908604FF08040008820F001004FF0EF
:102250008041088000208884104908701048006878
:1022600001F09CF905460F4901F0E0F90E490860BC
:102270000B4801680DA000F0E5F90B48006800F07C
:102280008BF91748006840F48040154908600248FF
:10229000047070BD081401400900002008000020EF
:1022A0000000002096438B3C040000204558544910
:1022B00031345F49525148616E646C6572205075CB
:1022C0006C73652054696D653A2025752075732CF3
:1022D00064697374616E63655F636D3A200A000020
:1022E0001404014010B51148006800F4007058B1A2
:1022F0000F48006800F4007018B10EA000F0A2F9B9
:1023000002E018A000F09EF90848006800F0010003
:1023100058B12048006800F0010018B11EA000F07C
:1023200091F902E028A000F08DF910BD14040140DD
:10233000080C01405042393A20E789A9E4BD93E9ED
:1023400081AEE68CA120284E504E20E4BCA0E6844D
:102350009FE599A8202D20E9AB98E794B5E5B9B39E
:10236000290A00005042393A20E789A9E4BD93E7E1
:10237000A7BBE5BC8020284E504E20E4BCA0E684DC
:102380009FE599A8202D20E4BD8EE794B5E5B9B36B
:10239000290A0000081801405045303A20E789A971
:1023A000E4BD93E981AEE68CA120284E504E20E496
:1023B000BCA0E6849FE599A8202D20E9AB98E7947E
:1023C000B5E5B9B3290A00005045303A20E789A99C
:1023D000E4BD93E7A7BBE5BC8020284E504E20E427
:1023E000BCA0E6849FE599A8202D20E4BD8EE7944B
:1023F000B5E5B9B3290A000070B505460C46072DAE
:102400006ED2DFE805F004132231404F5E0034B194
:102410003648006840F400503449086005E033480D
:10242000006820F40050314908605DE034B12F4865
:10243000006840F480402D49086005E02B480068A2
:1024400020F48040294908604EE034B127480068F4
:1024500040F400402549086005E02448006820F465
:102460000040224908603FE034B12148C06840F094
:1024700001001F49C86005E01D48C06820F0010048
:102480001B49C86030E034B11948C06840F0020010
:102490001749C86005E01648C06820F002001449DA
:1024A000C86021E034B11348006840F08000114951
:1024B000086005E00F48006820F080000D490860C2
:1024C00012E034B10B48006840F48070094908609C
:1024D00005E00848006820F480700649086003E0C1
:1024E00005A000F053F800BF00BF70BD0C1C0140F8
:1024F000002001400C180140E4B88DE5AD98E59C42
:10250000A8E99880E997A821200A000030B107497E
:10251000096821F40061054A116005E00349096872
:1025200041F40061014A1160704700000C1C014039
:1025300030B10749C96841F02001054AD16005E082
:102540000349C96821F02001014AD16070470000A9
:102550000010014010B575210420FFF7A5FC4FF4D1
:1025600080400649086075210F20FFF79DFC4FF45D
:1025700080400249091D086010BD0000101801408C
:1025800000B500F0C5FB00F0E5FB00BD10B504464A
:10259000204600F0FDFB10BD2DE9F04F91B006463E
:1025A0000021304601F00EF801D2012000E00020A9
:1025B00007460FB186F00046304600F0BBFF82466A
:1025C000504600F0D3FF8346314601F0FBF88146C8
:1025D000164901F02BF8804600F0ACFF05463FB1EC
:1025E000534613A2402101A80095FDF77FFE06E0A7
:1025F000534612A2402101A80095FDF777FE01A8DD
:10260000FDF7B8FF01A90844441E02E00020207035
:10261000641E2078302803D114F8010C2E28F5D13F
:1026200001A8FFF7B3FF11B0BDE8F08F00401C46D2
:102630002D25642E253034640000000025642E25ED
:10264000303464000FB410B5C2B045A801904FF407
:10265000807102A8019B449AFDF72EFE0446002CCF
:1026600003DB02A800F094FB02E004A000F090FB62
:102670000020019042B010BC5DF814FB466F726DF3
:102680006174206572726F720000000010B500F076
:1026900001F810BD0CB5002001900090334800688F
:1026A00040F480303149086000BF3048006800F4D1
:1026B000003000900198401C0190009818B90198D2
:1026C000B0F5A06FF1D12948006800F4003010B1D6
:1026D0000120009001E0002000900098012843D1E3
:1026E0002348006840F0100021490860084600684F
:1026F00020F0030008600846006840F0020008600F
:102700001A484068194948600846406848600846C9
:10271000406840F4806048600846406820F47C10BF
:1027200048600846406840F4E81048600846006881
:1027300040F08070086000BF0C48006800F0007036
:102740000028F9D00948406820F003000749486094
:102750000846406840F00200486000BF03484068F7
:1027600000F00C000828F9D10CBD00000010024058
:102770000020024010B50446072C13D2DFE804F015
:1027800004050612090C0F000DE00CE0FFF7C6FC73
:1027900009E0FFF733FD06E0FFF7BEFB03E0FFF7BC
:1027A000A1FD00E000BF00BF10BD000010B5134840
:1027B000006840F00100114908600846406810496F
:1027C00008400E494860084600680E4908400B4919
:1027D00008600846006820F48020086008464068C9
:1027E00020F4FE0048604FF41F008860FFF74EFFA2
:1027F0004FF000600449086010BD00000010024066
:102800000000FFF8FFFFF6FE08ED00E00848C06991
:1028100040F001000649C86147208904088547F255
:102820002F5088850846008820F0100008807047E7
:1028300000100240164AD26942F00202144BDA61DB
:10284000144A1080121D1180124A103A128822F088
:102850007002104B103B1A801A46128842F0600238
:102860001A800C4A083A128842F00102094B083BD0
:102870001A804FF4FA72074B0C331A80054A283A33
:10288000128842F00102034B283B1A807047000077
:102890000010024028040040164AD26942F00202A9
:1028A000144BDA61144A1080121D1180124A103A3A
:1028B000128822F4E042104B103B1A801A4612880C
:1028C00042F4C0421A800C4A083A128842F01002C0
:1028D000094B083B1A804FF4FA72074B10331A80E9
:1028E000054A283A128842F00102034B283B1A801D
:1028F0007047000000100240280400400848C069EA
:1029000040F020000649C8614720064908804FF67C
:10291000FF70091D088000200249091F08807047C8
:10292000001002402814004010B56048604908605B
:102930006048406920F470615E484161406940F43C
:1029400040715C4841615C48006840F480405A49ED
:102950000860081D006840F48040091D0860564862
:102960000838006840F4804053490839086028203E
:10297000FFF724FC06212820FFF72CFC4D48C068F7
:1029800020F470614B48C160C06840F44071494810
:10299000C160406920F4704146484161406940F49B
:1029A000C041444841614448006848F2400108433E
:1029B00041490860081D006848F2400108433E494B
:1029C000091D08603C480838006848F24001084387
:1029D0003949083908603748006920F0F001354866
:1029E0000161006940F0100132480161806820F007
:1029F0000F00304988600846806840F00400886015
:102A00002D48006840F2012108432B490860081D49
:102A1000006840F2012108432749091D0860264843
:102A20000838006840F2012108432349083908604A
:102A30001720FFF7C3FB0C211720FFF7CBFB062065
:102A4000FFF7BCFB0D210620FFF7C4FB1948806887
:102A500020F47060174988600846806840F4806000
:102A600088601548001D006820F004001249091D07
:102A70000860081F006820F00400091F0860081D96
:102A8000006840F00400091D08600B480838006821
:102A900040F004000849083908600820FFF78EFB61
:102AA00000210820FFF796FB10BD00000002FA0588
:102AB0000CED00E000000140080401408C488069F2
:102AC00040F010008A4988610846806940F0800023
:102AD00088610846806940F4807088610846806992
:102AE00040F0400088610846806940F0200088611D
:102AF0000846806940F0080088610846806940F017
:102B0000010088617B48006820F0706079490860A6
:102B10000846006840F0306008600846006820F40D
:102B2000700008600846006840F440100860724871
:102B3000006820F47040704908600846006840F45E
:102B4000405008606B48006820F070406949086098
:102B50000846006840F0304008606748006820F48C
:102B60007020654908600846006840F440300860FD
:102B70006048006820F470205E49086008460068DC
:102B800040F4403008605D48406840F440605B4974
:102B900048605948006820F47000574908600846AA
:102BA000006840F4401008600846006820F070603B
:102BB00008600846006840F04070086008460068F9
:102BC00020F0405008600846006840F0405008601F
:102BD0004B48006820F00F0049490860084600682B
:102BE00040F0030008600846006820F0F00008602C
:102BF0000846006840F0300008604248006820F055
:102C00007040404908600846006840F04050086045
:102C1000081D006820F00F00091D086008460068C4
:102C200040F0030008603848006820F070603649C2
:102C300008600846006840F08060086030484068DE
:102C400020F070402E4948600846406840F08040BF
:102C500048602D48001F006820F070602A49091F55
:102C600008600846006840F08060086027480068F7
:102C700020F0F000254908600846006840F0400058
:102C800008602048006820F00F001E4908600846D0
:102C9000006840F0040008601B48006820F47020C1
:102CA000194908600846006840F44030086015483B
:102CB000006820F47060134908600846006840F41A
:102CC000006008600F480C30006840F004000D49B7
:102CD0000C3108600B48001D006820F0F000094925
:102CE000091D08600846006840F030000860704721
:102CF0000010024000100140041C0140000001408F
:102D0000002001400018014004140140040C01405F
:102D10000E48806944F2040108430C4988610C485C
:102D2000006820F0F0000A4908600846006840F09A
:102D3000B00008600846006820F47060086008462B
:102D4000006840F480600860704700000010024096
:102D50000408014040F271200549088042F20C004D
:102D6000091D08800020091D0880091D0880704782
:102D70000838014000BF0549098801F08001002999
:102D8000F9D0C1B2014A121D1180704700380140CC
:102D900000B5034603E013F8010BFFF7EBFF1878CB
:102DA0000028F8D100BD000030B10749096821F4BE
:102DB0000061054A116005E00349096841F40061BA
:102DC000014A1160704700000C1C014030B10749F6
:102DD000C96841F02001054AD16005E00349C9688E
:102DE00021F02001014AD16070470000001001402D
:102DF000490050EAC12018BF04204A0D18BF40F016
:102E0000010040F2FF72B2EB515F08BF40F00200D8
:102E1000012808BF0520704730380A2801D2012058
:102E200070470020704700004FF6FF72121A521FC1
:102E300091B20D4A11800C4A243A128842F00102E4
:102E4000094B243B1A8000BF074A12884FF6FA73D9
:102E50009A42F9DB044A243A128822F00102024B1A
:102E6000243B1A80704700002414004088B0FFF70C
:102E700025FEFFF759FDFFF783FB1C22324901A80D
:102E8000FDF797FBBDF81E10BDF81C00FFF7D2FC44
:102E9000BDF81E10BDF81C00FFF7FEFC00BF9DF83A
:102EA0000800FFF745FB0120FFF730FB9DF8080005
:102EB000FFF78CFF0120FFF777FF01210020FFF7CC
:102EC0009BFAFEF7A1FE03210E20FEF7A9FEFFF7F5
:102ED0009DFCFFF73FFBFFF711FD02E01BA0FFF792
:102EE00055FBFEF753FF0028F8D11FA0FFF74EFB5C
:102EF00028E0FEF7F5FE054600F038FB04462046C4
:102F0000FFF74AFB0021204600F05CFB0DD21E4972
:102F1000204600F04DFA074600F0B0F905462A4673
:102F20000B461AA0FFF78EFB0CE01749204600F075
:102F30003FFA074600F0A2F905462A460B461BA0B9
:102F4000FFF780FBD5E70000CC3800084453313848
:102F500042323020636865636B6564206661696C2A
:102F600065642121210D0A0044533138423230205A
:102F7000636865636B656420737563636573732150
:102F800021210D0A000000000000204174656D70D1
:102F900065726174757265203D202D252E32662084
:102FA0006465677265650D0A0000000074656D70E8
:102FB00065726174757265203D20252E326620642D
:102FC00065677265650D0A0010B500290AD008789A
:102FD000002807D005487844FEF714FA002801D0ED
:102FE000002010BD0248784410BD0000320A0000E5
:102FF0002A0A000010B500290AD00878002807D056
:1030000005487844FEF7FEF9002801D0002010BDE5
:103010000248784410BD0000220A00001A0A00008D
:103020004FEA41034FEA5353A3F58063D3F11E03E4
:10303000C8BFD3F1210C0CDD4FF0004242EAC1229F
:1030400042EA505232FA03FC8CEAE17CACEBE170CC
:103050007047102BC4BF0020704703F5787CBCF18B
:10306000FF3F04D06FF0004282EA2100704770B544
:1030700000F0B0F84992248000207047F2E7000089
:10308000DFF848C170B51CEA111E1EBF1CEA1315FB
:103090009EEA0C0F95EA0C0F00F06F8081EA0304A2
:1030A00023EA4C134EEAD47E21EA4C1141F48011FC
:1030B00043F48013AE44A1FB024CA0FB0365AEF1C8
:1030C0007F7E361955EB0C05A1FB034C4CF1000338
:1030D000A0FB021C16EB0C06654153F100030942EC
:1030E00018BF46F0010613F4007F0BD14FEA0331FD
:1030F0004FEA0530340341EA155140EA16506FF0AB
:1031000003020AE04FEAC3214FEAC520F40241EA74
:10311000555140EA56506FF0020202EB2E4201EB8D
:10312000025585EACE710AD05FEA440C18BF24F03C
:10313000004450F1000041F1000120EAD47040F257
:10314000FE7C624500D270BDA84214BF4FF080449F
:103150004FF04044002E08BF0024BEF1806FA8BF8E
:10316000A1F1C041BDE8704080F282804FF00000C4
:1031700001F1C04101F0004170479EEA0C0F0CEADA
:10318000131518BF95EA0C0F06D04FF0000081EA26
:10319000030E0EF0004170BD00F01CF88900013EE6
:1031A00000F007B800F009B84FEA430C5FEA5C5C36
:1031B00008D081EA030100F05BB84FEA410C5FEAF6
:1031C0005C5CF6D14FF00000014970470000FF073A
:1031D0000000F87F0EF1020E2EF0030E5EF8046B75
:1031E000364205D4012A43EB030515F5001F12D81A
:1031F000012841EB010C1CF5001F0CD80ED14FEA41
:10320000D17C15F5001F0CEB4C0C0CF1020C08BF27
:103210004CEBD37C04E04FF0080C01E04FEAD37C88
:103220000CEB4C0526FA05F606F00706B6F1040C81
:1032300006D20EEB860CBDE870404CF0010C6047E6
:10324000DFE80CF0090B02024FF000414FF00000E4
:10325000A1F5002170BD19461046012851EB01046B
:1032600018BFD4F5001484BF002001F0004170BDE8
:103270000808A0F500114FEA3101704743004FEAFA
:10328000D30C4FEA3C0C43401FBF40070CF1605188
:1032900013F0FE4F70471CF0006F03D100200CF0BC
:1032A000004170470CF0004343EA507010B540EA0B
:1032B000CC0000F03CFA00BF000000924FEA000191
:1032C000FFF7D6BF4FF000414FF00000A1F50021FD
:1032D0007047000090EA010F48BF81F0004100F103
:1032E0008282421A3CBF801A89184FEAD0524FF0AE
:1032F0007F4C1CEA410FA2EBD15318BF9CEA026F2E
:1033000000F03B804FF0004C4CEA00204CEA0121D9
:1033100021FA03FC10EB0C0C1ED202F1FF325FEA23
:103320001C2040EBC25038BF70471CF07F0F4FEAA3
:10333000400C18BFBCF17F4F38BF7047C3F120036A
:10334000994008BF20F00100BCF17F4F38BF7047A3
:10335000A0F1C04000F031BA4FEA3C00000A40EB57
:10336000C25028BF1CF0FF0F4FEA400CE6D018BF38
:10337000BCF17F4F38BF7047EAE79CEA026F05D087
:1033800010EA5C0F08BF00F00040704710B500F075
:10339000CEF900BF64FBBE3E401058BFC0F14040B4
:1033A000491058BFC1F140418142EFF3008070479E
:1033B0004FF47F0C1CEAD0121EBF1CEAD11392EA14
:1033C0000C0F93EA0C0F00F0858090EA010F48BFC4
:1033D00042F4807240F4000C41F400002CF07F4174
:1033E00020F07F4000B58142A2EB03020FF2081CDF
:1033F000ACEB504EC0F100009EF800E04FEA4E0EDC
:1034000000FB0EFC38BF49004FEA2C1C02F5FA0203
:103410000CFB0EF34FEACE1E4FEA112C4FEAC121EE
:103420000EEB635E42EB22420EFB0CFC4FEA1C5398
:1034300000FB03114FEA112C4FEA01310EFB0CFC8B
:103440004FEADC4C00FB0C11C14228BF09184CEBC1
:1034500003335DF804EB10EB410143EBC250B2F5CE
:103460007C0F38BF704729D512F0F00F1CBF00F158
:10347000C04000F0004070470081828384858687C9
:1034800088898B8C8D8E8F919293959697999A9C23
:103490009D9FA0A2A3A5A7A8AAACAEB0B2B3B5B792
:1034A000B9BCBEC0C2C5C7C9CCCED1D4D7D9DCDF68
:1034B000E2E6E9ECF0F3F7FAFE0000004FEA400C18
:1034C0000CF1807CBCF17E4F28BF7047B0F1C0404A
:1034D00000F073B990EA010F0CEAD11348BF42F42F
:1034E0008072624538BF634507D213F47F0F16D050
:1034F00080EA010000F00040704710B500F017F9B5
:10350000097EFC3E00F005B880EA010000F00040B2
:10351000704780EA010000F0004000F04EB912F45C
:103520007F0F04BF0248704780EA010000F045B9F0
:103530000000C07F41000B0ED3F19E0208D950F469
:1035400000034FEA032323FA02F048BF40427047CA
:1035500010B500F0ECF800BF4992248000207047BD
:103560006FF0004282EA20007047000010F0004136
:1035700048BF4042B0FA80F310FA03F2C3F19D0352
:103580000BD051EAC35101EB1220530638BF7047EC
:1035900000F1010008BF20F001007047B0FA80F38D
:1035A00010FA03F2C3F19D030AD0D90501EB1220F2
:1035B000530638BF704700F1010008BF20F001003A
:1035C0007047000050EA010C00F113801CF5000F59
:1035D00058BFBCF5000F01D48842704707D710F5DB
:1035E000000F58BF11F5000F15D48842704789426B
:1035F00070471CF5000F04D5BCF5000FF7D58142CC
:1036000070474FF0807C1CEB400F38BF1CEB410F24
:1036100001D28142704710B500F089F89224490028
:103620004FF000504FF08051FFF7B6BE4FF47F0CC3
:103630001CEAD0121EBF1CEAD11392EA0C0F93EAC7
:103640000C0F00F0478090EA010F48BF42F48072EF
:103650004FF0004C4CEA00204CEA012102EB03023F
:10366000A0FB0113A2F50002002918BF43F00103DB
:103670005B0028BF4FEA330342EB22425FEA132C80
:103680004CEBC2502EBFBCEB436FB2F57C0F7047C2
:103690004FEA036CBCF1004F08BF20F00100B2F507
:1036A0007C0F38BF70470BD582F0FF0212F5803FC8
:1036B000C8BF704700F1C040D8BF00F0004070475D
:1036C00000F5000C5FEA4C0C48BF7047B0F1C040F9
:1036D00000F073B890EA010F0CEAD11348BF42F42E
:1036E0008072624538BF634504D280EA010000F071
:1036F0000040704710B500F01AF800BF8900013E85
:1037000000F007B800F009B85FEA410C5FEA1C6CF2
:1037100008D080EA010000F050B85FEA400C5FEA90
:103720001C6CF6D14FF00040A0F5800070470EF100
:10373000020E2EF0030E5EF8044B244204D44FEA2E
:103740004102B2F17F4F11D84FEA4003B3F17F4FEE
:103750000CD80ED14FEAD07CB2F17F4F0CEB4C0C61
:103760000CF1020C08BF4CEBD17C04E04FF0080CCC
:1037700001E04FEAD17C0CEB4C0324FA03F404F093
:103780000704B4F1040C06D20EEB840CBDE8104023
:103790004CF0010C6047DFE80CF0070802024FF024
:1037A0000040A0F5800010BD0846420018BFD2F1CD
:1037B000807288BF00F0004010BDFF2141EAD05068
:1037C000C005704780F0004090EA010F7FF589AD99
:1037D00081F0004100F007B890EA010F48BF81F086
:1037E00000413FF57EAD421A04D882F00042A0EBC2
:1037F000020011444FEAD0524FF07F4C1CEA410FB7
:10380000A2EBD15318BF9CEA026F4AD04FF0004C94
:103810004CEA00204CEA012121FA03FCB0EB0C0C2D
:103820000FD412F0FE0F36D05FEA4C001DD5001207
:1038300040EBC25038BF70471CF03F0F18BF7047B5
:103840000BE0A2F101025FEA1C2040EBC25038BF3E
:1038500070471CF07F0F18BF7047C3F120039940D9
:1038600014BF401E20F00100704780084FEA122369
:1038700008BF7047B0FA80FCA2EB0C02CCF1280C18
:1038800060FA0CF093EA122F04BF00EBC2507047AD
:103890004FEAC3707047130A5FEADC1008BF704735
:1038A000F6E79CEA026F04D010EA5C0F08BF002024
:1038B000704710B5FFF73BFF40DFF63E81F0004058
:1038C0007047FDF7B3B9FDF7E7BA0000000000004C
:1038D0000100000000009F24000000000000000024
:1038E000E803E8034700E7030400000800000000C5
:1038F00000000002000100001000000000000000B5
:103900000000000030313233343536373839414227
:103910004344454640305800303132333435363731
:103920003839616263646566403078003031323323
:1039300034353637383961626364656678700030D3
:1039400031323334353637383941424344454658AD
:103950005000000002400000000000A00000000035
:1039600005400000000000C8000000000C400000FE
:103970000000409C00000000194000000020BCBE78
:103980000000000034400000BFC91B8E000000048E
:10399000B5400000504BCFD06607E2CF01000000D9
:1039A0006C4100003E8251AADFEEA7340100000006
:1039B000D9420000DCB5A0E23A301F97FFFFFFFFBD
:1039C000B4450000FD25A0C8E9A3C14FFFFFFFFFDC
:1039D000FF3F00000000008000000000FF3F0000EB
:1039E0000000008000000000343B000800000020C0
:1039F0000C0000006C010008403B00080C00002097
:103A000064060000880100081C000000430000005C
:103A1000F8FFFFFF0C0000000E0000000F00000088
:103A20002E0000001001000043000000F8FFFFFF1F
:103A300000404040404040404040414141414140C1
:103A40004040404040404040404040404040404076
:103A50004005020202020202020202020202020205
:103A6000022020202020202020202002020202020A
:103A70000202909090909090101010101010101062
:103A8000101010101010101010101010020202026E
:103A900002028888888888880808080808080808B2
:103AA00008080808080808080808080802020202AE
:103AB00040000000000000000000000000000000C6
:103AC00000000000000000000000000000000000F6
:103AD00000000000000000000000000000000000E6
:103AE00000000000000000000000000000000000D6
:103AF00000000000000000000000000000000000C6
:103B000000000000000000000000000000000000B5
:103B100000000000000000000000000000000000A5
:103B20000000000000000000000000000000000095
:103B30000000000000000000000000000000000085
:0400000508000131BD
:00000001FF
This source diff could not be displayed because it is too large. You can view the blob instead.
Dependencies for Project 'MotorControl', Target 'PWM': (DO NOT MODIFY !)
F (.\main.c)(0x6720B343)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
F (.\main.c)(0x67233B8D)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\main.o --omf_browse .\objects\main.crf --depend .\objects\main.d)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cm3.h)(0x5714AE54)
......@@ -11,17 +11,17 @@ I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.
I (.\Module\Inc\rotate_motor.h)(0x6718AEFF)
I (.\Module\Inc\motor_common.h)(0x6718AC7D)
I (C:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
I (.\Module\Inc\walking_motor.h)(0x6719AF6C)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\walking_motor.h)(0x6720BF4F)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
I (.\Module\Inc\common.h)(0x671F8315)
I (.\Module\Inc\buzzer.h)(0x671A184C)
I (.\Module\Inc\pneumatic_solenoid.h)(0x6718D44F)
I (.\Module\Inc\temperature_sensor.h)(0x671226BD)
I (.\Module\Inc\ds18b20.h)(0x6720A65E)
I (.\Module\Inc\parking_sensor.h)(0x67209827)
F (.\Module\Inc\uart_log.h)(0x66F3E910)()
F (.\Module\Src\uart_log.c)(0x67204CB8)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\uart_log.o --omf_browse .\objects\uart_log.crf --depend .\objects\uart_log.d)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\ds18b20.h)(0x67233A7C)
I (.\Module\Inc\parking_sensor.h)(0x6722D8C5)
F (.\Module\Inc\uart_log.h)(0x6721D22B)()
F (.\Module\Src\uart_log.c)(0x6721F425)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\uart_log.o --omf_browse .\objects\uart_log.crf --depend .\objects\uart_log.d)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cm3.h)(0x5714AE54)
......@@ -33,7 +33,7 @@ I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.
I (C:\Keil_v5\ARM\ARMCC\include\stdarg.h)(0x5475F2FA)
I (C:\Keil_v5\ARM\ARMCC\include\string.h)(0x5475F300)
I (C:\Keil_v5\ARM\ARMCC\include\stdio.h)(0x5475F300)
F (.\Module\Inc\walking_motor.h)(0x6719AF6C)()
F (.\Module\Inc\walking_motor.h)(0x6720BF4F)()
F (.\Module\Inc\rotate_motor.h)(0x6718AEFF)()
F (.\Module\Src\rotate_motor.c)(0x671B437F)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\rotate_motor.o --omf_browse .\objects\rotate_motor.crf --depend .\objects\rotate_motor.d)
I (.\Module\Inc\rotate_motor.h)(0x6718AEFF)
......@@ -59,9 +59,9 @@ I (C:\Keil_v5\ARM\CMSIS\Include\core_cmInstr.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
F (.\Module\Src\parking_sensor.c)(0x6720B33E)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\parking_sensor.o --omf_browse .\objects\parking_sensor.crf --depend .\objects\parking_sensor.d)
I (.\Module\Inc\parking_sensor.h)(0x67209827)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
F (.\Module\Src\parking_sensor.c)(0x6722ED0C)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\parking_sensor.o --omf_browse .\objects\parking_sensor.crf --depend .\objects\parking_sensor.d)
I (.\Module\Inc\parking_sensor.h)(0x6722D8C5)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cm3.h)(0x5714AE54)
......@@ -71,10 +71,10 @@ I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\common.h)(0x671F8315)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
F (.\Module\Inc\common.h)(0x671F8315)()
F (.\Module\Inc\parking_sensor.h)(0x67209827)()
F (.\Module\Src\common.c)(0x6720BD8F)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\common.o --omf_browse .\objects\common.crf --depend .\objects\common.d)
F (.\Module\Inc\parking_sensor.h)(0x6722D8C5)()
F (.\Module\Src\common.c)(0x6722E417)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\common.o --omf_browse .\objects\common.crf --depend .\objects\common.d)
I (.\Module\Inc\common.h)(0x671F8315)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
......@@ -84,13 +84,13 @@ I (C:\Keil_v5\ARM\CMSIS\Include\core_cmInstr.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\parking_sensor.h)(0x67209827)
I (.\Module\Inc\parking_sensor.h)(0x6722D8C5)
I (.\Module\Inc\distance_switch.h)(0x6718D48C)
I (.\Module\Inc\photoelectric_switch.h)(0x6719AC13)
I (.\Module\Inc\emergency_stop.h)(0x6718D4AA)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
F (.\Module\Inc\distance_switch.h)(0x6718D48C)()
F (.\Module\Src\distance_switch.c)(0x6719FB3A)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\distance_switch.o --omf_browse .\objects\distance_switch.crf --depend .\objects\distance_switch.d)
F (.\Module\Src\distance_switch.c)(0x6721A623)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\distance_switch.o --omf_browse .\objects\distance_switch.crf --depend .\objects\distance_switch.d)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cm3.h)(0x5714AE54)
......@@ -99,10 +99,10 @@ I (C:\Keil_v5\ARM\CMSIS\Include\core_cmInstr.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
I (.\Module\Inc\distance_switch.h)(0x6718D48C)
F (.\Module\Inc\photoelectric_switch.h)(0x6719AC13)()
F (.\Module\Src\photoelectric_switch.c)(0x6719E7CC)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\photoelectric_switch.o --omf_browse .\objects\photoelectric_switch.crf --depend .\objects\photoelectric_switch.d)
F (.\Module\Src\photoelectric_switch.c)(0x6721A623)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\photoelectric_switch.o --omf_browse .\objects\photoelectric_switch.crf --depend .\objects\photoelectric_switch.d)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cm3.h)(0x5714AE54)
......@@ -112,7 +112,7 @@ I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\photoelectric_switch.h)(0x6719AC13)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
F (.\Module\Inc\temperature_sensor.h)(0x671226BD)()
F (.\Module\Inc\onewire.h)(0x671B0B89)()
F (.\Module\Src\onewire.c)(0x671B1061)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\onewire.o --omf_browse .\objects\onewire.crf --depend .\objects\onewire.d)
......@@ -137,10 +137,10 @@ I (C:\Keil_v5\ARM\CMSIS\Include\core_cmInstr.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
I (C:\Keil_v5\ARM\ARMCC\include\stddef.h)(0x5475F300)
F (.\Module\Inc\emergency_stop.h)(0x6718D4AA)()
F (.\Module\Src\emergency_stop.c)(0x671A01AA)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\emergency_stop.o --omf_browse .\objects\emergency_stop.crf --depend .\objects\emergency_stop.d)
F (.\Module\Src\emergency_stop.c)(0x6721A623)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\emergency_stop.o --omf_browse .\objects\emergency_stop.crf --depend .\objects\emergency_stop.d)
I (.\Module\Inc\emergency_stop.h)(0x6718D4AA)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
......@@ -150,7 +150,7 @@ I (C:\Keil_v5\ARM\CMSIS\Include\core_cmInstr.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
I (.\Module\Inc\uart_log.h)(0x66F3E910)
I (.\Module\Inc\uart_log.h)(0x6721D22B)
F (.\Module\Inc\buzzer.h)(0x671A184C)()
F (.\Module\Src\buzzer.c)(0x671A183C)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\buzzer.o --omf_browse .\objects\buzzer.crf --depend .\objects\buzzer.d)
I (.\Module\Inc\buzzer.h)(0x671A184C)
......@@ -165,7 +165,7 @@ I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.
I (.\Module\Inc\common.h)(0x671F8315)
F (.\Module\Inc\motor_common.h)(0x6718AC7D)()
F (.\Module\Src\walking_motor.c)(0x6719A2FF)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\walking_motor.o --omf_browse .\objects\walking_motor.crf --depend .\objects\walking_motor.d)
I (.\Module\Inc\walking_motor.h)(0x6719AF6C)
I (.\Module\Inc\walking_motor.h)(0x6720BF4F)
I (.\Module\Inc\motor_common.h)(0x6718AC7D)
I (C:\Keil_v5\ARM\ARMCC\include\stdint.h)(0x5475F300)
I (C:\Keil_v5\ARM\ARMCC\include\stdbool.h)(0x5475F300)
......@@ -177,9 +177,9 @@ I (C:\Keil_v5\ARM\CMSIS\Include\core_cmInstr.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\cmsis_armcc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cmFunc.h)(0x5714AE54)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\system_stm32f10x.h)(0x5825386C)
F (.\Module\Inc\ds18b20.h)(0x6720A65E)()
F (.\Module\Src\ds18b20.c)(0x6720A544)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\ds18b20.o --omf_browse .\objects\ds18b20.crf --depend .\objects\ds18b20.d)
I (.\Module\Inc\ds18b20.h)(0x6720A65E)
F (.\Module\Inc\ds18b20.h)(0x67233A7C)()
F (.\Module\Src\ds18b20.c)(0x67233B46)(-c --cpu Cortex-M3 -g -O0 --apcs=interwork --split_sections -IC:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include -IC:\Keil_v5\ARM\CMSIS\Include -I.\Module\Inc --locale=english --c99 -I D:\Ƕʽ\mcu\Motor_Control\RTE -I D:\Ƕʽ\mcu\Motor_Control\RTE\Device\STM32F103ZE -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1 -I C:\Keil_v5\ARM\PACK\Keil\STM32F1xx_DFP\2.4.1\Device\Include -I C:\Keil_v5\ARM\CMSIS\Include -D__UVISION_VERSION="514" -D_RTE_ -DSTM32F10X_HD -o .\objects\ds18b20.o --omf_browse .\objects\ds18b20.crf --depend .\objects\ds18b20.d)
I (.\Module\Inc\ds18b20.h)(0x67233A7C)
I (C:\Keil_v5\ARM\Pack\Keil\STM32F1xx_DFP\2.2.0\Device\Include\stm32f10x.h)(0x5825386C)
I (D:\嵌入式\mcu\Motor_Control\RTE\RTE_Components.h)(0x00000000)
I (C:\Keil_v5\ARM\CMSIS\Include\core_cm3.h)(0x5714AE54)
......
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
......@@ -4,9 +4,7 @@
#include "walking_motor.h"
#include "uart_log.h"
#include "common.h"
#include "buzzer.h"
#include "pneumatic_solenoid.h"
#include "temperature_sensor.h"
#include "ds18b20.h"
#include "parking_sensor.h"
......@@ -20,6 +18,8 @@ int main(void) {
Serial_Init();
TIM7_Init();
// 定义步进电机结构体
......@@ -64,31 +64,32 @@ int main(void) {
Buzzer_On();
// 配置 PE14 为推挽输出
// 配置 PE14 为推挽输出
Configure_PE_Pin(14, 0x3);
// 初始化 TIM2 捕获模式
// 初始化 TIM2 捕获模式
TIM2_Capture_Init();
SendTriggerSignal();
//
// DS18B20_Init(); // 初始化 DS18B20
// uint32_t data=0;
// while (data<=0) {
// Serial_Printf("temperature = %02d\r\n\n",DS18B20_GetTemperture());
// data = DS18B20_GetTemperture() * 100;
SendTriggerSignal(14);
float temperature;;
while(DS18B20_Init())
{
Serial_Print("DS18B20 checked failed!!!\r\n");
}
float temperature=DS18B20_Get_Temperature();
if(temperature < 0)
Serial_Printf("temperature = -%.2f degree\r\n",temperature/10);
else
Serial_Printf("temperature = %.2f degree\r\n",temperature/10);
// Serial_Printf("temperature = %d.%02d\r\n\n", data/100, data % 100);
//
// Delay(1000, 'm'); // 延时 1 秒
// }
;
......
......@@ -4,9 +4,7 @@
#include "walking_motor.h"
#include "uart_log.h"
#include "common.h"
#include "buzzer.h"
#include "pneumatic_solenoid.h"
#include "temperature_sensor.h"
#include "ds18b20.h"
#include "parking_sensor.h"
......@@ -20,6 +18,8 @@ int main(void) {
Serial_Init();
TIM7_Init();
// 定义步进电机结构体
......@@ -63,38 +63,33 @@ int main(void) {
Buzzer_On();
Serial_Print("main: Before TIM2_Init\n");
TIM2_Init();
Serial_Print("main: Before Delay\n");
Delay(1000, 'm');
Serial_Print("main: Before Start_Measurement\n");
Start_Measurement(1 << 14);
Serial_Print("main: After Start_Measurement\n");
Serial_Print("main: DS18B20_Init\n");
// 配置 PE14 为推挽输出
Configure_PE_Pin(14, 0x3);
// 初始化 TIM2 捕获模式
TIM2_Capture_Init();
// 初始化DS18B20
if (DS18B20_Init() == 0)
{
// 检测到DS18B20的情况可以进行一些处理,例如点亮一个LED
// 或者在开发板上的屏幕显示“DS18B20 Detected!”之类的信息
}
else
{
// 没有检测到DS18B20,可能需要给出错误处理
Serial_Printf("没有检测到DS18B20,可能需要给出错误处理");
}
SendTriggerSignal(14);
uint32_t data = DS18B20_GetTemperture() * 100;
float temperature;;
Serial_Printf("temperature = %d.%02d\r\n\n", data/100, data % 100);
while(DS18B20_Init())
{
Serial_Print("DS18B20 checked failed!!!\r\n");
}
float temperature=DS18B20_Get_Temperature();
if(temperature < 0)
Serial_Printf("temperature = -%.2f degree\r\n",temperature/10);
else
Serial_Printf("temperature = %.2f degree\r\n",temperature/10);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment