*/
int (*end) (struct sr_input *in);
+ /**
+ * Reset the input module's input handling structures.
+ *
+ * Causes the input module to reset its internal state so that we can
+ * re-send the input data from the beginning without having to
+ * re-create the entire input module.
+ *
+ * @retval SR_OK Success.
+ * @retval other Negative error code.
+ */
+ int (*reset) (struct sr_input *in);
+
/**
* This function is called after the caller is finished using
* the input module, and can be used to free any internal
SR_PRIV int sr_session_send(const struct sr_dev_inst *sdi,
const struct sr_datafeed_packet *packet);
SR_PRIV int sr_sessionfile_check(const char *filename);
+SR_PRIV struct sr_dev_inst *sr_session_prepare_sdi(const char *filename,
+ struct sr_session **session);
SR_PRIV int sr_packet_copy(const struct sr_datafeed_packet *packet,
struct sr_datafeed_packet **copy);
SR_PRIV void sr_packet_free(struct sr_datafeed_packet *packet);
typedef int (*dev_close_callback)(struct sr_dev_inst *sdi);
typedef void (*std_dev_clear_callback)(void *priv);
-SR_PRIV int std_init(struct sr_context *sr_ctx, struct sr_dev_driver *di,
- const char *prefix);
+SR_PRIV int std_init(struct sr_dev_driver *di, struct sr_context *sr_ctx);
+SR_PRIV int std_cleanup(const struct sr_dev_driver *di);
#ifdef HAVE_LIBSERIALPORT
SR_PRIV int std_serial_dev_open(struct sr_dev_inst *sdi);
SR_PRIV int std_serial_dev_acquisition_stop(struct sr_dev_inst *sdi,
- void *cb_data, dev_close_callback dev_close_fn,
+ dev_close_callback dev_close_fn,
struct sr_serial_dev_inst *serial, const char *prefix);
#endif
SR_PRIV int std_session_send_df_header(const struct sr_dev_inst *sdi,
const char *prefix);
+SR_PRIV int std_session_send_df_end(const struct sr_dev_inst *sdi,
+ const char *prefix);
SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver,
std_dev_clear_callback clear_private);
+SR_PRIV GSList *std_dev_list(const struct sr_dev_driver *di);
SR_PRIV int std_serial_dev_close(struct sr_dev_inst *sdi);
/*--- resource.c ------------------------------------------------------------*/
gboolean is_voltage, is_dc, is_ac, is_temperature, is_resistance;
gboolean is_continuity, is_capacitance, is_diode, is_loop_current;
gboolean is_current, is_micro, is_milli, is_power;
- gboolean is_power_factor_freq, is_power_apparent_power, is_v_a_eff_value;
+ gboolean is_power_factor_freq, is_power_apparent_power, is_v_a_rms_value;
gboolean is_sign2, is_sign1, is_batt, is_ol1, is_max, is_min;
gboolean is_maxmin, is_rel, is_ol2, is_open, is_manu, is_hold;
gboolean is_light, is_usb, is_warning, is_auto_power, is_misplug_warn;
gboolean is_lo, is_hi, is_open2;
- gboolean is_frequency, is_dual_display, is_auto, is_rms;
+ gboolean is_frequency, is_dual_display, is_auto;
};
SR_PRIV gboolean sr_vc870_packet_valid(const uint8_t *buf);
SR_PRIV int es51919_serial_config_list(uint32_t key, GVariant **data,
const struct sr_dev_inst *sdi,
const struct sr_channel_group *cg);
-SR_PRIV int es51919_serial_acquisition_start(const struct sr_dev_inst *sdi,
- void *cb_data);
-SR_PRIV int es51919_serial_acquisition_stop(struct sr_dev_inst *sdi,
- void *cb_data);
+SR_PRIV int es51919_serial_acquisition_start(const struct sr_dev_inst *sdi);
+SR_PRIV int es51919_serial_acquisition_stop(struct sr_dev_inst *sdi);
/*--- hardware/dmm/ut372.c --------------------------------------------------*/
SR_PRIV int sr_kern_parse(const uint8_t *buf, float *floatval,
struct sr_datafeed_analog_old *analog, void *info);
+/*--- sw_limits.c -----------------------------------------------------------*/
+
+struct sr_sw_limits {
+ uint64_t limit_samples;
+ uint64_t limit_msec;
+ uint64_t samples_read;
+ uint64_t start_time;
+};
+
+SR_PRIV int sr_sw_limits_config_get(struct sr_sw_limits *limits, uint32_t key,
+ GVariant **data);
+SR_PRIV int sr_sw_limits_config_set(struct sr_sw_limits *limits, uint32_t key,
+ GVariant *data);
+SR_PRIV void sr_sw_limits_acquisition_start(struct sr_sw_limits *limits);
+SR_PRIV gboolean sr_sw_limits_check(struct sr_sw_limits *limits);
+SR_PRIV void sr_sw_limits_update_samples_read(struct sr_sw_limits *limits,
+ uint64_t samples_read);
+SR_PRIV void sr_sw_limits_init(struct sr_sw_limits *limits);
+
#endif