X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhardware%2Flecroy-logicstudio%2Fprotocol.c;h=b7bf8b593e6606b86e773942156afc13974f3e87;hb=fe4acad1c2e39040c787b6245284b29c8b1b1c20;hp=9c825991b69427e6494457608dc3e8494db05cd2;hpb=ff7c7cda93a8457777eda9466c561d62313a9d49;p=libsigrok.git diff --git a/src/hardware/lecroy-logicstudio/protocol.c b/src/hardware/lecroy-logicstudio/protocol.c index 9c825991..b7bf8b59 100644 --- a/src/hardware/lecroy-logicstudio/protocol.c +++ b/src/hardware/lecroy-logicstudio/protocol.c @@ -310,7 +310,7 @@ static int fetch_samples_async(const struct sr_dev_inst *sdi) prep_regw(&cmd[i++], REG_FETCH_SAMPLES, devc->magic_fetch_samples + 0x01); prep_regw(&cmd[i++], REG_FETCH_SAMPLES, devc->magic_fetch_samples | 0x02); - return write_registers_async(sdi, 0x12, 5444, cmd, ARRAY_SIZE(cmd), + return write_registers_async(sdi, 0x12, 5444, ARRAY_AND_SIZE(cmd), handle_fetch_samples_done); } @@ -522,7 +522,7 @@ static int upload_trigger(const struct sr_dev_inst *sdi, prep_regw(®s[k++], REG_TRIGGER_CFG, value); } - if (write_registers_sync(sdi, 0x12, 5444, regs, ARRAY_SIZE(regs))) { + if (write_registers_sync(sdi, 0x12, 5444, ARRAY_AND_SIZE(regs))) { sr_err("Failed to upload trigger config."); return SR_ERR; } @@ -912,15 +912,13 @@ static void LIBUSB_CALL recv_intr_transfer(struct libusb_transfer *xfer) const struct sr_dev_inst *sdi; struct drv_context *drvc; struct dev_context *devc; - struct sr_datafeed_packet packet; sdi = xfer->user_data; drvc = sdi->driver->context; devc = sdi->priv; if (devc->abort_acquisition) { - packet.type = SR_DF_END; - sr_session_send(sdi, &packet); + std_session_send_df_end(sdi); usb_source_remove(sdi->session, drvc->sr_ctx); return; } @@ -1005,7 +1003,6 @@ static void LIBUSB_CALL recv_bulk_transfer(struct libusb_transfer *xfer) const struct sr_dev_inst *sdi; struct dev_context *devc; struct drv_context *drvc; - struct sr_datafeed_packet packet; uint32_t bytes_left, length; uint16_t read_offset, trigger_offset; @@ -1071,10 +1068,7 @@ static void LIBUSB_CALL recv_bulk_transfer(struct libusb_transfer *xfer) } /* Here comes the trigger. */ - packet.type = SR_DF_TRIGGER; - packet.payload = NULL; - - sr_session_send(sdi, &packet); + std_session_send_df_trigger(sdi); /* Send post-trigger samples. */ while (bytes_left > 0) { @@ -1091,8 +1085,7 @@ static void LIBUSB_CALL recv_bulk_transfer(struct libusb_transfer *xfer) read_offset %= SAMPLE_BUF_SIZE; } - packet.type = SR_DF_END; - sr_session_send(sdi, &packet); + std_session_send_df_end(sdi); } static uint32_t transform_sample_count(struct dev_context *devc, @@ -1130,7 +1123,7 @@ SR_PRIV int lls_start_acquisition(const struct sr_dev_inst *sdi) total_samples = devc->num_thousand_samples * 1000; - pre_trigger_samples = total_samples * devc->capture_ratio / 100; + pre_trigger_samples = (total_samples * devc->capture_ratio) / 100; post_trigger_samples = total_samples - pre_trigger_samples; pre_trigger_tr = transform_sample_count(devc, pre_trigger_samples); @@ -1165,7 +1158,7 @@ SR_PRIV int lls_start_acquisition(const struct sr_dev_inst *sdi) devc->magic_arm_trigger = 0x0c; prep_regw(&cmd[i++], REG_ARM_TRIGGER, devc->magic_arm_trigger | 0x01); - return write_registers_sync(sdi, 0x12, 5444, cmd, ARRAY_SIZE(cmd)); + return write_registers_sync(sdi, 0x12, 5444, ARRAY_AND_SIZE(cmd)); } SR_PRIV int lls_stop_acquisition(const struct sr_dev_inst *sdi) @@ -1185,5 +1178,5 @@ SR_PRIV int lls_stop_acquisition(const struct sr_dev_inst *sdi) assert(i == ARRAY_SIZE(cmd)); - return write_registers_sync(sdi, 0x12, 5444, cmd, ARRAY_SIZE(cmd)); + return write_registers_sync(sdi, 0x12, 5444, ARRAY_AND_SIZE(cmd)); }