master
yuliang 2 months ago
parent 60cb33ccfb
commit d58ed3b7ac

@ -102,6 +102,7 @@ extern usart_buf_t debug_buf;
/* Extern functions ----------------------------------------------------------*/
extern void debug_start(void);
extern int32_t debug_app_check(uint32_t addr, uint32_t size, uint8_t file_type);
extern void _debug_pkt_adj_auto2(void);
extern void debug_pkt_adj_defect(void);
extern void debug_pkt_adj_fault(void);
#endif

@ -943,26 +943,6 @@ static HAL_StatusTypeDef _debug_adj_auto(uint8_t bitmap)
return HAL_OK;
}
/* 手动校准处理. */
static HAL_StatusTypeDef _debug_adj_manual(uint8_t bitmap)
{
if (!bitmap)
{
return HAL_OK;
}
dau_adj_state = DAU_ADJ_STATE_POWER;
while (dau_adj_state != DAU_ADJ_STATE_NONE)
{
common_watchdog_set(COM_WDG_CLI);
osDelay(1000);
}
DBG(DBG_M_RS485_DEBUG, "capture end...\r\n");
_debug_adj_power_cal();
return HAL_OK;
}
/* 校准参数获取报文处理. */
static void _debug_pkt_adj_get(void)
{
@ -1066,245 +1046,6 @@ static void _debug_pkt_adj_set_fault(void)
return;
}
/* 设备状态获取报文处理. */
static void _debug_pkt_adj_defect_zero(void)
{
proto_head_t *head = (proto_head_t*)debug_buf.buf;
dev_adj_defect_zero_t *data = (dev_adj_defect_zero_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
uint8_t i = 0;
/* 解析数据. */
memcpy(&debug_adj_defect, data, sizeof(dev_adj_defect_zero_t));
dau_adj_state = DAU_ADJ_STATE_DEFECT_ZERO;
while(dau_adj_state != DAU_ADJ_STATE_NONE)
{
osDelay(1000);
common_watchdog_set(COM_WDG_CLI);
}
for(i = 0; i < DAU_PORT_DEFECT_CNT; i++)
{
if (!IS_MONITOR_BIT_SET(debug_adj_defect.bitmap, i))
{
continue;
}
dev_config.defect_base[i] = dau_ctrl.reg_port_state.DAVR[i];
}
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t), DEBUG_CT_PRV_REPLY);
/* 计算校验和. */
crc = (uint32_t*)(debug_buf.buf + head->len);
*crc = crc32(debug_buf.buf, head->len);
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
return;
}
/* 设备状态获取报文处理. */
static void _debug_pkt_adj_defect(void)
{
proto_head_t *head = (proto_head_t*)debug_buf.buf;
dev_adj_defect_cfg_t *data = (dev_adj_defect_cfg_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
uint32_t temp = 0;
uint8_t i = 0;
dau_adj_state = DAU_ADJ_STATE_DEFECT;
while(dau_adj_state != DAU_ADJ_STATE_NONE)
{
osDelay(1000);
common_watchdog_set(COM_WDG_CLI);
}
for(i = 0; i < DAU_PORT_DEFECT_CNT; i++)
{
if (!IS_MONITOR_BIT_SET(debug_adj_defect.bitmap, i))
{
continue;
}
temp = dau_ctrl.reg_port_state.DAVR[i] - dev_config.defect_base[i];
//temp = 3276;
dev_config.defect_adj[i] = debug_adj_defect.defect_elec * 32768 / temp;
}
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t) + sizeof(dev_adj_defect_cfg_t), DEBUG_CT_PRV_REPLY);
/* 配置参数. */
memcpy(data->defect_base, dev_config.defect_base, sizeof(dev_adj_defect_cfg_t));
/* 计算校验和. */
crc = (uint32_t*)(debug_buf.buf + head->len);
*crc = crc32(debug_buf.buf, head->len);
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
/* 保存参数. */
common_sys_set(COM_SYS_SAVE_CONFIG, 0);
return;
}
/* 设备状态获取报文处理. */
static void _debug_pkt_adj_fault_zero(void)
{
proto_head_t *head = (proto_head_t*)debug_buf.buf;
dev_adj_fault_zero_t *data = (dev_adj_fault_zero_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
/* 解析数据. */
memcpy(&debug_adj_fault, data, sizeof(dev_adj_fault_zero_t));
dau_adj_state = DAU_ADJ_STATE_FAULT_ZERO;
while(dau_adj_state != DAU_ADJ_STATE_NONE)
{
osDelay(1000);
common_watchdog_set(COM_WDG_CLI);
}
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t), DEBUG_CT_PRV_REPLY);
/* 计算校验和. */
crc = (uint32_t*)(debug_buf.buf + head->len);
*crc = crc32(debug_buf.buf, head->len);
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
return;
}
/* 设备状态获取报文处理. */
static void _debug_pkt_adj_fault(void)
{
proto_head_t *head = (proto_head_t*)debug_buf.buf;
dev_adj_fault_cfg_t *data = (dev_adj_fault_cfg_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
uint8_t i = 0;
dau_adj_state = DAU_ADJ_STATE_FAULT;
while(dau_adj_state != DAU_ADJ_STATE_NONE)
{
osDelay(1000);
common_watchdog_set(COM_WDG_CLI);
}
for(i = 0; i < DAU_PORT_FAULT_CNT; i++)
{
data->fault_base[i] = dev_config.fault_base[i];
if (!IS_MONITOR_BIT_SET(debug_adj_fault.bitmap, i))
{
data->fault_adj[i] = dev_config.fault_adj[i];
continue;
}
if (!((dau_ctrl.reg_global.GFTR & DAU_GFTR_FAULT_Msk) >> DAU_GFTR_FAULT_Pos))
{
data->fault_adj[i] = 0;
continue;
}
//data->fault_adj[i] = abs_cal_u(dau_ctrl.reg_port_state.FMAX[i] - dev_config.fault_base[i]);
data->fault_adj[i] = 13107;
}
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t) + sizeof(dev_adj_fault_cfg_t), DEBUG_CT_PRV_REPLY);
/* 计算校验和. */
crc = (uint32_t*)(debug_buf.buf + head->len);
*crc = crc32(debug_buf.buf, head->len);
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
return;
}
/* 手动校准报文处理. */
static void _debug_pkt_adj_manual(void)
{
proto_head_t *head = (proto_head_t*)debug_buf.buf;
dev_adj_power_t *data = (dev_adj_power_t*)(debug_buf.buf + sizeof(proto_head_t));
dev_adj_power_cfg_t *cfg = (dev_adj_power_cfg_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
/* 解析数据. */
memcpy(&debug_adj_power, data, sizeof(dev_adj_power_t));
/* 组装数据 */
cfg->return_value = _debug_adj_manual(debug_adj_power.bitmap);
if (debug_adj_power.is_voltage_adj)
{
ADC_vbat_auto(5000);
}
memcpy(cfg->power_adj, dev_config.power_adj, 32);
//memcpy(cfg->power_adj_point, dev_config.power_adj_point, 32);
cfg->vin_adj = dev_config.vin_adj;
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t) + sizeof(dev_adj_power_cfg_t), DEBUG_CT_PRV_REPLY);
/* 计算校验和. */
crc = (uint32_t*)(debug_buf.buf + head->len);
*crc = crc32(debug_buf.buf, head->len);
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
/* 保存参数. */
common_sys_set(COM_SYS_SAVE_CONFIG, 0);
return;
}
/* 自动校准报文处理. */
void _debug_pkt_adj_auto(void)
{
proto_head_t *head = (proto_head_t*)debug_buf.buf;
dev_adj_power_t *data = (dev_adj_power_t*)(debug_buf.buf + sizeof(proto_head_t));
dev_adj_power_cfg_t *cfg = (dev_adj_power_cfg_t*)(debug_buf.buf + sizeof(proto_head_t));
uint32_t *crc = NULL;
/* 解析数据. */
memcpy(&debug_adj_power, data, sizeof(dev_adj_power_t));
/* 组装数据 */
cfg->return_value = _debug_adj_auto(debug_adj_power.bitmap);
if (debug_adj_power.is_voltage_adj)
{
ADC_vbat_auto(5000);
}
memcpy(cfg->power_adj, dev_config.power_adj, 32);
cfg->vin_adj = dev_config.vin_adj;
/* 封装报文头. */
_debug_pkt_head_init(sizeof(proto_head_t) + sizeof(dev_adj_power_cfg_t), DEBUG_CT_PRV_REPLY);
/* 计算校验和. */
crc = (uint32_t*)(debug_buf.buf + head->len);
*crc = crc32(debug_buf.buf, head->len);
/* 发送报文 */
_debug_pkt_send(head->len + 4, 20);
/* 保存参数. */
common_sys_set(COM_SYS_SAVE_CONFIG, 0);
return;
}
/* 实时数据获取报文处理. */
static void _debug_pkt_data_get(void)
{
@ -2051,7 +1792,6 @@ static void _debug_pkt_fault_get(void)
return;
}
void _debug_pkt_adj_auto2(void)
{
debug_adj_power.bitmap = 0x60;
@ -2064,7 +1804,7 @@ void _debug_pkt_adj_auto2(void)
_debug_adj_auto(debug_adj_power.bitmap);
if (debug_adj_power.is_voltage_adj)
{
ADC_vbat_auto(5000);
ADC_vbat_auto(debug_adj_power.vin);
}
return;
}

@ -110,6 +110,7 @@ UART_HandleTypeDef *cli_uart = &huart1;
extern uint8_t yl_test;
/* Private function prototypes -----------------------------------------------*/
static BaseType_t _cli_debug_msg(const char *string);
static BaseType_t _cli_dbg_mode(const char *string);
static BaseType_t _cli_default(const char *string);
static BaseType_t _cli_host(const char *string);
@ -135,6 +136,7 @@ static const char *debug_str[DBG_M_COUNT] =
};
static const CLI_Command_Definition_t cmd_debug = {"debug", _cli_debug, 2};
#endif
static const CLI_Command_Definition_t cmd_adj = {"adj", _cli_debug_msg, 1};
static const CLI_Command_Definition_t cmd_dbg_mode = {"dbg-mode", _cli_dbg_mode, 1};
static const CLI_Command_Definition_t cmd_default = {"default", _cli_default, 1};
static const CLI_Command_Definition_t cmd_host = {"host", _cli_host, 1};
@ -788,6 +790,7 @@ static void _cli_start(void)
#if LD_DEBUG
FreeRTOS_CLIRegisterCommand(&cmd_debug, CLI_NODE_COMMON);
#endif
FreeRTOS_CLIRegisterCommand(&cmd_adj, CLI_NODE_CONFIG);
FreeRTOS_CLIRegisterCommand(&cmd_dbg_mode, CLI_NODE_CONFIG);
FreeRTOS_CLIRegisterCommand(&cmd_default, CLI_NODE_CONFIG);
FreeRTOS_CLIRegisterCommand(&cmd_host, CLI_NODE_CONFIG);

@ -57,7 +57,7 @@
#define WL_USART_ERR_TIMEOUT 1000 // 串口发送错误延迟时间
#define WL_SOFT_INIT_ERR 5 // 软件初始化错误最大次数
#define WL_DATA_ERR 3 // 数据发送错误最大次数
#define WL_SLEEP_TIME 120 // 休眠时间
#define WL_SLEEP_TIME 1800 // 休眠时间
/* Private typedef -----------------------------------------------------------*/
/* 状态机状态. */

File diff suppressed because it is too large Load Diff

@ -86,16 +86,16 @@
<RecentlyUsedMenus>1</RecentlyUsedMenus>
<MenuShadows>1</MenuShadows>
<ShowAllMenusAfterDelay>1</ShowAllMenusAfterDelay>
<CommandsUsage>580C00000E00598400000200000040E1000002000000108600001000000056840000030000005F860000080000000F810000010000000C810000FE0B000055840000030000000E810000080000000B810000150000000584000003000000468100000100000010840000230000000D81000007000000</CommandsUsage>
<CommandsUsage>5C0C00000E0040E10000020000005984000002000000568400000300000010860000100000000F810000010000005F860000080000000C810000FE0B000055840000030000000E810000080000000B810000150000000584000003000000108400002700000046810000010000000D81000007000000</CommandsUsage>
</MFCToolBarParameters>
<CommandManager>
<CommandsWithoutImages>49000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400007784000007840000808C000044D50000538400000088000001880000028800000388000004880000058800001C8F00001D8F00001F8F0000208F0000218F00002AE10000118F000055840000568400005984000001B0000002B0000003B0000004B0000005B0000006B0000007B0000008B0000009B000000AB000000BB000000CB000000DB000000EB0000000B000002481000040E100000C840000338400007884000011840000008200001C820000018200006786000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE000020920000289200002992000037920000389200003492000033920000259200001E9200001D920000</CommandsWithoutImages>
<MenuUserImages>3700048400004C000000268100002D000000048100001C0000002CE10000430000001581000025000000239200000000000007E100003B00000031840000530000000F81000023000000208100002B0000005F8600003400000004E10000390000000C8100002000000023E100003D0000000D8000001700000001E10000360000001982000015000000068400004E0000004A8100004700000016820000130000001781000027000000038400004B0000002BE1000042000000008400004800000014810000240000004492000010000000008100001900000030840000520000000E840000500000000E810000220000001F8100002A00000025E100003F0000002F820000160000001F9200000D00000003E10000380000000B8100001F00000022E100003C0000002D9200000F00000000E1000035000000D18400000C000000188200001400000041E1000045000000058400004D000000058100001D00000049810000460000001681000026000000028400004A00000032840000540000001084000051000000518400005600000005E100003A0000000D8100002100000002E10000370000000A8400004F0000002C9200000E000000</MenuUserImages>
<CommandsWithoutImages>51000D8400000F84000008840000FFFFFFFF54840000328100001C810000098400007784000007840000808C000044D50000538400000088000001880000028800000388000004880000058800001C8F00001D8F00001F8F0000208F0000218F00002AE10000118F000055840000568400005984000001B0000002B0000003B0000004B0000005B0000006B0000007B0000008B0000009B000000AB000000BB000000CB000000DB000000EB0000000B000002481000040E100000C840000338400007884000011840000008200001C820000018200006786000020DE000021DE000026DE000028DE000023DE000022DE000024DE000027DE000025DE000020920000289200002992000037920000389200003492000033920000259200001E9200001D92000008800000098000000A8000000B8000000C800000158000000A81000001E80000</CommandsWithoutImages>
<MenuUserImages>3900048400004C00000015810000250000002CE1000043000000048100001C000000268100002D000000318400005300000007E100003B000000239200000000000004E10000390000005F86000034000000208100002B0000000F8100002300000001E10000360000000D8000001700000023E100003D0000000C81000020000000098100001E000000068400004E0000001982000015000000038400004B000000178100002700000016820000130000004A81000047000000148100002400000000840000480000002BE10000420000000E8400005000000030840000520000000081000019000000449200001000000003E10000380000001F9200000D0000002F8200001600000025E100003F0000001F8100002A0000000E8100002200000000E10000350000002D9200000F00000022E100003C0000000B8100001F000000058400004D00000041E10000450000001882000014000000D18400000C000000028400004A00000016810000260000004981000046000000058100001D0000001084000051000000328400005400000005E100003A000000518400005600000035E10000440000000A8400004F00000002E10000370000000D810000210000002C9200000E000000</MenuUserImages>
</CommandManager>
<Pane-59393>
<ID>0</ID>
<RectRecentFloat>0A0000000A0000006E0000006E000000</RectRecentFloat>
<RectRecentDocked>00000000060300000006000019030000</RectRecentDocked>
<RectRecentDocked>00000000DE03000080070000F1030000</RectRecentDocked>
<RecentFrameAlignment>4096</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -121,8 +121,8 @@
<IarPane-34051 />
<Pane--1>
<ID>4294967295</ID>
<RectRecentFloat>00000000D002000080070000F5030000</RectRecentFloat>
<RectRecentDocked>00000000E10100000006000006030000</RectRecentDocked>
<RectRecentFloat>00000000F8010000000600001D030000</RectRecentFloat>
<RectRecentDocked>00000000B902000080070000DE030000</RectRecentDocked>
<RecentFrameAlignment>4096</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -135,7 +135,7 @@
<Pane-34052>
<ID>34052</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F9010000FC050000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D10200007C070000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -158,7 +158,7 @@
<Pane-34048>
<ID>34048</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F9010000FC050000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D10200007C070000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -171,7 +171,7 @@
<Pane-34056>
<ID>34056</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F90100007C070000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D1020000FC050000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -193,7 +193,7 @@
<Pane-34057>
<ID>34057</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F90100007C070000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D1020000FC050000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -215,7 +215,7 @@
<Pane-34058>
<ID>34058</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F90100007C070000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D1020000FC050000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -238,7 +238,7 @@
<Pane-34059>
<ID>34059</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F90100007C070000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D1020000FC050000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -260,7 +260,7 @@
<Pane-34062>
<ID>34062</ID>
<RectRecentFloat>000000001700000022010000C8000000</RectRecentFloat>
<RectRecentDocked>04000000F90100007C070000EC020000</RectRecentDocked>
<RectRecentDocked>04000000D1020000FC050000C4030000</RectRecentDocked>
<RecentFrameAlignment>32768</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -349,7 +349,7 @@
<Pane-34063>
<ID>34063</ID>
<RectRecentFloat>00000000170000000601000078010000</RectRecentFloat>
<RectRecentDocked>0000000032000000A8010000DD010000</RectRecentDocked>
<RectRecentDocked>0000000032000000A8010000B5020000</RectRecentDocked>
<RecentFrameAlignment>4096</RecentFrameAlignment>
<RecentRowIndex>0</RecentRowIndex>
<IsFloating>0</IsFloating>
@ -360,7 +360,7 @@
<IsVisible>1</IsVisible>
</BasePane-34063>
<DockingManager-256>
<DockingPaneAndPaneDividers>0000000010000000000000000010000001000000FFFFFFFFFFFFFFFFA801000032000000AC010000DD010000010000000200001004000000010000002CFFFFFF0C0600000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000078500000000000000000000000000000000000001000000078500000100000007850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF00000000DD01000000060000E10100000100000001000010040000000100000009FEFFFF72010000FFFFFFFF0700000008850000098500000A8500000B8500000E8500000485000000850000FFFF02000B004354616262656450616E65008000000100000000000000D002000080070000F503000000000000E10100000006000006030000000000004080005607000000FFFEFF0C4400650063006C00610072006100740069006F006E007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000985000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000085000001000000FFFFFFFFFFFFFFFF05000000000000000000000000000000000000000000000001000000FFFFFFFF0885000001000000FFFFFFFF08850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000000000000000000</DockingPaneAndPaneDividers>
<DockingPaneAndPaneDividers>0000000010000000000000000010000001000000FFFFFFFFFFFFFFFFA801000032000000AC010000B5020000010000000200001004000000010000002CFFFFFF0C0600000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000078500000000000000000000000000000000000001000000078500000100000007850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF00000000B502000080070000B90200000100000001000010040000000100000009FEFFFF72010000FFFFFFFF0700000008850000098500000A8500000B8500000E8500000485000000850000FFFF02000B004354616262656450616E65008000000100000000000000F8010000000600001D03000000000000B902000080070000DE030000000000004080005607000000FFFEFF0C4400650063006C00610072006100740069006F006E007300000000000885000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000985000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000A85000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000B85000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000085000001000000FFFFFFFFFFFFFFFF05000000000000000000000000000000000000000000000001000000FFFFFFFF0885000001000000FFFFFFFF08850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000000000000000000</DockingPaneAndPaneDividers>
</DockingManager-256>
<MFCToolBar-34049>
<Name>CMSIS-Pack</Name>
@ -381,7 +381,7 @@
</BasePane-34049>
<MFCToolBar-34050>
<Name>Main</Name>
<Buttons>00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000035000000FFFEFF000000000000000000000000000100000001000000018001E100000000000036000000FFFEFF000000000000000000000000000100000001000000018003E100000000040038000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000004003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004003D000000FFFEFF000000000000000000000000000100000001000000018022E10000000004003C000000FFFEFF000000000000000000000000000100000001000000018025E10000000004003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040042000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040043000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000400FFFFFFFFFFFEFF0001000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004002C000000FFFEFF000000000000000000000000000100000001000000018024E10000000004003E000000FFFEFF000000000000000000000000000100000001000000018028E100000000040040000000FFFEFF000000000000000000000000000100000001000000018029E100000000040041000000FFFEFF000000000000000000000000000100000001000000018002810000000004001B000000FFFEFF0000000000000000000000000001000000010000000180298100000000040030000000FFFEFF000000000000000000000000000100000001000000018027810000000004002E000000FFFEFF000000000000000000000000000100000001000000018028810000000004002F000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040028000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040029000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000004001F000000FFFEFF00000000000000000000000000010000000100000001800D8100000000020021000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000034000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000000000022000000FFFEFF00000000000000000000000000010000000100000001800F8100000000000023000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000</Buttons>
<Buttons>00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000035000000FFFEFF000000000000000000000000000100000001000000018001E100000000000036000000FFFEFF000000000000000000000000000100000001000000018003E100000000040038000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000004003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004003D000000FFFEFF000000000000000000000000000100000001000000018022E10000000000003C000000FFFEFF000000000000000000000000000100000001000000018025E10000000004003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040042000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040043000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000400FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000000018021810000000004002C000000FFFEFF000000000000000000000000000100000001000000018024E10000000004003E000000FFFEFF000000000000000000000000000100000001000000018028E100000000040040000000FFFEFF000000000000000000000000000100000001000000018029E100000000040041000000FFFEFF000000000000000000000000000100000001000000018002810000000004001B000000FFFEFF0000000000000000000000000001000000010000000180298100000000040030000000FFFEFF000000000000000000000000000100000001000000018027810000000004002E000000FFFEFF000000000000000000000000000100000001000000018028810000000004002F000000FFFEFF00000000000000000000000000010000000100000001801D8100000000000028000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040029000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000000001F000000FFFEFF00000000000000000000000000010000000100000001800D8100000000000021000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000034000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000000000022000000FFFEFF00000000000000000000000000010000000100000001800F8100000000000023000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000</Buttons>
</MFCToolBar-34050>
<Pane-34050>
<ID>34050</ID>
@ -419,7 +419,7 @@
</ChildIdMap>
<MDIWindows>
<MDIClientArea-0>
<MDITabsState>010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000020000000100000001000000FFFEFF202400570053005F0044004900520024005C002E002E005C0043006F00720065005C005300720063005C0066006C006100730068005F006C006F0067002E00630001000000FFFF010014004966436F6E74656E7453746F72616765496D706CFFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003200360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B66006C006100730068005F006C006F0067002E00630000000000FFFFFFFFFFFFFFFFFFFEFF222400570053005F0044004900520024005C002E002E005C0043006F00720065005C005300720063005C00520053003400380035005F00640065006200750067002E006300010000000180FFFEFF00FFFEFFFF2B013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0031003900330031003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00350038003800320030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00350038003800320030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D520053003400380035005F00640065006200750067002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000100000002000000AC0100004900000000060000F4010000</MDITabsState>
<MDITabsState>010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000030000000100000001000000FFFEFF202400570053005F0044004900520024005C002E002E005C0043006F00720065005C005300720063005C0066006C006100730068005F006C006F0067002E00630001000000FFFF010014004966436F6E74656E7453746F72616765496D706CFFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003200360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B66006C006100730068005F006C006F0067002E00630000000000FFFFFFFFFFFFFFFFFFFEFF222400570053005F0044004900520024005C002E002E005C0043006F00720065005C005300720063005C00520053003400380035005F00640065006200750067002E006300010000000180FFFEFF00FFFEFFFF23013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0031003800370033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0D520053003400380035005F00640065006200750067002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1A2400570053005F0044004900520024005C002E002E005C0043006F00720065005C005300720063005C0063006C0069002E006300010000000180FFFEFF00FFFEFFFF22013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003500390035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0563006C0069002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000100000002000000AC0100004900000080070000CC020000</MDITabsState>
</MDIClientArea-0>
</MDIWindows>
</WindowStorage>

Loading…
Cancel
Save