From: Pavel Pisa Date: Sun, 14 Dec 2014 16:02:01 +0000 (+0100) Subject: Provide cumulative D and Q current components for filtering. X-Git-Url: https://rtime.felk.cvut.cz/gitweb/fpga/lx-cpu1/lx-rocon.git/commitdiff_plain/345fff643af7ffd28426f5c34366da949d861093 Provide cumulative D and Q current components for filtering. Signed-off-by: Pavel Pisa --- diff --git a/hw/lx-rocon_firmware/firmware.c b/hw/lx-rocon_firmware/firmware.c index 8e9cd71..96d9f04 100644 --- a/hw/lx-rocon_firmware/firmware.c +++ b/hw/lx-rocon_firmware/firmware.c @@ -46,6 +46,8 @@ typedef struct pxmcc_axis_data_t { int32_t ptcos; uint32_t ptphs; uint32_t pwm_cycle; + uint32_t cur_d_cum; + uint32_t cur_q_cum; uint32_t act_idle; uint32_t min_idle; @@ -456,6 +458,12 @@ void main(void) cur_q = -cur_alp * pxmcc->ptsin + cur_bet * pxmcc->ptcos; pxmcc->cur_dq = (cur_d & 0xffff0000) | ((cur_q >> 16) & 0xffff); + + pxmcc->cur_d_cum = ((pxmcc->cur_d_cum + cur_d) & ~0xff) | + (last_rx_done_sqn & 0x1f); + pxmcc->cur_q_cum = ((pxmcc->cur_q_cum + cur_q) & ~0xff) | + (last_rx_done_sqn & 0x1f); + } } }