X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Flink-mso19%2Fprotocol.c;h=8721ec2b0c4761e4abf675de1e0a722821575057;hb=7f0463840ab5d6a85daaa76850558d2b71e596cf;hp=8d4f9056d6a51a6ea29a738abac2ba19bcbbd2b8;hpb=6525d819eef098a43b1f438ae4af50e67c9c4335;p=libsigrok.git diff --git a/src/hardware/link-mso19/protocol.c b/src/hardware/link-mso19/protocol.c index 8d4f9056..8721ec2b 100644 --- a/src/hardware/link-mso19/protocol.c +++ b/src/hardware/link-mso19/protocol.c @@ -30,8 +30,6 @@ static const char mso_head[] = { 0x40, 0x4c, 0x44, 0x53, 0x7e }; static const char mso_foot[] = { 0x7e }; -extern SR_PRIV struct sr_dev_driver link_mso19_driver_info; - SR_PRIV int mso_send_control_message(struct sr_serial_dev_inst *serial, uint16_t payload[], int n) { @@ -50,8 +48,8 @@ SR_PRIV int mso_send_control_message(struct sr_serial_dev_inst *serial, p += sizeof(mso_head); for (i = 0; i < n; i++) { - *(uint16_t *) p = g_htons(payload[i]); - p += 2; + WB16(p, payload[i]); + p += sizeof(uint16_t); } memcpy(p, mso_foot, sizeof(mso_foot)); @@ -102,7 +100,7 @@ SR_PRIV int mso_configure_trigger(const struct sr_dev_inst *sdi) trigger_config |= 0x20; //DSO level trigger & width < trigger_width break; case 2: - trigger_config |= 0x40; //DSO level trigger & width >= trigger_width + trigger_config |= 0x40; //DSO level trigger & width >= trigger_width break; case 3: trigger_config |= 0x60; //LA combination trigger @@ -291,7 +289,7 @@ SR_PRIV void stop_acquisition(const struct sr_dev_inst *sdi) devc = sdi->priv; serial_source_remove(sdi->session, devc->serial); - std_session_send_df_end(sdi, LOG_PREFIX); + std_session_send_df_end(sdi); } SR_PRIV int mso_clkrate_out(struct sr_serial_dev_inst *serial, uint16_t val) @@ -351,25 +349,10 @@ SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data) { struct sr_datafeed_packet packet; struct sr_datafeed_logic logic; - struct sr_dev_inst *sdi; - GSList *l; + struct sr_dev_inst *sdi = cb_data; + struct dev_context *devc = sdi->priv; int i; - struct drv_context *drvc = di->context; - - /* Find this device's devc struct by its fd. */ - struct dev_context *devc = NULL; - for (l = drvc->instances; l; l = l->next) { - sdi = l->data; - devc = sdi->priv; - if (devc->serial->fd == fd) - break; - devc = NULL; - } - if (!devc) - /* Shouldn't happen. */ - return TRUE; - (void)revents; uint8_t in[1024]; @@ -422,7 +405,7 @@ SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data) if (devc->limit_samples && devc->num_samples >= devc->limit_samples) { sr_info("Requested number of samples reached."); - sdi->driver->dev_acquisition_stop(sdi); + sr_dev_acquisition_stop(sdi); } return TRUE;