*/
#include <config.h>
+#include "scpi.h"
#include "protocol.h"
-SR_PRIV int hp_59306a_receive_data(int fd, int revents, void *cb_data)
+SR_PRIV int hp_59306a_switch_cg(const struct sr_dev_inst *sdi,
+ const struct sr_channel_group *cg, gboolean enabled)
{
- const struct sr_dev_inst *sdi;
- struct dev_context *devc;
+ char *cmd;
+ struct channel_group_context *cgc;
+ struct sr_scpi_dev_inst *scpi;
+ int ret;
- (void)fd;
-
- if (!(sdi = cb_data))
- return TRUE;
-
- if (!(devc = sdi->priv))
- return TRUE;
-
- if (revents == G_IO_IN) {
- /* TODO */
+ if (!cg) {
+ if (enabled)
+ cmd = g_strdup("A123456");
+ else
+ cmd = g_strdup("B123456");
+ } else {
+ cgc = cg->priv;
+ if (enabled)
+ cmd = g_strdup_printf("A%zu", cgc->number);
+ else
+ cmd = g_strdup_printf("B%zu", cgc->number);
}
- return TRUE;
+ scpi = sdi->conn;
+ ret = sr_scpi_send(scpi, cmd);
+ g_free(cmd);
+
+ return ret;
}