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);
78 int (*dev_inst_new)(
void *priv,
struct drv_context *drvc,
79 const char *resource,
char **params,
const char *serialcomm);
83 int (*source_remove)(
struct sr_session *session,
void *priv);
84 int (*send)(
void *priv,
const char *
command);
85 int (*read_begin)(
void *priv);
86 int (*read_data)(
void *priv,
char *buf,
int maxlen);
87 int (*read_complete)(
void *priv);
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_bool(struct sr_scpi_dev_inst *scpi, const char *command, gboolean *scpi_response)
SR_PRIV int sr_scpi_open(struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_read_begin(struct sr_scpi_dev_inst *scpi)
SR_PRIV int scpi_cmd(const struct sr_dev_inst *sdi, const struct scpi_command *cmdtable, int command,...)
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)
SR_PRIV int sr_scpi_get_string(struct sr_scpi_dev_inst *scpi, const char *command, char **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))
SR_PRIV int sr_scpi_get_uint8v(struct sr_scpi_dev_inst *scpi, const char *command, GArray **scpi_response)
unsigned int read_timeout_ms
SR_PRIV const char * sr_vendor_alias(const char *raw_vendor)
SR_PRIV int sr_scpi_read_data(struct sr_scpi_dev_inst *scpi, char *buf, int maxlen)
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 const char * scpi_cmd_get(const struct scpi_command *cmdtable, int command)
SR_PRIV int sr_scpi_send_variadic(struct sr_scpi_dev_inst *scpi, const char *format, va_list args)
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_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.
SR_PRIV int sr_scpi_get_double(struct sr_scpi_dev_inst *scpi, const char *command, double *scpi_response)
Opaque structure representing a libsigrok session.
SR_PRIV void sr_scpi_hw_info_free(struct sr_scpi_hw_info *hw_info)
uint64_t firmware_version
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_get_int(struct sr_scpi_dev_inst *scpi, const char *command, int *scpi_response)
SR_PRIV void sr_scpi_free(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)
SR_PRIV int sr_scpi_source_remove(struct sr_session *session, struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_read_complete(struct sr_scpi_dev_inst *scpi)
SR_PRIV int sr_scpi_get_float(struct sr_scpi_dev_inst *scpi, const char *command, float *scpi_response)
SR_PRIV struct sr_scpi_dev_inst * scpi_dev_inst_new(struct drv_context *drvc, const char *resource, const char *serialcomm)
SR_PRIV int sr_scpi_get_floatv(struct sr_scpi_dev_inst *scpi, const char *command, GArray **scpi_response)
SR_PRIV int sr_scpi_close(struct sr_scpi_dev_inst *scpi)