#include <stdint.h>
#include <string.h>
#include <glib.h>
+#include <libudev.h>
#include "libsigrok.h"
#include "libsigrok-internal.h"
#define USB_VENDOR "3195"
#define USB_PRODUCT "f190"
-#define NUM_PROBES 8
+#define NUM_PROBES (1 + 8)
#define NUM_TRIGGER_STAGES 4
-#define TRIGGER_TYPES "01" //the first r/f is used for the whole group
+#define TRIGGER_TYPE "01" //the first r/f is used for the whole group
#define SERIALCOMM "460800/8n1/flow=2"
#define SERIALCONN "/dev/ttyUSB0"
#define CLOCK_RATE SR_MHZ(100)
double dso_trigger_voltage;
uint16_t dso_trigger_width;
struct mso_prototrig protocol_trigger;
- void *session_dev_id;
+ void *cb_data;
uint16_t buffer_n;
char buffer[4096];
};
uint8_t * info);
SR_PRIV int mso_reset_adc(struct sr_dev_inst *sdi);
SR_PRIV int mso_clkrate_out(struct sr_serial_dev_inst *serial, uint16_t val);
-SR_PRIV int mso_configure_rate(struct sr_dev_inst *sdi, uint32_t rate);
+SR_PRIV int mso_configure_rate(const struct sr_dev_inst *sdi, uint32_t rate);
SR_PRIV int mso_receive_data(int fd, int revents, void *cb_data);
-SR_PRIV int mso_configure_trigger(struct sr_dev_inst *sdi);
-SR_PRIV int mso_configure_threshold_level(struct sr_dev_inst *sdi);
+SR_PRIV int mso_configure_trigger(const struct sr_dev_inst *sdi);
+SR_PRIV int mso_configure_threshold_level(const struct sr_dev_inst *sdi);
SR_PRIV int mso_read_buffer(struct sr_dev_inst *sdi);
-SR_PRIV int mso_arm(struct sr_dev_inst *sdi);
+SR_PRIV int mso_arm(const struct sr_dev_inst *sdi);
SR_PRIV int mso_force_capture(struct sr_dev_inst *sdi);
-SR_PRIV int mso_dac_out(struct sr_dev_inst *sdi, uint16_t val);
+SR_PRIV int mso_dac_out(const struct sr_dev_inst *sdi, uint16_t val);
SR_PRIV inline uint16_t mso_calc_raw_from_mv(struct dev_context *devc);
SR_PRIV int mso_reset_fsm(struct sr_dev_inst *sdi);
SR_PRIV int mso_toggle_led(struct sr_dev_inst *sdi, int state);
SR_PRIV int mso_configure_probes(const struct sr_dev_inst *sdi);
SR_PRIV void stop_acquisition(const struct sr_dev_inst *sdi);
-/* serial protocol */
-#define mso_trans(a, v) \
- (((v) & 0x3f) | (((v) & 0xc0) << 6) | (((a) & 0xf) << 8) | \
- ((~(v) & 0x20) << 1) | ((~(v) & 0x80) << 7))
-
-SR_PRIV static const char mso_head[] = { 0x40, 0x4c, 0x44, 0x53, 0x7e };
-SR_PRIV static const char mso_foot[] = { 0x7e };
-
/* bank agnostic registers */
#define REG_CTL2 15
uint8_t slowmode;
};
-static struct rate_map rate_map[] = {
+static const struct rate_map rate_map[] = {
{ SR_MHZ(200), 0x0205, 0 },
{ SR_MHZ(100), 0x0105, 0 },
{ SR_MHZ(50), 0x0005, 0 },
};
/* FIXME: Determine corresponding voltages */
-static uint16_t la_threshold_map[] = {
+static const uint16_t la_threshold_map[] = {
0x8600,
0x8770,
0x88ff,