devc->id.serno = serno_num;
devc->id.prefix = serno_pre;
devc->id.type = dev_type;
- sr_sw_limits_init(&devc->cfg_limits);
+ sr_sw_limits_init(&devc->limit.config);
devc->capture_ratio = 50;
devc->use_triggers = FALSE;
break;
case SR_CONF_LIMIT_MSEC:
case SR_CONF_LIMIT_SAMPLES:
- return sr_sw_limits_config_get(&devc->cfg_limits, key, data);
+ return sr_sw_limits_config_get(&devc->limit.config, key, data);
#if ASIX_SIGMA_WITH_TRIGGER
case SR_CONF_CAPTURE_RATIO:
*data = g_variant_new_uint64(devc->capture_ratio);
break;
case SR_CONF_LIMIT_MSEC:
case SR_CONF_LIMIT_SAMPLES:
- return sr_sw_limits_config_set(&devc->cfg_limits, key, data);
+ return sr_sw_limits_config_set(&devc->limit.config, key, data);
#if ASIX_SIGMA_WITH_TRIGGER
case SR_CONF_CAPTURE_RATIO:
devc->capture_ratio = g_variant_get_uint64(data);
/* Find which pin to trigger on from mask. */
for (triggerpin = 0; triggerpin < 8; triggerpin++) {
- if (devc->trigger.risingmask & (1 << triggerpin))
+ if (devc->trigger.risingmask & BIT(triggerpin))
break;
- if (devc->trigger.fallingmask & (1 << triggerpin))
+ if (devc->trigger.fallingmask & BIT(triggerpin))
break;
}
* Derive a mask where bits are set for unavailable channels.
* Either send the single byte, or the full byte sequence.
*/
- pindis_mask = ~((1UL << devc->num_channels) - 1);
+ pindis_mask = ~BITS_MASK(devc->interp.num_channels);
if (devc->clock.samplerate > SR_MHZ(50)) {
ret = sigma_set_register(devc, WRITE_CLOCK_SELECT,
pindis_mask & 0xff);
/* Start acqusition. */
regval = WMR_TRGRES | WMR_SDRAMWRITEEN;
-#if ASIX_SIGMA_WITH_TRIGGER
- regval |= WMR_TRGEN;
-#endif
+ if (devc->use_triggers && ASIX_SIGMA_WITH_TRIGGER)
+ regval |= WMR_TRGEN;
ret = sigma_set_register(devc, WRITE_MODE, regval);
if (ret != SR_OK)
return ret;
if (ret != SR_OK)
return ret;
- devc->state.state = SIGMA_CAPTURE;
+ devc->state = SIGMA_CAPTURE;
return SR_OK;
}
* already. The detour is required to have sample data retrieved
* for forced acquisition stops.
*/
- if (devc->state.state == SIGMA_CAPTURE) {
- devc->state.state = SIGMA_STOPPING;
+ if (devc->state == SIGMA_CAPTURE) {
+ devc->state = SIGMA_STOPPING;
} else {
- devc->state.state = SIGMA_IDLE;
+ devc->state = SIGMA_IDLE;
(void)sr_session_source_remove(sdi->session, -1);
}