int spl_cnt;
uint8_t *linevalues;
char *header;
+ int mark_trigger;
};
static void flush_linebufs(struct context *ctx, char *outbuf)
sprintf(outbuf + strlen(outbuf), "%*s:%s\n", max_probename_len,
ctx->probelist[i], ctx->linebuf + i * ctx->linebuf_len);
}
+
+ /* Mark trigger with ^ */
+ if (ctx->mark_trigger != -1)
+ sprintf(outbuf + strlen(outbuf), "T:%*s^\n",
+ ctx->mark_trigger + (ctx->mark_trigger / 8), "");
+
memset(ctx->linebuf, 0, i * ctx->linebuf_len);
}
ctx->unitsize = (ctx->num_enabled_probes + 7) / 8;
ctx->line_offset = 0;
ctx->spl_cnt = 0;
+ ctx->mark_trigger = -1;
if (o->param && o->param[0])
ctx->samples_per_line = strtoul(o->param, NULL, 10);
ctx = o->internal;
switch (event_type) {
case DF_TRIGGER:
+ ctx->mark_trigger = ctx->spl_cnt;
break;
case DF_END:
outsize = ctx->num_enabled_probes
if (ctx->spl_cnt >= ctx->samples_per_line) {
flush_linebufs(ctx, outbuf);
ctx->line_offset = ctx->spl_cnt = 0;
+ ctx->mark_trigger = -1;
}
}
} else