X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Flink-mso19%2Fprotocol.c;h=8d4f9056d6a51a6ea29a738abac2ba19bcbbd2b8;hb=700d6b64d578ce10e57f6a2289e37a5564eccf1c;hp=11fa8a616f79960795983833e953122537128d93;hpb=a95f142e88fa5368adfabf87544acfdeed7d7604;p=libsigrok.git diff --git a/src/hardware/link-mso19/protocol.c b/src/hardware/link-mso19/protocol.c index 11fa8a61..8d4f9056 100644 --- a/src/hardware/link-mso19/protocol.c +++ b/src/hardware/link-mso19/protocol.c @@ -19,6 +19,7 @@ * along with this program. If not, see . */ +#include #include "protocol.h" /* serial protocol */ @@ -198,7 +199,7 @@ SR_PRIV int mso_dac_out(const struct sr_dev_inst *sdi, uint16_t val) return mso_send_control_message(devc->serial, ARRAY_AND_SIZE(ops)); } -SR_PRIV inline uint16_t mso_calc_raw_from_mv(struct dev_context * devc) +SR_PRIV uint16_t mso_calc_raw_from_mv(struct dev_context *devc) { return (uint16_t) (0x200 - ((devc->dso_trigger_voltage / devc->dso_probe_attn) / @@ -285,15 +286,12 @@ SR_PRIV int mso_toggle_led(struct sr_dev_inst *sdi, int state) SR_PRIV void stop_acquisition(const struct sr_dev_inst *sdi) { - struct sr_datafeed_packet packet; struct dev_context *devc; devc = sdi->priv; serial_source_remove(sdi->session, devc->serial); - /* Terminate session */ - packet.type = SR_DF_END; - sr_session_send(sdi, &packet); + std_session_send_df_end(sdi, LOG_PREFIX); } SR_PRIV int mso_clkrate_out(struct sr_serial_dev_inst *serial, uint16_t val) @@ -336,7 +334,7 @@ SR_PRIV int mso_check_trigger(struct sr_serial_dev_inst *serial, uint8_t *info) sr_dbg("Requesting trigger state."); ret = mso_send_control_message(serial, ARRAY_AND_SIZE(ops)); - if (info == NULL || ret != SR_OK) + if (!info || ret != SR_OK) return ret; uint8_t buf = 0; @@ -357,7 +355,7 @@ SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data) GSList *l; int i; - struct drv_context *drvc = di->priv; + struct drv_context *drvc = di->context; /* Find this device's devc struct by its fd. */ struct dev_context *devc = NULL; @@ -418,13 +416,13 @@ SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data) logic.length = 1024; logic.unitsize = 1; logic.data = logic_out; - sr_session_send(cb_data, &packet); + sr_session_send(sdi, &packet); devc->num_samples += 1024; if (devc->limit_samples && devc->num_samples >= devc->limit_samples) { sr_info("Requested number of samples reached."); - sdi->driver->dev_acquisition_stop(sdi, cb_data); + sdi->driver->dev_acquisition_stop(sdi); } return TRUE;