#include <arpa/inet.h>
#endif
#include <glib.h>
-#include "sigrok.h"
-#include "sigrok-internal.h"
+#include "libsigrok.h"
+#include "libsigrok-internal.h"
#include "ols.h"
#ifdef _WIN32
};
/* default supported samplerates, can be overridden by device metadata */
-static struct sr_samplerates samplerates = {
+static const struct sr_samplerates samplerates = {
SR_HZ(10),
SR_MHZ(200),
SR_HZ(1),
NULL,
};
-/* List of struct sr_serial_dev_inst */
+/* List of struct sr_dev_inst. */
static GSList *dev_insts = NULL;
static int send_shortcommand(int fd, uint8_t command)
return SR_OK;
}
-static int configure_probes(struct context *ctx, GSList *probes)
+static int configure_probes(struct context *ctx, const GSList *probes)
{
- struct sr_probe *probe;
- GSList *l;
+ const struct sr_probe *probe;
+ const GSList *l;
int probe_bit, stage, i;
char *tc;
ctx->num_stages = 0;
for (l = probes; l; l = l->next) {
- probe = (struct sr_probe *)l->data;
+ probe = (const struct sr_probe *)l->data;
if (!probe->enabled)
continue;
return sdi;
}
-static int hw_init(const char *devinfo)
+static int hw_init(void)
{
struct sr_dev_inst *sdi;
struct context *ctx;
final_devcnt = 0;
- if (devinfo)
- ports = g_slist_append(NULL, g_strdup(devinfo));
- else
- /* No specific device given, so scan all serial ports. */
- ports = list_serial_ports();
-
+ /* Scan all serial ports. */
+ ports = list_serial_ports();
num_ports = g_slist_length(ports);
if (!(fds = g_try_malloc0(num_ports * sizeof(GPollFD)))) {
fd = serial_open(l->data, O_RDWR | O_NONBLOCK);
if (fd != -1) {
serial_params[devcnt] = serial_backup_params(fd);
- serial_set_params(fd, 115200, 8, 0, 1, 2);
+ serial_set_params(fd, 115200, 8, SERIAL_PARITY_NONE, 1, 2);
ret = SR_OK;
for (i = 0; i < 5; i++) {
if ((ret = send_shortcommand(fd,
return ret;
}
-static void *hw_dev_info_get(int dev_index, int dev_info_id)
+static const void *hw_dev_info_get(int dev_index, int dev_info_id)
{
struct sr_dev_inst *sdi;
struct context *ctx;
- void *info;
+ const void *info;
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index)))
return NULL;
return SR_OK;
}
-static int hw_dev_config_set(int dev_index, int hwcap, void *value)
+static int hw_dev_config_set(int dev_index, int hwcap, const void *value)
{
struct sr_dev_inst *sdi;
struct context *ctx;
int ret;
- uint64_t *tmp_u64;
+ const uint64_t *tmp_u64;
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index)))
return SR_ERR;
switch (hwcap) {
case SR_HWCAP_SAMPLERATE:
- ret = set_samplerate(sdi, *(uint64_t *)value);
+ ret = set_samplerate(sdi, *(const uint64_t *)value);
break;
case SR_HWCAP_PROBECONFIG:
- ret = configure_probes(ctx, (GSList *)value);
+ ret = configure_probes(ctx, (const GSList *)value);
break;
case SR_HWCAP_LIMIT_SAMPLES:
tmp_u64 = value;
ret = SR_OK;
break;
case SR_HWCAP_CAPTURE_RATIO:
- ctx->capture_ratio = *(uint64_t *)value;
+ ctx->capture_ratio = *(const uint64_t *)value;
if (ctx->capture_ratio < 0 || ctx->capture_ratio > 100) {
ctx->capture_ratio = 0;
ret = SR_ERR;