]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/baylibre-acme/protocol.h
output/csv: use intermediate time_t var, silence compiler warning
[libsigrok.git] / src / hardware / baylibre-acme / protocol.h
index 3972aa2cc6da6326fb1d5905a40e958dd7ed9668..2425c992648f72ebdce4e0525bb8f79ac36d2147 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,13 @@ 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;
-       int64_t last_sample_fin;
-       int pipe_fds[2];
+       uint64_t samples_missed;
+       int timer_fd;
        GIOChannel *channel;
 };
 
@@ -81,6 +69,12 @@ SR_PRIV gboolean bl_acme_detect_probe(unsigned int addr,
 SR_PRIV gboolean bl_acme_register_probe(struct sr_dev_inst *sdi, int type,
                                        unsigned int addr, int prb_num);
 
+SR_PRIV int bl_acme_get_probe_type(const struct sr_channel_group *cg);
+SR_PRIV int bl_acme_probe_has_pws(const struct sr_channel_group *cg);
+
+SR_PRIV void bl_acme_maybe_set_update_interval(const struct sr_dev_inst *sdi,
+                                              uint64_t samplerate);
+
 SR_PRIV int bl_acme_get_shunt(const struct sr_channel_group *cg,
                              uint64_t *shunt);
 SR_PRIV int bl_acme_set_shunt(const struct sr_channel_group *cg,
@@ -92,4 +86,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