From 7bf37b575512e9a11d2ebe5c469f82557486403c Mon Sep 17 00:00:00 2001 From: Pavel Pisa Date: Sat, 6 Jun 2015 19:05:24 +0200 Subject: [PATCH] RPi PXMC Test: do not use cumulative current computation in currentcal command. FPGA design does provide direct output for now. Signed-off-by: Pavel Pisa --- src/app/rpi-pmsm-test1/appl_pxmccmds.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/app/rpi-pmsm-test1/appl_pxmccmds.c b/src/app/rpi-pmsm-test1/appl_pxmccmds.c index 2d69289..18dcbe6 100644 --- a/src/app/rpi-pmsm-test1/appl_pxmccmds.c +++ b/src/app/rpi-pmsm-test1/appl_pxmccmds.c @@ -134,20 +134,25 @@ int spimc_currentcal_accum(struct pxmc_state *mcs) int i; spimc_state_t *spimc = &spimc_state0; spimc_currentcal_state_t *cucalst = &spimc_currentcal_state; + int diff_to_last_fl = 0; if (cucalst->accum_cnt >= cucalst->req_accum) return 0; - - curadc_sqn_diff = spimc->curadc_sqn - spimc->curadc_sqn_last; - curadc_sqn_diff &= 0x1ff; + curadc_sqn_diff = spimc->curadc_sqn; + if (diff_to_last_fl) { + curadc_sqn_diff -= spimc->curadc_sqn_last; + curadc_sqn_diff &= 0x1ff; + } cucalst->accum_cnt += curadc_sqn_diff; for (i = 0; i < SPIMC_CHAN_COUNT; i++) { - curadc_val_diff = spimc->curadc_cumsum[i] - - spimc->curadc_cumsum_last[i]; - curadc_val_diff &= 0xffffff; + curadc_val_diff = spimc->curadc_cumsum[i]; + if (diff_to_last_fl) { + curadc_val_diff -= spimc->curadc_cumsum_last[i]; + curadc_val_diff &= 0xffffff; + } cucalst->curadc_accum[i] += curadc_val_diff; } -- 2.39.2