+
+ for (i = 0; i < count; i++) {
+ sample = (struct sr_analog_sample *)
+ (outb + (i * sample_size));
+ sample->num_probes = NUM_PROBES;
+
+ for (x = 0; x < NUM_PROBES; x++) {
+ sample->probes[x].val =
+ *(uint16_t *)(inb + (i * 4) + (x * 2));
+ sample->probes[x].val &= ((1 << 16) - 1);
+ sample->probes[x].res = 16;
+ }
+ }
+
+ packet.type = SR_DF_ANALOG;
+ packet.length = count * sample_size;
+ packet.unitsize = sample_size;
+ packet.payload = outb;
+ sr_session_send(sdi, &packet);
+ g_free(outb);
+ ctx->limit_samples -= count;
+
+ } while (ctx->limit_samples > 0);
+
+ packet.type = SR_DF_END;
+ sr_session_send(sdi, &packet);