]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/pipistrello-ols/protocol.c
asix-sigma: Adjust clock configuration upon acquisition start
[libsigrok.git] / src / hardware / pipistrello-ols / protocol.c
index 3db3aa4b5eaf01d9a6f04f061fc5c4499084fa8c..421934b2318d3bd2cea53927cea4b0150e937610 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <config.h>
 #include "protocol.h"
 
-extern SR_PRIV struct sr_dev_driver p_ols_driver_info;
-
 SR_PRIV int write_shortcommand(struct dev_context *devc, uint8_t command)
 {
        uint8_t buf[1];
@@ -226,7 +225,6 @@ SR_PRIV struct sr_dev_inst *p_ols_get_metadata(uint8_t *buf, int bytes_read, str
 
        sdi = g_malloc0(sizeof(struct sr_dev_inst));
        sdi->status = SR_ST_INACTIVE;
-       sdi->driver = &p_ols_driver_info;
        sdi->priv = devc;
 
        devname = g_string_new("");
@@ -426,7 +424,7 @@ SR_PRIV int p_ols_receive_data(int fd, int revents, void *cb_data)
                if (bytes_read < 0) {
                        sr_err("Failed to read FTDI data (%d): %s.",
                               bytes_read, ftdi_get_error_string(devc->ftdic));
-                       sdi->driver->dev_acquisition_stop(sdi, sdi);
+                       sdi->driver->dev_acquisition_stop(sdi);
                        return FALSE;
                }
                if (bytes_read == 0) {
@@ -647,12 +645,12 @@ SR_PRIV int p_ols_receive_data(int fd, int revents, void *cb_data)
                                logic.unitsize = 4;
                                logic.data = devc->raw_sample_buf +
                                        (devc->limit_samples - devc->num_samples) * 4;
-                               sr_session_send(cb_data, &packet);
+                               sr_session_send(sdi, &packet);
                        }
 
                        /* Send the trigger. */
                        packet.type = SR_DF_TRIGGER;
-                       sr_session_send(cb_data, &packet);
+                       sr_session_send(sdi, &packet);
 
                        /* Send post-trigger samples. */
                        packet.type = SR_DF_LOGIC;
@@ -661,7 +659,7 @@ SR_PRIV int p_ols_receive_data(int fd, int revents, void *cb_data)
                        logic.unitsize = 4;
                        logic.data = devc->raw_sample_buf + devc->trigger_at * 4 +
                                (devc->limit_samples - devc->num_samples) * 4;
-                       sr_session_send(cb_data, &packet);
+                       sr_session_send(sdi, &packet);
                } else {
                        /* no trigger was used */
                        packet.type = SR_DF_LOGIC;
@@ -670,11 +668,11 @@ SR_PRIV int p_ols_receive_data(int fd, int revents, void *cb_data)
                        logic.unitsize = 4;
                        logic.data = devc->raw_sample_buf +
                                (devc->limit_samples - devc->num_samples) * 4;
-                       sr_session_send(cb_data, &packet);
+                       sr_session_send(sdi, &packet);
                }
                g_free(devc->raw_sample_buf);
 
-               sdi->driver->dev_acquisition_stop(sdi, cb_data);
+               sdi->driver->dev_acquisition_stop(sdi);
        }
 
        return TRUE;