diff --git a/src/sm_io/modules/acq/sm_io_acq_exp.c b/src/sm_io/modules/acq/sm_io_acq_exp.c index f85feeeb2119fc3dd86deab588dcefbc511d2207..1319d11aad5831cfed8e4e4fbeaf9c75d41d11fb 100644 --- a/src/sm_io/modules/acq/sm_io_acq_exp.c +++ b/src/sm_io/modules/acq/sm_io_acq_exp.c @@ -114,8 +114,10 @@ static int _acq_data_acquire (void *owner, void *args, void *ret) return -ACQ_NUM_CHAN_OOR; } - /* number of samples required is out of the maximum limit */ - uint32_t max_samples_multishot = ACQ_CORE_MULTISHOT_MEM_SIZE/acq->acq_buf[chan].sample_size; + /* number of samples required is out of the maximum limit. Maixmum number of samples + * in multishot mode is simply the maximum number of samples of the DPRAM. The DPRAM + * size is calculated to fit the largest sample in the design, so we are safe. */ + uint32_t max_samples_multishot = ACQ_CORE_MULTISHOT_MEM_SIZE; if (((num_shots == ACQ_CORE_MIN_NUM_SHOTS) && (num_samples_pre + num_samples_post > acq->acq_buf[chan].max_samples)) || ((num_shots > ACQ_CORE_MIN_NUM_SHOTS) &&