FIX 1.修改全局参数设置到fpga中;

main
wangbo 3 weeks ago
parent 37d147741c
commit aaabc9281a

@ -1021,6 +1021,7 @@ int32_t _csg_dev_info_get_recv(char *pkt)
/* 配置用户参数报文报文处理. */
int32_t _csg_config_set_recv(char *pkt)
{
dau_t * dau_node = dau[0];
csg_pkt_head_t *head = (csg_pkt_head_t*)pkt;
csg_global_config_t *config = (csg_global_config_t *)(pkt + sizeof(csg_pkt_head_t));
pd_config.config.sample_frequency = config->sample_frequency;
@ -1035,6 +1036,16 @@ int32_t _csg_config_set_recv(char *pkt)
pd_config.config.pt_B_sync_mode = config->sync_mode;
}
pd_config.config.pt_internal_period = 1000000000UL / config->pt_internal_period;
if(dau_node->is_connect == TRUE)
{
dau_node->reg->reg_global.trig_location = pd_config.config.trig_location;
dau_node->reg->reg_global.trig_threshold = pd_config.config.trig_threshold;
dau_node->reg->reg_global.trig_gap = pd_config.config.trig_gap;
dau_node->reg->reg_global.sample_interrupt_intveal_us = pd_config.config.interrupt_interval;
dau_node->reg->reg_global.pt_B_sync_mode = pd_config.config.pt_B_sync_mode;
dau_node->reg->reg_global.pt_selfsync_cycle = pd_config.config.pt_internal_period;
}
vtysh_config_save();
csg_ack_t ack = {0};

@ -224,6 +224,7 @@ int32_t _debug_pkt_factory_cfg_set(char *buf, int len)
/* 设置报文处理. */
int32_t _debug_pkt_global_cfg_set(char *pkt, int len)
{
dau_t * dau_node = dau[0];
dbg_global_config_t *config = (dbg_global_config_t *)(pkt + sizeof(csg_pkt_head_t));
pd_config.config.sample_frequency = config->sample_frequency;
pd_config.config.trigger_sample_nums = config->trigger_sample_numbers;
@ -241,12 +242,20 @@ int32_t _debug_pkt_global_cfg_set(char *pkt, int len)
BITMAP_SET(pd_config.config.pt_B_sync_mode, PD_BIT_PT);
}
pd_config.config.pt_internal_period = 1000000000UL / config->pt_internal_period;
if(dau_node->is_connect == TRUE)
{
dau_node->reg->reg_global.trig_location = pd_config.config.trig_location;
dau_node->reg->reg_global.trig_threshold = pd_config.config.trig_threshold;
dau_node->reg->reg_global.trig_gap = pd_config.config.trig_gap;
dau_node->reg->reg_global.sample_interrupt_intveal_us = pd_config.config.interrupt_interval;
dau_node->reg->reg_global.pt_B_sync_mode = pd_config.config.pt_B_sync_mode;
dau_node->reg->reg_global.pt_selfsync_cycle = pd_config.config.pt_internal_period;
}
vtysh_config_save();
return _debug_pkt_common_send(pkt, DEBUG_CONFIG_GLOBAL_SET, 0);
}
/* 查询用户参数查询报文处理. */
int32_t _debug_pkt_global_cfg_get(char *pkt, int len)
{

@ -239,7 +239,7 @@ CMD(pd_trig_gap,
pd_config.config.trig_gap = strtol(argv[0], NULL, 10);
if(dau_node->is_connect == TRUE)
{
dau_node->reg->reg_global.trig_location = pd_config.config.trig_gap;
dau_node->reg->reg_global.trig_gap = pd_config.config.trig_gap;
}
return CMD_SUCCESS;
}

Loading…
Cancel
Save