uint16_t val;
};
-static void handle_fetch_samples_done(struct libusb_transfer *xfer);
-static void recv_bulk_transfer(struct libusb_transfer *xfer);
+static void LIBUSB_CALL handle_fetch_samples_done(struct libusb_transfer *xfer);
+static void LIBUSB_CALL recv_bulk_transfer(struct libusb_transfer *xfer);
static const struct samplerate_info samplerates[] = {
{ SR_GHZ(1), -24, 0x1f },
regval->val = val;
}
-static void handle_fetch_samples_done(struct libusb_transfer *xfer)
+static void LIBUSB_CALL handle_fetch_samples_done(struct libusb_transfer *xfer)
{
const struct sr_dev_inst *sdi;
struct sr_usb_dev_inst *usb;
prep_regw(&cmd[i++], REG_FETCH_SAMPLES, devc->magic_fetch_samples + 0x01);
prep_regw(&cmd[i++], REG_FETCH_SAMPLES, devc->magic_fetch_samples | 0x02);
- return write_registers_async(sdi, 0x12, 5444, cmd, ARRAY_SIZE(cmd),
+ return write_registers_async(sdi, 0x12, 5444, ARRAY_AND_SIZE(cmd),
handle_fetch_samples_done);
}
prep_regw(®s[k++], REG_TRIGGER_CFG, value);
}
- if (write_registers_sync(sdi, 0x12, 5444, regs, ARRAY_SIZE(regs))) {
+ if (write_registers_sync(sdi, 0x12, 5444, ARRAY_AND_SIZE(regs))) {
sr_err("Failed to upload trigger config.");
return SR_ERR;
}
return SR_OK;
}
-static void recv_intr_transfer(struct libusb_transfer *xfer)
+static void LIBUSB_CALL recv_intr_transfer(struct libusb_transfer *xfer)
{
const struct sr_dev_inst *sdi;
struct drv_context *drvc;
struct dev_context *devc;
- struct sr_datafeed_packet packet;
sdi = xfer->user_data;
drvc = sdi->driver->context;
devc = sdi->priv;
if (devc->abort_acquisition) {
- packet.type = SR_DF_END;
- sr_session_send(sdi, &packet);
+ std_session_send_df_end(sdi);
usb_source_remove(sdi->session, drvc->sr_ctx);
return;
}
return o * devc->num_enabled_channel_groups;
}
-static void recv_bulk_transfer(struct libusb_transfer *xfer)
+static void LIBUSB_CALL recv_bulk_transfer(struct libusb_transfer *xfer)
{
const struct sr_dev_inst *sdi;
struct dev_context *devc;
struct drv_context *drvc;
- struct sr_datafeed_packet packet;
uint32_t bytes_left, length;
uint16_t read_offset, trigger_offset;
}
/* Here comes the trigger. */
- packet.type = SR_DF_TRIGGER;
- packet.payload = NULL;
-
- sr_session_send(sdi, &packet);
+ std_session_send_df_trigger(sdi);
/* Send post-trigger samples. */
while (bytes_left > 0) {
read_offset %= SAMPLE_BUF_SIZE;
}
- packet.type = SR_DF_END;
- sr_session_send(sdi, &packet);
+ std_session_send_df_end(sdi);
}
static uint32_t transform_sample_count(struct dev_context *devc,
total_samples = devc->num_thousand_samples * 1000;
- pre_trigger_samples = total_samples * devc->capture_ratio / 100;
+ pre_trigger_samples = (total_samples * devc->capture_ratio) / 100;
post_trigger_samples = total_samples - pre_trigger_samples;
pre_trigger_tr = transform_sample_count(devc, pre_trigger_samples);
devc->magic_arm_trigger = 0x0c;
prep_regw(&cmd[i++], REG_ARM_TRIGGER, devc->magic_arm_trigger | 0x01);
- return write_registers_sync(sdi, 0x12, 5444, cmd, ARRAY_SIZE(cmd));
+ return write_registers_sync(sdi, 0x12, 5444, ARRAY_AND_SIZE(cmd));
}
SR_PRIV int lls_stop_acquisition(const struct sr_dev_inst *sdi)
assert(i == ARRAY_SIZE(cmd));
- return write_registers_sync(sdi, 0x12, 5444, cmd, ARRAY_SIZE(cmd));
+ return write_registers_sync(sdi, 0x12, 5444, ARRAY_AND_SIZE(cmd));
}