/* got metadata */
sdi = get_metadata(fds[i].fd);
sdi->index = final_devcnt;
+ ctx = sdi->priv;
} else {
/* not an OLS -- some other board that uses the sump protocol */
sdi = sr_dev_inst_new(final_devcnt, SR_ST_INACTIVE,
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index))) {
sr_err("ols: %s: sdi was NULL", __func__);
- return SR_ERR; /* TODO: SR_ERR_ARG? */
+ return SR_ERR_BUG;
}
ctx = sdi->priv;
ctx = NULL;
for (l = dev_insts; l; l = l->next) {
sdi = l->data;
+ ctx = sdi->priv;
if (ctx->serial->fd == fd) {
- ctx = sdi->priv;
break;
}
+ ctx = NULL;
}
if (!ctx)
/* Shouldn't happen. */
{
struct sr_datafeed_packet *packet;
struct sr_datafeed_header *header;
+ struct sr_datafeed_meta_logic meta;
struct sr_dev_inst *sdi;
struct context *ctx;
uint32_t trigger_config[4];
packet->payload = (unsigned char *)header;
header->feed_version = 1;
gettimeofday(&header->starttime, NULL);
- header->samplerate = ctx->cur_samplerate;
- header->num_logic_probes = NUM_PROBES;
+ sr_session_send(cb_data, packet);
+
+ /* Send metadata about the SR_DF_LOGIC packets to come. */
+ packet->type = SR_DF_META_LOGIC;
+ packet->payload = &meta;
+ meta.samplerate = ctx->cur_samplerate;
+ meta.num_probes = NUM_PROBES;
sr_session_send(cb_data, packet);
g_free(header);