* @param x a pointer to the input memory
* @return the corresponding unsigned integer
*/
-#define RB16(x) (((unsigned)((const uint8_t*)(x))[0] << 8) | \
+#define RB16(x) (((unsigned)((const uint8_t*)(x))[0] << 8) | \
(unsigned)((const uint8_t*)(x))[1])
/**
* @return the corresponding unsigned integer
*/
#define RB32(x) (((unsigned)((const uint8_t*)(x))[0] << 24) | \
- ((unsigned)((const uint8_t*)(x))[1] << 16) | \
- ((unsigned)((const uint8_t*)(x))[2] << 8) | \
+ ((unsigned)((const uint8_t*)(x))[1] << 16) | \
+ ((unsigned)((const uint8_t*)(x))[2] << 8) | \
(unsigned)((const uint8_t*)(x))[3])
/**
* @return the corresponding unsigned integer
*/
#define RL32(x) (((unsigned)((const uint8_t*)(x))[3] << 24) | \
- ((unsigned)((const uint8_t*)(x))[2] << 16) | \
- ((unsigned)((const uint8_t*)(x))[1] << 8) | \
+ ((unsigned)((const uint8_t*)(x))[2] << 16) | \
+ ((unsigned)((const uint8_t*)(x))[1] << 8) | \
(unsigned)((const uint8_t*)(x))[0])
/**
*/
#define RL32S(x) ((int32_t) \
(((unsigned)((const uint8_t*)(x))[3] << 24) | \
- ((unsigned)((const uint8_t*)(x))[2] << 16) | \
- ((unsigned)((const uint8_t*)(x))[1] << 8) | \
+ ((unsigned)((const uint8_t*)(x))[2] << 16) | \
+ ((unsigned)((const uint8_t*)(x))[1] << 8) | \
(unsigned)((const uint8_t*)(x))[0]))
/**
* @return the corresponding unsigned integer
*/
#define RB64(x) (((uint64_t)((const uint8_t*)(x))[0] << 56) | \
- ((uint64_t)((const uint8_t*)(x))[1] << 48) | \
- ((uint64_t)((const uint8_t*)(x))[2] << 40) | \
- ((uint64_t)((const uint8_t*)(x))[3] << 32) | \
- ((uint64_t)((const uint8_t*)(x))[4] << 24) | \
- ((uint64_t)((const uint8_t*)(x))[5] << 16) | \
- ((uint64_t)((const uint8_t*)(x))[6] << 8) | \
+ ((uint64_t)((const uint8_t*)(x))[1] << 48) | \
+ ((uint64_t)((const uint8_t*)(x))[2] << 40) | \
+ ((uint64_t)((const uint8_t*)(x))[3] << 32) | \
+ ((uint64_t)((const uint8_t*)(x))[4] << 24) | \
+ ((uint64_t)((const uint8_t*)(x))[5] << 16) | \
+ ((uint64_t)((const uint8_t*)(x))[6] << 8) | \
(uint64_t)((const uint8_t*)(x))[7])
+/**
+ * Read a 64 bits little endian unsigned integer out of memory.
+ * @param x a pointer to the input memory
+ * @return the corresponding unsigned integer
+ */
+#define RL64(x) (((uint64_t)((const uint8_t*)(x))[7] << 56) | \
+ ((uint64_t)((const uint8_t*)(x))[6] << 48) | \
+ ((uint64_t)((const uint8_t*)(x))[5] << 40) | \
+ ((uint64_t)((const uint8_t*)(x))[4] << 32) | \
+ ((uint64_t)((const uint8_t*)(x))[3] << 24) | \
+ ((uint64_t)((const uint8_t*)(x))[2] << 16) | \
+ ((uint64_t)((const uint8_t*)(x))[1] << 8) | \
+ (uint64_t)((const uint8_t*)(x))[0])
+
+/**
+ * Read a 64 bits little endian signed integer out of memory.
+ * @param x a pointer to the input memory
+ * @return the corresponding unsigned integer
+ */
+#define RL64S(x) ((int64_t) \
+ (((uint64_t)((const uint8_t*)(x))[7] << 56) | \
+ ((uint64_t)((const uint8_t*)(x))[6] << 48) | \
+ ((uint64_t)((const uint8_t*)(x))[5] << 40) | \
+ ((uint64_t)((const uint8_t*)(x))[4] << 32) | \
+ ((uint64_t)((const uint8_t*)(x))[3] << 24) | \
+ ((uint64_t)((const uint8_t*)(x))[2] << 16) | \
+ ((uint64_t)((const uint8_t*)(x))[1] << 8) | \
+ (uint64_t)((const uint8_t*)(x))[0]))
+
/**
* Read a 32 bits big endian float out of memory.
* @param x a pointer to the input memory
/*--- device.c --------------------------------------------------------------*/
+/** Scan options supported by a driver. */
+#define SR_CONF_SCAN_OPTIONS 0x7FFF0000
+
+/** Device options for a particular device. */
+#define SR_CONF_DEVICE_OPTIONS 0x7FFF0001
+
+/** Mask for separating config keys from capabilities. */
+#define SR_CONF_MASK 0x1fffffff
+
/** Values for the changes argument of sr_dev_driver.config_channel_set. */
enum {
/** The enabled state of the channel has been changed. */
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);
SR_PRIV int std_init(struct sr_context *sr_ctx, struct sr_dev_driver *di,
const char *prefix);
+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 int std_serial_dev_close(struct sr_dev_inst *sdi);
G_GNUC_WARN_UNUSED_RESULT;
SR_PRIV int sr_resource_close(struct sr_context *ctx,
struct sr_resource *res);
-SR_PRIV ssize_t sr_resource_read(struct sr_context *ctx,
+SR_PRIV gssize sr_resource_read(struct sr_context *ctx,
const struct sr_resource *res, void *buf, size_t count)
G_GNUC_WARN_UNUSED_RESULT;
SR_PRIV void *sr_resource_load(struct sr_context *ctx, int type,
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 --------------------------------------------------*/