output: simplify trigger marker position calculation (readability)

This amends commit 67b345b981 which fixed the calculation of the
trigger marker's position. Improve readability of the formulae and
adjust comments.
This commit is contained in:
Gerhard Sittig 2018-07-15 20:11:58 +02:00
parent 67b345b981
commit 3387a5d8ee
3 changed files with 11 additions and 16 deletions

View File

@ -200,10 +200,9 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
g_string_append_c(*out, '\n');
if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) {
/*
* Each group of 8 bits occupies 8 bit positions
* and no separator. With this dense presentation
* the "calculation" of the trigger position is
* rather straight forward.
* Sample data lines have one character per bit and
* no separator between bytes. Align trigger marker
* to this layout.
*/
offset = ctx->trigger;
g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger);

View File

@ -169,13 +169,11 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
g_string_append_c(*out, '\n');
if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) {
/*
* Each group of 8 bits occupies 8 bit positions
* plus 1 separator. Calculate the position of the
* byte which contains the trigger, then adjust for
* the trigger's bit position within that byte.
* Sample data lines have one character per bit,
* plus one separator per byte. Align trigger marker
* to this layout.
*/
offset = ctx->trigger / 8 * (8 + 1);
offset += ctx->trigger % 8;
offset = ctx->trigger + ctx->trigger / 8;
g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger);
ctx->trigger = -1;
}

View File

@ -182,13 +182,11 @@ static int receive(const struct sr_output *o, const struct sr_datafeed_packet *p
g_string_append_c(*out, '\n');
if (j == ctx->num_enabled_channels - 1 && ctx->trigger > -1) {
/*
* Each group of 8 bits occupies 2 hex digits plus
* 1 separator. Calculate the position of the byte
* which contains the trigger, then adjust for the
* trigger's bit position within that byte.
* Sample data lines have one character per nibble,
* plus one separator per byte. Align trigger marker
* to this layout.
*/
offset = ctx->trigger / 8 * (2 + 1);
offset += (ctx->trigger % 8) / 4;
offset = ctx->trigger / 4 + ctx->trigger / 8;
g_string_append_printf(*out, "T:%*s^ %d\n", offset, "", ctx->trigger);
ctx->trigger = -1;
}