X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Ffx2lafw%2Fprotocol.c;h=1ea9020958c4dabc6f0ca08e2e6013d00d6d63c4;hb=4374219bc8c26997bb5c13c57f0babe3a61cd47e;hp=303118d7e1fe44f732d20c6079fa282977fd6731;hpb=6c60facc190a03c50aa66d4b1d17c825fec5d20e;p=libsigrok.git diff --git a/hardware/fx2lafw/protocol.c b/hardware/fx2lafw/protocol.c index 303118d7..1ea90209 100644 --- a/hardware/fx2lafw/protocol.c +++ b/hardware/fx2lafw/protocol.c @@ -355,7 +355,7 @@ SR_PRIV struct dev_context *fx2lafw_dev_new(void) devc->fw_updated = 0; devc->cur_samplerate = 0; devc->limit_samples = 0; - devc->sample_wide = 0; + devc->sample_wide = FALSE; return devc; } @@ -432,6 +432,7 @@ SR_PRIV void fx2lafw_receive_transfer(struct libusb_transfer *transfer) int trigger_offset, i, sample_width, cur_sample_count; int trigger_offset_bytes; uint8_t *cur_buf; + uint16_t cur_sample; devc = transfer->user_data; @@ -486,9 +487,9 @@ SR_PRIV void fx2lafw_receive_transfer(struct libusb_transfer *transfer) if (devc->trigger_stage >= 0) { for (i = 0; i < cur_sample_count; i++) { - const uint16_t cur_sample = devc->sample_wide ? - *((const uint16_t*)cur_buf + i) : - *((const uint8_t*)cur_buf + i); + cur_sample = devc->sample_wide ? + *((uint16_t *)cur_buf + i) : + *((uint8_t *)cur_buf + i); if ((cur_sample & devc->trigger_mask[devc->trigger_stage]) == devc->trigger_value[devc->trigger_stage]) { @@ -515,7 +516,7 @@ SR_PRIV void fx2lafw_receive_transfer(struct libusb_transfer *transfer) */ packet.type = SR_DF_LOGIC; packet.payload = &logic; - logic.unitsize = sizeof(*devc->trigger_buffer); + logic.unitsize = sample_width; logic.length = devc->trigger_stage * logic.unitsize; logic.data = devc->trigger_buffer; sr_session_send(devc->cb_data, &packet);