-#ifdef DEMO_ANALOG
- packet.type = DF_ANALOG;
-
- packet.length = (z / 3) * sample_size;
- packet.unitsize = sample_size;
-
- buf = malloc(sample_size * packet.length);
- if (!buf)
- return FALSE;
-
- /* Craft our packet. */
- for (i = 0; i < z / 3; i++) {
- sample = (struct analog_sample *) (buf + (i * sample_size));
- sample->num_probes = NUM_PROBES;
-
- /* 8 Logic probes */
- for (x = 0; x < NUM_PROBES - 1; x++) {
- sample->probes[x].val =
- (c[i * 3] >> x) & 1;
- sample->probes[x].res = 1;
- }
-
- /* 1 Analog probe, 16 bit adc */
- for (; x < NUM_PROBES; x++) {
- sample->probes[x].val =
- *(uint16_t *) (c + i * 3 + 1);
- sample->probes[x].val &= ((1 << 16) - 1);
- sample->probes[x].res = 16;
- }
-
- }
-
- packet.payload = buf;
- session_bus(user_data, &packet);
- free(buf);
-#else
- packet.type = DF_LOGIC;
- packet.length = z;
- packet.unitsize = 1;
- packet.payload = c;
- session_bus(user_data, &packet);
-#endif
+ packet.type = SR_DF_LOGIC;
+ packet.payload = &logic;
+ logic.length = z;
+ logic.unitsize = 1;
+ logic.data = c;
+ sr_session_bus(session_data, &packet);
+ samples_received += z;