hantek-4032l: Fix broken triggering on low signal.

The trigger range/mask "compression" procedure is apparently not
required and breaks triggering on a low line state.

This has been verified to fix the issue on a Hantek 4032L with FPGA
version 0x4303. It is possible that the procedure mentioned above
might be required for other FPGA versions, though that is unknown.

If you experience trigger issues with other FPGA versions, please
contact us for further debugging and testing.

This fixes bug #1402.
This commit is contained in:
Uwe Hermann 2019-07-06 23:22:47 +02:00
parent e6bb2984e9
commit 80d3497569
1 changed files with 3 additions and 19 deletions

View File

@ -587,25 +587,9 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
channel = channel->next;
}
/* Compress range mask value and apply range settings. */
if (range_mask) {
cmd_pkt->trigger[0].flags.data_range_enabled = 1;
cmd_pkt->trigger[0].data_range_mask |= range_mask;
uint32_t new_range_value = 0;
uint32_t bit_mask = 1;
while (range_mask) {
if ((range_mask & 1) != 0) {
new_range_value <<= 1;
if ((range_value & 1) != 0)
new_range_value |= bit_mask;
bit_mask <<= 1;
}
range_mask >>= 1;
range_value >>= 1;
}
cmd_pkt->trigger[0].data_range_max |= range_value;
}
cmd_pkt->trigger[0].flags.data_range_enabled = 1;
cmd_pkt->trigger[0].data_range_mask |= range_mask;
cmd_pkt->trigger[0].data_range_max = range_value;
}
usb_source_add(sdi->session, drvc->sr_ctx, 1000,