]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/baylibre-acme/protocol.h
baylibre-acme: Use software limit helpers
[libsigrok.git] / src / hardware / baylibre-acme / protocol.h
index 13c00fe684679b9ec3aaeae9935909f11240447e..cb5f1f9af994710dc0d9c02e260cfe2800421a26 100644 (file)
@@ -23,7 +23,7 @@
 #include <stdint.h>
 #include <glib.h>
 #include <unistd.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
 #include "libsigrok-internal.h"
 
 #define LOG_PREFIX "baylibre-acme"
@@ -49,25 +49,15 @@ enum probe_type {
        PROBE_TEMP,
 };
 
-enum channel_type {
-       ENRG_PWR = 1,
-       ENRG_CURR,
-       ENRG_VOL,
-       TEMP_IN,
-       TEMP_OUT,
-};
-
 /** Private, per-device-instance driver context. */
 struct dev_context {
        uint64_t samplerate;
-       uint64_t limit_samples;
-       uint64_t limit_msec;
+       struct sr_sw_limits limits;
 
        uint32_t num_channels;
-       uint64_t samples_read;
-       int64_t start_time;
+       uint64_t samples_missed;
        int64_t last_sample_fin;
-       int pipe_fds[2];
+       int timer_fd;
        GIOChannel *channel;
 };
 
@@ -98,4 +88,7 @@ SR_PRIV int bl_acme_set_power_off(const struct sr_channel_group *cg,
 
 SR_PRIV int bl_acme_receive_data(int fd, int revents, void *cb_data);
 
+SR_PRIV int bl_acme_open_channel(struct sr_channel *ch);
+
+SR_PRIV void bl_acme_close_channel(struct sr_channel *ch);
 #endif