]> sigrok.org Git - libsigrok.git/blobdiff - hardware/demo/demo.c
demo: Rename GENMODE_DEFAULT to GENMODE_SIGROK.
[libsigrok.git] / hardware / demo / demo.c
index 0ebfd271701e99d146752c6d741a9a2973ef2a1f..17960ff03d1b8527b4e884dfac726fe3d58db3ca 100644 (file)
 /* size of chunks to send through the session bus */
 #define BUFSIZE                4096
 
+/* Supported patterns which we can generate */
 enum {
-       GENMODE_DEFAULT,
+       /**
+        * Pattern which spells "sigrok" using '0's (with '1's as "background")
+        * when displayed using the 'bits' output format.
+        */
+       GENMODE_SIGROK,
+
+       /**
+        * Pattern which consists of (pseudo-)random values on all probes.
+        */
        GENMODE_RANDOM,
+
+       /**
+        * Pattern which consists of incrementing numbers.
+        * TODO: Better description.
+        */
        GENMODE_INC,
 };
 
@@ -77,7 +91,7 @@ static const char *patternmodes[] = {
        NULL,
 };
 
-static uint8_t genmode_default[] = {
+static uint8_t genmode_sigrok[] = {
        0x4c, 0x92, 0x92, 0x92, 0x64, 0x00, 0x00, 0x00,
        0x82, 0xfe, 0xfe, 0x82, 0x00, 0x00, 0x00, 0x00,
        0x7c, 0x82, 0x82, 0x92, 0x74, 0x00, 0x00, 0x00,
@@ -93,7 +107,7 @@ static GSList *device_instances = NULL;
 static uint64_t cur_samplerate = SR_KHZ(200);
 static uint64_t limit_samples = 0;
 static uint64_t limit_msec = 0;
-static int default_genmode = GENMODE_DEFAULT;
+static int default_genmode = GENMODE_SIGROK;
 static GThread *my_thread;
 static int thread_running;
 
@@ -121,15 +135,18 @@ static int hw_opendev(int device_index)
        device_index = device_index;
 
        /* Nothing needed so far. */
+
        return SR_OK;
 }
 
-static void hw_closedev(int device_index)
+static int hw_closedev(int device_index)
 {
        /* Avoid compiler warnings. */
        device_index = device_index;
 
        /* Nothing needed so far. */
+
+       return SR_OK;
 }
 
 static void hw_cleanup(void)
@@ -182,7 +199,6 @@ static int *hw_get_capabilities(void)
 static int hw_set_configuration(int device_index, int capability, void *value)
 {
        int ret;
-       uint64_t *tmp_u64;
        char *stropt;
 
        /* Avoid compiler warnings. */
@@ -192,16 +208,19 @@ static int hw_set_configuration(int device_index, int capability, void *value)
                /* Nothing to do, but must be supported */
                ret = SR_OK;
        } else if (capability == SR_HWCAP_SAMPLERATE) {
-               tmp_u64 = value;
-               cur_samplerate = *tmp_u64;
+               cur_samplerate = *(uint64_t *)value;
+               sr_dbg("demo: %s: setting samplerate to %" PRIu64, __func__,
+                      cur_samplerate);
                ret = SR_OK;
        } else if (capability == SR_HWCAP_LIMIT_SAMPLES) {
-               tmp_u64 = value;
-               limit_samples = *tmp_u64;
+               limit_samples = *(uint64_t *)value;
+               sr_dbg("demo: %s: setting limit_samples to %" PRIu64, __func__,
+                      limit_samples);
                ret = SR_OK;
        } else if (capability == SR_HWCAP_LIMIT_MSEC) {
-               tmp_u64 = value;
-               limit_msec = *tmp_u64;
+               limit_msec = *(uint64_t *)value;
+               sr_dbg("demo: %s: setting limit_msec to %" PRIu64, __func__,
+                      limit_msec);
                ret = SR_OK;
        } else if (capability == SR_HWCAP_PATTERN_MODE) {
                stropt = value;
@@ -214,6 +233,8 @@ static int hw_set_configuration(int device_index, int capability, void *value)
                } else {
                        ret = SR_ERR;
                }
+               sr_dbg("demo: %s: setting patternmode to %d", __func__,
+                      default_genmode);
        } else {
                ret = SR_ERR;
        }
@@ -230,9 +251,9 @@ static void samples_generator(uint8_t *buf, uint64_t size, void *data)
        memset(buf, 0, size);
 
        switch (mydata->sample_generator) {
-       case GENMODE_DEFAULT:
+       case GENMODE_SIGROK:
                for (i = 0; i < size; i++) {
-                       *(buf + i) = ~(genmode_default[p] >> 1);
+                       *(buf + i) = ~(genmode_sigrok[p] >> 1);
                        if (++p == 64)
                                p = 0;
                }
@@ -421,8 +442,8 @@ struct sr_device_plugin demo_plugin_info = {
        .api_version = 1,
        .init = hw_init,
        .cleanup = hw_cleanup,
-       .open = hw_opendev,
-       .close = hw_closedev,
+       .opendev = hw_opendev,
+       .closedev = hw_closedev,
        .get_device_info = hw_get_device_info,
        .get_status = hw_get_status,
        .get_capabilities = hw_get_capabilities,