- sample_config_le(cfg);
- ret = ctrl_out(sdi, 32, CTRL_SAMPLING, 0, &cfg, sizeof(cfg));
+ psa = devc->pre_trigger_size * 256;
+ wrptr = buf;
+ write_u32le_inc(&wrptr, devc->limit_samples);
+ write_u48le_inc(&wrptr, psa);
+ write_u32le_inc(&wrptr, (total * devc->capture_ratio) / 100);
+ write_u16le_inc(&wrptr, clock_divisor);
+
+ ret = ctrl_out(sdi, 32, CTRL_SAMPLING, 0, buf, wrptr - buf);