return SR_OK;
}
-SR_PRIV int fx2lafw_configure_probes(const struct sr_dev_inst *sdi)
+SR_PRIV int fx2lafw_configure_channels(const struct sr_dev_inst *sdi)
{
struct dev_context *devc;
- struct sr_probe *probe;
+ struct sr_channel *ch;
GSList *l;
- int probe_bit, stage, i;
+ int channel_bit, stage, i;
char *tc;
devc = sdi->priv;
}
stage = -1;
- for (l = sdi->probes; l; l = l->next) {
- probe = (struct sr_probe *)l->data;
- if (probe->enabled == FALSE)
+ for (l = sdi->channels; l; l = l->next) {
+ ch = (struct sr_channel *)l->data;
+ if (ch->enabled == FALSE)
continue;
- if (probe->index > 7)
+ if (ch->index > 7)
devc->sample_wide = TRUE;
- probe_bit = 1 << (probe->index);
- if (!(probe->trigger))
+ channel_bit = 1 << (ch->index);
+ if (!(ch->trigger))
continue;
stage = 0;
- for (tc = probe->trigger; *tc; tc++) {
- devc->trigger_mask[stage] |= probe_bit;
+ for (tc = ch->trigger; *tc; tc++) {
+ devc->trigger_mask[stage] |= channel_bit;
if (*tc == '1')
- devc->trigger_value[stage] |= probe_bit;
+ devc->trigger_value[stage] |= channel_bit;
stage++;
if (stage > NUM_TRIGGER_STAGES)
return SR_ERR;
devc->fw_updated = 0;
devc->cur_samplerate = 0;
devc->limit_samples = 0;
- devc->sample_wide = 0;
+ devc->sample_wide = FALSE;
return devc;
}
static void finish_acquisition(struct dev_context *devc)
{
struct sr_datafeed_packet packet;
- int i;
/* Terminate session. */
packet.type = SR_DF_END;
sr_session_send(devc->cb_data, &packet);
/* Remove fds from polling. */
- for (i = 0; devc->usbfd[i] != -1; i++)
- sr_source_remove(devc->usbfd[i]);
- g_free(devc->usbfd);
+ usb_source_remove(devc->ctx);
devc->num_transfers = 0;
g_free(devc->transfers);
int trigger_offset, i, sample_width, cur_sample_count;
int trigger_offset_bytes;
uint8_t *cur_buf;
+ uint16_t cur_sample;
devc = transfer->user_data;
if (devc->trigger_stage >= 0) {
for (i = 0; i < cur_sample_count; i++) {
- const uint16_t cur_sample = devc->sample_wide ?
- *((const uint16_t*)cur_buf + i) :
- *((const uint8_t*)cur_buf + i);
+ cur_sample = devc->sample_wide ?
+ *((uint16_t *)cur_buf + i) :
+ *((uint8_t *)cur_buf + i);
if ((cur_sample & devc->trigger_mask[devc->trigger_stage]) ==
devc->trigger_value[devc->trigger_stage]) {
*/
packet.type = SR_DF_LOGIC;
packet.payload = &logic;
- logic.unitsize = sizeof(*devc->trigger_buffer);
+ logic.unitsize = sample_width;
logic.length = devc->trigger_stage * logic.unitsize;
logic.data = devc->trigger_buffer;
sr_session_send(devc->cb_data, &packet);