FIX | 调试修改.

master
yuliang 3 months ago
parent 3fcccb75cb
commit 845e97256d

@ -60,7 +60,6 @@
#define FLASH_LOG_INVALID_ID 0xFFFFFFFFFFFFFFFF
#define FD_INVALID_ID 0xFFFFFFFFFFFFFFFF
#define POSITION_INVALID_ID 0xFFFFFFFFFFFFFFFF
#define ST_INVALID_ID 0xFFFFFFFFFFFFFFFF
#define FLASH_LOG_RETURN_MUTEX(_f_) \
@ -109,26 +108,6 @@ typedef struct
uint8_t state_wir; // 无线状态
} fd_data_t;
typedef struct
{
float v[POSITION_SUM]; //电流幅值
uint32_t s[POSITION_SUM]; //秒时刻
uint32_t ns[POSITION_SUM]; //纳秒时刻
uint32_t file_s; //录波文件秒
uint32_t file_ns; //录波文件纳秒
uint32_t file_feq; //录波文件频率
} position_wave_info_t;
/* Note: 必须保证这个结构体的大小是可以被flash扇区大小整除的,比如128,256... */
typedef struct
{
uint64_t id;
uint32_t run_time; //时间, 单位 s.
uint16_t vol; //工作电压, 单位: v.
uint16_t temperature; //设备温度, 单位: ℃.
position_wave_info_t wave_info;
} position_data_t;
/* Note: 必须保证这个结构体的大小是可以被flash扇区大小整除的,比如128,256... */
typedef struct
{

@ -169,45 +169,15 @@ static void _ADC_energy_calculate(void)
ADC_ctrl_t *ADC = &ADC_ctrl;
uint8_t is_save = FALSE;
if (ADC->ADCi_temp < -100 && st_data.is_bat_charge)
if (ADC->ADCi_temp < -100)
{
st_data.is_bat_charge = FALSE;
is_save = TRUE;
}
else if(ADC->ADCi_temp >= -80 && !st_data.is_bat_charge)
{
st_data.is_bat_charge = TRUE;
is_save = TRUE;
}
if (st_data.is_bat_charge
&& GPIO_PIN_SET == HAL_GPIO_ReadPin(BAT_CHECK_GPIO_Port, BAT_CHECK_Pin))
{
/* 开始充电. */
HAL_GPIO_WritePin(BAT_CHARGE_GPIO_Port, BAT_CHARGE_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(BAT_CLK_GPIO_Port, BAT_CLK_Pin, GPIO_PIN_SET);
osDelay(10);
HAL_GPIO_WritePin(BAT_CLK_GPIO_Port, BAT_CLK_Pin, GPIO_PIN_RESET);
}
else if((!st_data.is_bat_charge)
&& GPIO_PIN_RESET == HAL_GPIO_ReadPin(BAT_CHECK_GPIO_Port, BAT_CHECK_Pin))
{
/* 停止充电. */
HAL_GPIO_WritePin(BAT_CHARGE_GPIO_Port, BAT_CHARGE_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(BAT_CLK_GPIO_Port, BAT_CLK_Pin, GPIO_PIN_SET);
osDelay(10);
HAL_GPIO_WritePin(BAT_CLK_GPIO_Port, BAT_CLK_Pin, GPIO_PIN_RESET);
}
if (is_save)
{
st_write(&st_data);
}
/* 超级电容电压小于 3.3V 设备不启动. */
if(ADC_ctrl.ADCi_vbat < 3000)
else if(ADC->ADCi_temp >= -80)
{
//system_shtudown(7200);
HAL_GPIO_WritePin(BAT_CHARGE_GPIO_Port, BAT_CHARGE_Pin, GPIO_PIN_RESET);
HAL_GPIO_WritePin(BAT_CLK_GPIO_Port, BAT_CLK_Pin, GPIO_PIN_RESET);
}
}

@ -453,6 +453,10 @@ static void _debug_pkt_update_iap(void)
{
return;
}
addr = 2;
flash_log_write(FLASH_LOG_TYPE_INFO, "Update IAP system reset!\r\n");
common_sys_set(COM_SYS_RESET, (void*)&addr);
}
/* 封装报文头. */
@ -633,6 +637,7 @@ static void _debug_pkt_config_set(void)
/* 保存配置. */
common_sys_set(COM_SYS_SAVE_CONFIG, 0);
MONITOR_BITMAP_SET(dau_ctrl.reg_flag, DAU_REG_PORT_WRITE);
if (is_reboot)
{
/* 设备重启, 这里延迟 2s 保证回复报文能发出. */
@ -1846,6 +1851,7 @@ static void _debug_pkt_update_fpga_result()
proto_head_t *head = (proto_head_t*)debug_buf.buf;
int32_t *res = (int32_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
uint32_t temp = 0;
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t) + sizeof(int32_t), DEBUG_CT_PRV_REPLY);
@ -1860,6 +1866,10 @@ static void _debug_pkt_update_fpga_result()
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
temp = 2;
flash_log_write(FLASH_LOG_TYPE_INFO, "Update FPGA system reset!\r\n");
common_sys_set(COM_SYS_RESET, (void*)&temp);
return;
}

@ -903,7 +903,7 @@ void cli_start(void const * argument)
if (!IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_ADJ)
&& !IS_MONITOR_BIT_SET(dev_config.flag, DEV_FLAG_FACTORY))
{
//wl_init();
wl_init();
}
/* 在这个标志置位前vty_print是原地循环等待,置位后变为任务调度. */

@ -250,29 +250,41 @@ int32_t _dau_reg_write_port(uint32_t port)
/* 缺陷校准系数 */
addr = (port + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_DEFECT_BASE;
//*temp = dev_config.defect_base[i];
*temp = 32927;
*temp = dev_config.defect_base[port];
E_RETURN(_dau_reg_write(addr, sizeof(uint16_t)));
addr = (port + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_DEFECT_ADJ;
//*temp = dev_config.defect_adj[i];
*temp = 52428;
*temp = dev_config.defect_adj[port];
E_RETURN(_dau_reg_write(addr, sizeof(uint16_t)));
/* 故障校准系数 */
addr = (port + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_FAULT_BASE;
*temp = dev_config.fault_base[port];
//*temp = 35000;
E_RETURN(_dau_reg_write(addr, sizeof(uint16_t)));
addr = (port + 1) * DAU_REG_ADDR_PORT_BASE + DAU_REG_ADDR_PORT_FAULT_ADJ;
//*temp = dev_config.fault_adj[i];
*temp = 32768;
*temp = dev_config.fault_adj[port];
E_RETURN(_dau_reg_write(addr, sizeof(uint16_t)));
return rv;
}
/* description: DAU 写端口配置寄存器报文发送
param:
return: HAL_xxx */
int32_t _dau_reg_write_cfg(void)
{
uint16_t *temp = (uint16_t*)&dau_ctrl.buf_dau_tx[2];
int32_t rv = HAL_ERROR;
/* 触发阈值 */
//*temp = dev_config.fault_threshold * 32768 / dev_config.fault_adj[i];
*temp = 0x7fff;
E_RETURN(_dau_reg_write(DAU_REG_ADDR_GCFTTR, sizeof(uint16_t)));
return rv;
}
/* description: DAU 历史数据保存
param:
return: */
@ -287,11 +299,11 @@ static void _dau_data_save(void)
fd_data.vsc = ADC_ctrl.ADCi_vsc;
for(i = 0; i < DAU_PORT_FAULT_MAX; i++)
{
fd_data.fault[i] = dau_ctrl.reg_port_state.FMAX[i];
fd_data.fault[i] = dau_ctrl.fault_max[i];
}
for(i = 0; i < DAU_PORT_DEFECT_MAX; i++)
{
fd_data.defect[i] = dau_ctrl.reg_port_state.DMAX[i];
fd_data.defect[i] = dau_ctrl.reg_defect_max[i];
}
for(i = 0; i < DAU_PORT_POWER_CNT; i++)
{
@ -810,7 +822,7 @@ int32_t _dau_wave_col_trigger_by_fault(void)
MONITOR_BITMAP_RESET(dau_ctrl.col_flag, DAU_COL_FLAG_FAULT_CMP);
_dau_data_save();
#if 1
#if 0
uint16_t *buf = (uint16_t*)(&dau_ctrl.buf_dau_rx[2]);
uint8_t i = 0;
uint8_t j = 0;
@ -941,7 +953,7 @@ int32_t _dau_wave_col_trigger_by_reg(void)
vty_print("\r\n");
}
#endif
#if 1
#if 0
uint16_t *buf = (uint16_t*)(&dau_ctrl.buf_dau_rx[2]);
uint8_t i = 0;
uint8_t j = 0;
@ -1048,6 +1060,7 @@ static void _dau_init(void)
return: */
static void _dau_start(void *argument)
{
uint16_t *temp = (uint16_t*)&dau_ctrl.buf_dau_tx[2];
int32_t rv = HAL_ERROR;
/* 状态初始化 */
@ -1093,12 +1106,14 @@ static void _dau_start(void *argument)
flash_log_write(FLASH_LOG_TYPE_NOTIFY, "FPGA update %s!\r\n", dau_ctrl.update_rt == 1 ? "OK" : "ERROR");
}
/* FPGA 配置下发 */
if (IS_MONITOR_BIT_SET(dau_ctrl.reg_flag, DAU_REG_PORT_WRITE))
{
MONITOR_BITMAP_RESET(dau_ctrl.reg_flag, DAU_REG_PORT_WRITE);
_dau_reg_write_port(dau_ctrl.reg_data);
_dau_reg_write_cfg();
}
/* 命令行 FPGA 寄存器读写操作 */
if (1 == _dau_spi_rw)
{
dbg_cmd_hander(DBG_CMD_ON, DBG_M_DAU_TXRX);
@ -1109,8 +1124,7 @@ static void _dau_start(void *argument)
else if(2 == _dau_spi_rw)
{
dbg_cmd_hander(DBG_CMD_ON, DBG_M_DAU_TXRX);
uint16_t *data = (uint16_t*)&dau_ctrl.buf_dau_tx[2];
*data = _dau_spi_len;
*temp = _dau_spi_len;
_dau_spi_rw = 0;
_dau_reg_write(_dau_spi_addr, 2);
dbg_cmd_hander(DBG_CMD_OFF, DBG_M_DAU_TXRX);
@ -1297,68 +1311,7 @@ int32_t _dau_continue_wave_col_trigger_by_fault(void)
E_RETURN(_dau_wave_col_fault());
E_RETURN(_dau_wave_col_power(DAU_SOURCE_FAULT));
_dau_power_calculate(DAU_SOURCE_FAULT);
#if 0
uint16_t *buf = (uint16_t*)(&dau_ctrl.buf_dau_rx[2]);
uint8_t i = 0;
uint8_t j = 0;
uint16_t k = 0;
uint32_t addr = dau_ctrl.addr_fault;
for(i = 0; i < 1; i++)
{
common_watchdog_set(COM_WDG_DAU);
vty_print("FAULT %x %d\r\n", addr, i);
for(j = 0; j < DAU_PKT_FAULT_CNT; j++)
//for(j = 0; j < 1; j++)
{
spi_flash_read(addr, &dau_ctrl.buf_dau_rx[2], 1024);
addr += DAU_PKT_FAULT_BYTE_CNT;
for(k = 0; k < 512;)
{
common_watchdog_set(COM_WDG_DAU);
vty_print("%04x ", buf[k++]);
if(0 == k % 32)
{
osDelay(100);
vty_print("\r\n");
}
}
if(k % 32 != 0)
{
osDelay(100);
vty_print("\r\n");
}
}
vty_print("\r\n");
}
#endif
#if 0
uint16_t *buf = NULL;
uint8_t i = 0;
uint8_t j = 0;
uint16_t k = 0;
for(i = 0; i < DAU_PORT_POWER_CNT; i++)
{
common_watchdog_set(COM_WDG_DAU);
vty_print("POWER %d\r\n", i);
buf = (uint16_t*)dau_ctrl.fault_power[i];
for(j = 0; j < DAU_PKT_POWER_CNT; j++)
{
for(k = 0; k < 512;)
{
vty_print("%-04x ", buf[k++]);
if(0 == (j*512+k ) % 40)
{
osDelay(100);
vty_print("\r\n");
}
}
buf += 512;
}
vty_print("\r\n");
}
#endif
return HAL_OK;
}
@ -1416,7 +1369,7 @@ static void _dau_continue_start(void *argument)
if (IS_MONITOR_BIT_SET(dau_ctrl.reg_flag, DAU_REG_PORT_WRITE))
{
MONITOR_BITMAP_RESET(dau_ctrl.reg_flag, DAU_REG_PORT_WRITE);
_dau_reg_write_port(dau_ctrl.reg_data);
_dau_reg_write_cfg();
}
}
}

@ -596,6 +596,7 @@ static void _wl_4G_recv_cfg_set(uint8_t *cmd, uint32_t len)
if (is_cfg_save)
{
MONITOR_BITMAP_SET(dau_ctrl.reg_flag, DAU_REG_PORT_WRITE);
common_sys_set(COM_SYS_SAVE_CONFIG, 0);
}

File diff suppressed because it is too large Load Diff

@ -130,6 +130,12 @@
<ShowTimeSum>1</ShowTimeSum>
<SumSortOrder>0</SumSortOrder>
</EventLog>
<DisassembleMode>
<mode>0</mode>
</DisassembleMode>
<Breakpoints2>
<Count>0</Count>
</Breakpoints2>
<TermIOLog>
<LoggingEnabled>_ 0</LoggingEnabled>
<LogFile>_ ""</LogFile>
@ -139,19 +145,13 @@
<LogFile>_ ""</LogFile>
<Category>_ 0</Category>
</LogFile>
<Aliases>
<Count>0</Count>
<SuppressDialog>0</SuppressDialog>
</Aliases>
<PowerProbe>
<Frequency>10000</Frequency>
<Probe0>I0</Probe0>
<ProbeSetup0>2 1 1 2 0 0</ProbeSetup0>
</PowerProbe>
<DisassembleMode>
<mode>0</mode>
</DisassembleMode>
<Breakpoints2>
<Count>0</Count>
</Breakpoints2>
<Aliases>
<Count>0</Count>
<SuppressDialog>0</SuppressDialog>
</Aliases>
</settings>

@ -11,7 +11,7 @@
<ColumnWidth0>19</ColumnWidth0>
<ColumnWidth1>1868</ColumnWidth1>
<FilterLevel>2</FilterLevel>
<LiveFile />
<LiveFile></LiveFile>
<LiveLogEnabled>0</LiveLogEnabled>
<LiveFilterLevel>-1</LiveFilterLevel>
</IarPane-34048>
@ -86,11 +86,11 @@
<RecentlyUsedMenus>1</RecentlyUsedMenus>
<MenuShadows>1</MenuShadows>
<ShowAllMenusAfterDelay>1</ShowAllMenusAfterDelay>
<CommandsUsage>6F0B00000E0040E10000020000005984000002000000568400000200000010860000100000000F810000010000005F860000070000000C8100001E0B000055840000030000000E810000080000000B810000110000000584000003000000108400002000000046810000010000000D81000007000000</CommandsUsage>
<CommandsUsage>7E0B00000E00598400000200000040E1000002000000108600001000000056840000020000005F860000070000000F810000010000000C8100002D0B000055840000030000000E810000080000000B810000110000000584000003000000468100000100000010840000200000000D81000007000000</CommandsUsage>
</MFCToolBarParameters>
<CommandManager>
<CommandsWithoutImages>49000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400007784000007840000808C000044D50000538400000088000001880000028800000388000004880000058800001C8F00001D8F00001F8F0000208F0000218F00002AE10000118F000055840000568400005984000001B0000002B0000003B0000004B0000005B0000006B0000007B0000008B0000009B000000AB000000BB000000CB000000DB000000EB0000000B000002481000040E100000C840000338400007884000011840000008200001C820000018200006786000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE000020920000289200002992000037920000389200003492000033920000259200001E9200001D920000</CommandsWithoutImages>
<MenuUserImages>3700048400004C00000015810000250000002CE1000043000000048100001C000000268100002D00000007E100003B0000002392000000000000318400005300000004E10000390000005F86000034000000208100002B0000000F8100002300000001E10000360000000D8000001700000023E100003D0000000C81000020000000068400004E00000019820000150000001781000027000000038400004B00000016820000130000004A81000047000000148100002400000000840000480000002BE100004200000000810000190000000E840000500000003084000052000000449200001000000003E10000380000001F9200000D0000002F8200001600000025E100003F0000001F8100002A0000000E8100002200000000E10000350000002D9200000F00000022E100003C0000000B8100001F00000041E1000045000000058400004D0000001882000014000000D18400000C0000001681000026000000028400004A0000004981000046000000058100001D0000001084000051000000328400005400000005E100003A000000518400005600000002E10000370000000A8400004F0000000D810000210000002C9200000E000000</MenuUserImages>
<MenuUserImages>3700048400004C000000268100002D000000048100001C0000002CE100004300000015810000250000003184000053000000239200000000000007E100003B0000000F81000023000000208100002B0000005F8600003400000004E10000390000000C8100002000000023E100003D0000000D8000001700000001E10000360000001982000015000000068400004E0000004A810000470000001682000013000000038400004B00000017810000270000002BE100004200000000840000480000001481000024000000449200001000000030840000520000000E8400005000000000810000190000000E810000220000001F8100002A00000025E100003F0000002F820000160000001F9200000D00000003E10000380000000B8100001F00000022E100003C0000002D9200000F00000000E1000035000000D18400000C0000001882000014000000058400004D00000041E1000045000000058100001D0000004981000046000000028400004A000000168100002600000032840000540000001084000051000000518400005600000005E100003A0000000D810000210000000A8400004F00000002E10000370000002C9200000E000000</MenuUserImages>
</CommandManager>
<Pane-59393>
<ID>0</ID>
@ -186,7 +186,7 @@
<ColumnWidth1>95</ColumnWidth1>
<ColumnWidth2>1142</ColumnWidth2>
<FilterLevel>2</FilterLevel>
<LiveFile />
<LiveFile></LiveFile>
<LiveLogEnabled>0</LiveLogEnabled>
<LiveFilterLevel>-1</LiveFilterLevel>
</IarPane-34056>
@ -208,7 +208,7 @@
<ColumnWidth1>95</ColumnWidth1>
<ColumnWidth2>1142</ColumnWidth2>
<FilterLevel>2</FilterLevel>
<LiveFile />
<LiveFile></LiveFile>
<LiveLogEnabled>0</LiveLogEnabled>
<LiveFilterLevel>-1</LiveFilterLevel>
</IarPane-34057>
@ -231,7 +231,7 @@
<ColumnWidth2>856</ColumnWidth2>
<ColumnWidth3>380</ColumnWidth3>
<FilterLevel>2</FilterLevel>
<LiveFile />
<LiveFile></LiveFile>
<LiveLogEnabled>0</LiveLogEnabled>
<LiveFilterLevel>-1</LiveFilterLevel>
</IarPane-34058>
@ -253,7 +253,7 @@
<ColumnWidth1>95</ColumnWidth1>
<ColumnWidth2>1142</ColumnWidth2>
<FilterLevel>2</FilterLevel>
<LiveFile />
<LiveFile></LiveFile>
<LiveLogEnabled>0</LiveLogEnabled>
<LiveFilterLevel>-1</LiveFilterLevel>
</IarPane-34059>
@ -272,7 +272,7 @@
</BasePane-34062>
<IarPane-34062>
<FilterLevel>2</FilterLevel>
<LiveFile />
<LiveFile></LiveFile>
<LiveLogEnabled>0</LiveLogEnabled>
<LiveFilterLevel>-1</LiveFilterLevel>
</IarPane-34062>
@ -381,7 +381,7 @@
</BasePane-34049>
<MFCToolBar-34050>
<Name>Main</Name>
<Buttons>00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000035000000FFFEFF000000000000000000000000000100000001000000018001E100000000000036000000FFFEFF000000000000000000000000000100000001000000018003E100000000040038000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000004003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004003D000000FFFEFF000000000000000000000000000100000001000000018022E10000000004003C000000FFFEFF000000000000000000000000000100000001000000018025E10000000004003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040042000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040043000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000400FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004002C000000FFFEFF000000000000000000000000000100000001000000018024E10000000004003E000000FFFEFF000000000000000000000000000100000001000000018028E100000000040040000000FFFEFF000000000000000000000000000100000001000000018029E100000000040041000000FFFEFF000000000000000000000000000100000001000000018002810000000004001B000000FFFEFF0000000000000000000000000001000000010000000180298100000000040030000000FFFEFF000000000000000000000000000100000001000000018027810000000004002E000000FFFEFF000000000000000000000000000100000001000000018028810000000004002F000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040028000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040029000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000004001F000000FFFEFF00000000000000000000000000010000000100000001800D8100000000020021000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000034000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000000000022000000FFFEFF00000000000000000000000000010000000100000001800F8100000000000023000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000</Buttons>
<Buttons>00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000031000000FFFEFF000000000000000000000000000100000001000000018001E100000000000032000000FFFEFF000000000000000000000000000100000001000000018003E100000000000034000000FFFEFF0000000000000000000000000001000000010000000180008100000000000015000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000000037000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E100000000000039000000FFFEFF000000000000000000000000000100000001000000018022E100000000000038000000FFFEFF000000000000000000000000000100000001000000018025E10000000000003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE10000000004003E000000FFFEFF00000000000000000000000000010000000100000001802CE10000000004003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0001000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF00960000000000000000000180218100000000040028000000FFFEFF000000000000000000000000000100000001000000018024E10000000000003A000000FFFEFF000000000000000000000000000100000001000000018028E10000000004003C000000FFFEFF000000000000000000000000000100000001000000018029E10000000000003D000000FFFEFF0000000000000000000000000001000000010000000180028100000000000017000000FFFEFF000000000000000000000000000100000001000000018029810000000000002C000000FFFEFF000000000000000000000000000100000001000000018027810000000000002A000000FFFEFF000000000000000000000000000100000001000000018028810000000000002B000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040024000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040025000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000000001B000000FFFEFF00000000000000000000000000010000000100000001800D810000000002001D000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000030000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E810000000000001E000000FFFEFF00000000000000000000000000010000000100000001800F810000000000001F000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000</Buttons>
</MFCToolBar-34050>
<Pane-34050>
<ID>34050</ID>
@ -419,7 +419,7 @@
</ChildIdMap>
<MDIWindows>
<MDIClientArea-0>
<MDITabsState>010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000000000000</MDITabsState>
<MDITabsState>010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000010000000000000001000000FFFEFF202400570053005F0044004900520024005C002E002E005C0043006F00720065005C005300720063005C0066006C006100730068005F006C006F0067002E00630001000000FFFF010014004966436F6E74656E7453746F72616765496D706CFFFEFF00FFFEFFFF28013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003200340032003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0037003500300039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0037003500330039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B66006C006100730068005F006C006F0067002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000100000002000000AC0100004900000080070000CC020000</MDITabsState>
</MDIClientArea-0>
</MDIWindows>
</WindowStorage>

Loading…
Cancel
Save