]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hameg-hmo/protocol.c
Add sr_dev_acquisition_start(), factor out SR_ERR_DEV_CLOSED check.
[libsigrok.git] / src / hardware / hameg-hmo / protocol.c
index b25165953dd31749f8aa89cb7d17064ffbbbc3a5..12e79c47393ec342cd0719fa8634cfd6aea3f911 100644 (file)
@@ -60,18 +60,18 @@ static const char *hameg_scpi_dialect[] = {
 static const uint32_t hmo_devopts[] = {
        SR_CONF_OSCILLOSCOPE,
        SR_CONF_LIMIT_FRAMES | SR_CONF_GET | SR_CONF_SET,
-       SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+       SR_CONF_SAMPLERATE | SR_CONF_GET,
        SR_CONF_TIMEBASE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
        SR_CONF_NUM_HDIV | SR_CONF_GET,
-       SR_CONF_TRIGGER_SLOPE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
        SR_CONF_HORIZ_TRIGGERPOS | SR_CONF_GET | SR_CONF_SET,
-       SR_CONF_SAMPLERATE | SR_CONF_GET,
+       SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+       SR_CONF_TRIGGER_SLOPE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
 };
 
 static const uint32_t hmo_analog_devopts[] = {
        SR_CONF_NUM_VDIV | SR_CONF_GET,
-       SR_CONF_COUPLING | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
        SR_CONF_VDIV | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
+       SR_CONF_COUPLING | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
 };
 
 static const char *hmo_coupling_options[] = {
@@ -308,7 +308,7 @@ static const struct scope_config scope_models[] = {
                .scpi_dialect = &hameg_scpi_dialect,
        },
        {
-               .name = {"HMO2524", "HMO3034", "HMO3044", "HMO3054", NULL},
+               .name = {"HMO2524", "HMO3034", "HMO3044", "HMO3054", "HMO3524", NULL},
                .analog_channels = 4,
                .digital_channels = 16,
                .digital_pods = 2,
@@ -364,7 +364,7 @@ static void scope_state_dump(const struct scope_config *config,
                        state->digital_pods[i] ? "On" : "Off");
        }
 
-       tmp = sr_period_string((*config->timebases)[state->timebase][0] *
+       tmp = sr_period_string((*config->timebases)[state->timebase][0],
                               (*config->timebases)[state->timebase][1]);
        sr_info("Current timebase: %s", tmp);
        g_free(tmp);
@@ -1018,7 +1018,7 @@ SR_PRIV int hmo_receive_data(int fd, int revents, void *cb_data)
         * the first enabled channel.
         */
        if (++devc->num_frames == devc->frame_limit) {
-               sdi->driver->dev_acquisition_stop(sdi);
+               sr_dev_acquisition_stop(sdi);
                hmo_cleanup_logic_data(devc);
        } else {
                devc->current_channel = devc->enabled_channels;