From 3088cbc22151bed04cc32b7c9d3c0a9d0851a074 Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Sat, 20 Jun 2015 21:28:04 +0200 Subject: [PATCH] RoCoN: new mode for testlxpwrrx to capture position, PWM and current for controller tuning. Signed-off-by: Pavel Pisa --- sw/app/rocon/appl_pxmc.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/sw/app/rocon/appl_pxmc.c b/sw/app/rocon/appl_pxmc.c index 5d19fb7..947d321 100644 --- a/sw/app/rocon/appl_pxmc.c +++ b/sw/app/rocon/appl_pxmc.c @@ -1384,6 +1384,30 @@ IRQ_HANDLER_FNC(pxmc_rocon_rx_done_isr) *(pbuf++) = *(ptumbl++); pxmc_rocon_rx_data_hist_buff = pbuf; + } else if (!((pxmc_rocon_rx_data_hist_mode & 0xf8) ^ 0x10)) { + uint32_t *pbuf = (uint32_t *)pxmc_rocon_rx_data_hist_buff; + volatile pxmcc_data_t *mcc_data = pxmc_rocon_mcc_data(); + volatile pxmcc_curadc_data_t *curadc; + pxmc_rocon_state_t *mcsrc = NULL; + int chan = pxmc_rocon_rx_data_hist_mode & 7; + if (chan < pxmc_main_list.pxml_cnt) + mcsrc = pxmc_state2rocon_state(pxmc_main_list.pxml_arr[chan]); + if (mcsrc) { + *(pbuf++) = pxmc_rocon_vin_act; + *(pbuf++) = fpga_irc[mcsrc->base.pxms_inp_info]->count; + *(pbuf++) = mcsrc->base.pxms_ene; + chan = mcsrc->base.pxms_out_info; + curadc = mcc_data->curadc + chan; + *(pbuf++) = *pxmc_rocon_pwm_chan2reg(chan++); + *(pbuf++) = (curadc++)->cur_val; + *(pbuf++) = *pxmc_rocon_pwm_chan2reg(chan++); + *(pbuf++) = (curadc++)->cur_val; + *(pbuf++) = *pxmc_rocon_pwm_chan2reg(chan++); + *(pbuf++) = (curadc++)->cur_val; + *(pbuf++) = *pxmc_rocon_pwm_chan2reg(chan++); + *(pbuf++) = (curadc++)->cur_val; + pxmc_rocon_rx_data_hist_buff = pbuf; + } } } -- 2.39.2