#include <glib.h>
#include <libusb.h>
-
/*
* Status/error codes returned by libsigrok functions.
*
#define MAX_NUM_PROBES 64
#define MAX_PROBENAME_LEN 32
-
/* Handy little macros */
#define KHZ(n) ((n) * 1000)
#define MHZ(n) ((n) * 1000000)
#define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a)
#endif
-
typedef int (*receive_data_callback) (int fd, int revents, void *user_data);
-
/* Data types used by hardware plugins for set_configuration() */
enum {
T_UINT64,
int stackindex;
};
-
-
/* datafeed_packet.type values */
enum {
DF_HEADER,
int num_logic_probes;
};
-
-
struct input {
struct input_format *format;
- void *param;
- void *internal;
+ char *param;
+ struct device *vdevice;
};
struct input_format {
char *extension;
char *description;
int (*format_match) (const char *filename);
- int (*in_loadfile) (const char *filename);
+ int (*init) (struct input *in);
+ int (*loadfile) (struct input *in, const char *filename);
};
-
-
struct output {
struct output_format *format;
struct device *device;
uint64_t *length_out);
};
-
struct analyzer {
char *name;
char *filename;
*/
};
-
/* Size of a chunk in units */
#define DATASTORE_CHUNKSIZE 512000
GSList *chunklist;
};
-
/*
* This represents a generic device connected to the system.
* For device-specific information, ask the plugin. The plugin_index refers
extern GSList *devices;
-
/* Hardware plugin capabilities */
enum {
- HWCAP_DUMMY, /* Used to terminate lists */
+ HWCAP_DUMMY, /* Used to terminate lists */
+ /* device classes */
HWCAP_LOGIC_ANALYZER,
- HWCAP_SAMPLERATE, /* Change samplerate */
- HWCAP_PROBECONFIG, /* Configure probe mask */
- HWCAP_CAPTURE_RATIO, /* Set pre/post-trigger capture ratio */
- HWCAP_LIMIT_MSEC, /* Set a time limit for sample acquisition */
- HWCAP_LIMIT_SAMPLES, /* Set a limit on number of samples */
+
+ /* device options */
+ HWCAP_SAMPLERATE, /* Change samplerate */
+ HWCAP_PROBECONFIG, /* Configure probe mask */
+ HWCAP_CAPTURE_RATIO, /* Set pre/post-trigger capture ratio */
+ HWCAP_PATTERN_MODE, /* Pattern generator mode */
+
+ /* acquisition modes */
+ HWCAP_LIMIT_MSEC, /* Set a time limit for sample acquisition */
+ HWCAP_LIMIT_SAMPLES, /* Set a limit on number of samples */
+ HWCAP_CONTINUOUS,
};
struct hwcap_option {
char *shortname;
};
-
struct sigrok_device_instance {
int index;
int status;
DI_TRIGGER_TYPES,
/* The currently set samplerate in Hz (uint64_t) */
DI_CUR_SAMPLERATE,
+ /* Supported pattern generator modes */
+ DI_PATTERNMODES,
};
/*
};
#include "sigrok-proto.h"
+
#endif