#include <stdint.h>
#include <glib.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
#include "libsigrok-internal.h"
#define LOG_PREFIX "testo"
#define EP_OUT 2 | LIBUSB_ENDPOINT_OUT
struct testo_model {
- char *name;
+ const char *name;
int request_size;
const uint8_t *request;
};
-/** Private, per-device-instance driver context. */
struct dev_context {
- /* Model-specific information */
const struct testo_model *model;
+ struct sr_sw_limits sw_limits;
- /* Acquisition settings */
- uint64_t limit_msec;
- uint64_t limit_samples;
- void *cb_data;
-
- /* Operational state */
- gint64 end_time;
- uint64_t num_samples;
uint8_t channel_units[MAX_CHANNELS];
int num_channels;
- /* Temporary state across callbacks */
struct libusb_transfer *out_transfer;
uint8_t reply[MAX_REPLY_SIZE];
int reply_size;
SR_PRIV int testo_set_serial_params(struct sr_usb_dev_inst *usb);
SR_PRIV int testo_probe_channels(struct sr_dev_inst *sdi);
-SR_PRIV void receive_transfer(struct libusb_transfer *transfer);
+SR_PRIV void LIBUSB_CALL receive_transfer(struct libusb_transfer *transfer);
SR_PRIV int testo_request_packet(const struct sr_dev_inst *sdi);
SR_PRIV gboolean testo_check_packet_prefix(uint8_t *buf, int len);
SR_PRIV uint16_t crc16_mcrf4xx(uint16_t crc, uint8_t *data, size_t len);