24 #ifndef LIBSIGROK_SCPI_H
25 #define LIBSIGROK_SCPI_H
30 #include "libsigrok-internal.h"
32 #define SCPI_CMD_IDN "*IDN?"
33 #define SCPI_CMD_OPC "*OPC?"
77 GSList *(*scan)(
struct drv_context *drvc);
79 const char *resource,
char **params,
const char *serialcomm);
99 const char *resource,
const char *serialcomm);
107 const char *format, ...);
109 const char *format, va_list args);
117 const char *command,
char **scpi_response);
119 const char *command, gboolean *scpi_response);
121 const char *command,
int *scpi_response);
123 const char *command,
float *scpi_response);
125 const char *command,
double *scpi_response);
128 const char *command, GArray **scpi_response);
130 const char *command, GArray **scpi_response);
141 GVariant **gvar,
const GVariantType *gvtype,
int command, ...);
SR_PRIV int sr_scpi_get_hw_id(struct sr_scpi_dev_inst *scpi, struct sr_scpi_hw_info **scpi_response)
The public libsigrok header file to be used by frontends.
int(* read_complete)(void *priv)
SR_PRIV int sr_scpi_open(struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_source_add(struct sr_session *session, struct sr_scpi_dev_inst *scpi, int events, int timeout, sr_receive_data_callback cb, void *cb_data)
SR_PRIV int scpi_cmd_resp(const struct sr_dev_inst *sdi, const struct scpi_command *cmdtable, GVariant **gvar, const GVariantType *gvtype, int command,...)
SR_PRIV int sr_scpi_read_data(struct sr_scpi_dev_inst *scpi, char *buf, int maxlen)
Opaque structure representing a libsigrok session.
int(* source_remove)(struct sr_session *session, void *priv)
int(* open)(struct sr_scpi_dev_inst *scpi)
uint64_t firmware_version
int(* send)(void *priv, const char *command)
SR_PRIV int sr_scpi_source_remove(struct sr_session *session, struct sr_scpi_dev_inst *scpi)
int(* read_data)(void *priv, char *buf, int maxlen)
SR_PRIV int sr_scpi_get_int(struct sr_scpi_dev_inst *scpi, const char *command, int *scpi_response)
SR_PRIV GSList * sr_scpi_scan(struct drv_context *drvc, GSList *options, struct sr_dev_inst *(*probe_device)(struct sr_scpi_dev_inst *scpi))
int(* source_add)(struct sr_session *session, void *priv, int events, int timeout, sr_receive_data_callback cb, void *cb_data)
unsigned int read_timeout_ms
int(* read_begin)(void *priv)
SR_PRIV int sr_scpi_send(struct sr_scpi_dev_inst *scpi, const char *format,...)
SR_PRIV int sr_scpi_get_opc(struct sr_scpi_dev_inst *scpi)
int(* sr_receive_data_callback)(int fd, int revents, void *cb_data)
Type definition for callback function for data reception.
SR_PRIV int sr_scpi_get_uint8v(struct sr_scpi_dev_inst *scpi, const char *command, GArray **scpi_response)
SR_PRIV void sr_scpi_free(struct sr_scpi_dev_inst *scpi)
SR_PRIV const char * sr_vendor_alias(const char *raw_vendor)
SR_PRIV int sr_scpi_get_bool(struct sr_scpi_dev_inst *scpi, const char *command, gboolean *scpi_response)
SR_PRIV void sr_scpi_hw_info_free(struct sr_scpi_hw_info *hw_info)
SR_PRIV int scpi_cmd(const struct sr_dev_inst *sdi, const struct scpi_command *cmdtable, int command,...)
SR_PRIV int sr_scpi_get_float(struct sr_scpi_dev_inst *scpi, const char *command, float *scpi_response)
SR_PRIV int sr_scpi_get_floatv(struct sr_scpi_dev_inst *scpi, const char *command, GArray **scpi_response)
SR_PRIV int sr_scpi_read_complete(struct sr_scpi_dev_inst *scpi)
SR_PRIV const char * scpi_cmd_get(const struct scpi_command *cmdtable, int command)
SR_PRIV int sr_scpi_close(struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_read_begin(struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_send_variadic(struct sr_scpi_dev_inst *scpi, const char *format, va_list args)
int(* dev_inst_new)(void *priv, struct drv_context *drvc, const char *resource, char **params, const char *serialcomm)
SR_PRIV struct sr_scpi_dev_inst * scpi_dev_inst_new(struct drv_context *drvc, const char *resource, const char *serialcomm)
int(* close)(struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_get_double(struct sr_scpi_dev_inst *scpi, const char *command, double *scpi_response)
SR_PRIV int sr_scpi_get_string(struct sr_scpi_dev_inst *scpi, const char *command, char **scpi_response)