X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=inline;f=src%2Fscpi%2Fscpi_visa.c;h=a8f50e4f65c71fde5451d19032e80a78e610d0e8;hb=050eb3b32d96a7c0a54dee9ae249514eff937d21;hp=cf34a55529aadfc7afe25f515df9c4a51c416807;hpb=155b680da482cea2381becb73c51cfb838bff31e;p=libsigrok.git
diff --git a/src/scpi/scpi_visa.c b/src/scpi/scpi_visa.c
index cf34a555..a8f50e4f 100644
--- a/src/scpi/scpi_visa.c
+++ b/src/scpi/scpi_visa.c
@@ -17,11 +17,12 @@
* along with this program. If not, see .
*/
-#include "libsigrok.h"
-#include "libsigrok-internal.h"
-
+#include
#include
#include
+#include
+#include "libsigrok-internal.h"
+#include "scpi.h"
#define LOG_PREFIX "scpi_visa"
@@ -50,9 +51,9 @@ static int scpi_visa_dev_inst_new(void *priv, struct drv_context *drvc,
return SR_OK;
}
-static int scpi_visa_open(void *priv)
+static int scpi_visa_open(struct sr_scpi_dev_inst *scpi)
{
- struct scpi_visa *vscpi = priv;
+ struct scpi_visa *vscpi = scpi->priv;
if (viOpenDefaultRM(&vscpi->rmgr) != VI_SUCCESS) {
sr_err("Cannot open default resource manager.");
@@ -86,21 +87,16 @@ static int scpi_visa_source_remove(struct sr_session *session, void *priv)
static int scpi_visa_send(void *priv, const char *command)
{
struct scpi_visa *vscpi = priv;
- gchar *terminated_command;
ViUInt32 written = 0;
int len;
- terminated_command = g_strconcat(command, "\n", NULL);
- len = strlen(terminated_command);
- if (viWrite(vscpi->vi, (ViBuf) (terminated_command + written), len,
+ len = strlen(command);
+ if (viWrite(vscpi->vi, (ViBuf) (command + written), len,
&written) != VI_SUCCESS) {
sr_err("Error while sending SCPI command: '%s'.", command);
- g_free(terminated_command);
return SR_ERR;
}
- g_free(terminated_command);
-
sr_spew("Successfully sent SCPI command: '%s'.", command);
return SR_OK;
@@ -139,9 +135,9 @@ static int scpi_visa_read_complete(void *priv)
return !(status & 16);
}
-static int scpi_visa_close(void *priv)
+static int scpi_visa_close(struct sr_scpi_dev_inst *scpi)
{
- struct scpi_visa *vscpi = priv;
+ struct scpi_visa *vscpi = scpi->priv;
viClose(vscpi->vi);
viClose(vscpi->rmgr);