]> rtime.felk.cvut.cz Git - fpga/rpi-motor-control-pxmc.git/commitdiff
RPi PXMC Test: switch current calibration to work for cumulative ADC FPGA design. master
authorPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 18 Sep 2017 13:59:21 +0000 (15:59 +0200)
committerPavel Pisa <pisa@cmp.felk.cvut.cz>
Mon, 18 Sep 2017 14:02:21 +0000 (16:02 +0200)
Signed-off-by: Pavel Pisa <pisa@cmp.felk.cvut.cz>
src/app/rpi-pmsm-test1/appl_pxmccmds.c
src/app/rpi-pmsm-test1/pxmc_spimc.h
src/app/rpi-pmsm-test1/rpi_spi.c
src/app/rpi-pmsm-test1/zynq_3pmdrv1_mc.c
src/app/rpi-pmsm-test1/zynq_3pmdrv1_mc.h

index 9621ec8c4deb44ab3720ec94e1295258b5781061..a79deff2a0900ab461286d32bba0abb01073e5d1 100644 (file)
@@ -143,7 +143,7 @@ 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;
+  int diff_to_last_fl = spimc->curadc_use_diff_to_last_fl;
 
   if (cucalst->accum_cnt >= cucalst->req_accum)
     return 0;
index b26f71f8705c70c90521df982fc47005b1629d3d..f9768cf9b40cb7a9296e5a05dfccc657051547b8 100644 (file)
@@ -25,8 +25,9 @@ typedef struct spimc_state_t {
   uint16_t curadc_sqn_last;
   uint32_t curadc_cumsum[SPIMC_CHAN_COUNT];
   uint32_t curadc_cumsum_last[SPIMC_CHAN_COUNT];
-  uint8_t tx_buf[SPIMC_TRANSFER_SIZE];
-  uint8_t rx_buf[SPIMC_TRANSFER_SIZE];
+  uint8_t  tx_buf[SPIMC_TRANSFER_SIZE];
+  uint8_t  rx_buf[SPIMC_TRANSFER_SIZE];
+  int      curadc_use_diff_to_last_fl;
 } spimc_state_t;
 
 int spimc_init(spimc_state_t *spimcst);
index 5e93cc1f9af72f46ec632a86c42f05b9095d212b..8974cc9abf3387e80b0cd4ce22e3d29585e6af20 100644 (file)
@@ -282,5 +282,7 @@ int spimc_init(spimc_state_t *spimcst)
 
        spimcst->spi_fd = fd;
 
+       spimcst->curadc_use_diff_to_last_fl = 0;
+
        return ret;
 }
index 4c55186eca2f9e65050772c786a1b2f2c5df6cd6..796ee53c32b46e5e16a8f54c0dbef0c4f968fddc 100644 (file)
@@ -224,5 +224,7 @@ int z3pmdrv1_init(z3pmdrv1_state_t *z3pmcst)
 
        z3pmcst->index_pos = z3pmdrv1_reg_rd(z3pmcst, Z3PMDRV1_REG_IRC_IDX_POS_o);
 
+       z3pmcst->curadc_use_diff_to_last_fl = 1;
+
        return ret;
 }
index 82d2e8093e7db6c6dffe4af6c78e9bf5b877ff0b..a86055261d76ff79b1297f6d6cc56c0ede06586a 100644 (file)
@@ -24,6 +24,7 @@ typedef struct z3pmdrv1_state_t {
   uint16_t curadc_sqn_last;
   uint32_t curadc_cumsum[Z3PMDRV1_CHAN_COUNT];
   uint32_t curadc_cumsum_last[Z3PMDRV1_CHAN_COUNT];
+  int      curadc_use_diff_to_last_fl;
 } z3pmdrv1_state_t;
 
 int z3pmdrv1_init(z3pmdrv1_state_t *z3pmcst);