X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Flibsigrok-internal.h;h=f5dde75a96c68d3c24fc9a7211d93e9d90754c2f;hb=7d1a4a52392a048c24ec25459f462a0126c9ad2c;hp=a567d14baccc0df9b3612ed0daa414d117e17b41;hpb=d8bc7ca3e6853bd4df33d9ff9405652abec8b67e;p=libsigrok.git diff --git a/src/libsigrok-internal.h b/src/libsigrok-internal.h index a567d14b..f5dde75a 100644 --- a/src/libsigrok-internal.h +++ b/src/libsigrok-internal.h @@ -908,6 +908,8 @@ SR_PRIV int sr_session_source_remove_pollfd(struct sr_session *session, SR_PRIV int sr_session_source_remove_channel(struct sr_session *session, GIOChannel *channel); +SR_PRIV int sr_session_send_meta(const struct sr_dev_inst *sdi, + uint32_t key, GVariant *var); 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); @@ -1044,6 +1046,7 @@ struct soft_trigger_logic { int pre_trigger_fill; }; +SR_PRIV int logic_channel_unitsize(GSList *channels); SR_PRIV struct soft_trigger_logic *soft_trigger_logic_new( const struct sr_dev_inst *sdi, struct sr_trigger *trigger, int pre_trigger_samples); @@ -1451,6 +1454,49 @@ SR_PRIV gboolean sr_asycii_packet_valid(const uint8_t *buf); SR_PRIV int sr_asycii_parse(const uint8_t *buf, float *floatval, struct sr_datafeed_analog *analog, void *info); +/*--- src/dmm/eev121gw.c ----------------------------------------------------*/ + +#define EEV121GW_PACKET_SIZE 19 + +enum eev121gw_display { + EEV121GW_DISPLAY_MAIN, + EEV121GW_DISPLAY_SUB, + EEV121GW_DISPLAY_BAR, + EEV121GW_DISPLAY_COUNT, +}; + +struct eev121gw_info { + /* Selected channel. */ + size_t ch_idx; + /* + * Measured value, number and sign/overflow flags, scale factor + * and significant digits. + */ + uint32_t uint_value; + gboolean is_ofl, is_neg; + int factor, digits; + /* Currently active mode (meter's function). */ + gboolean is_ac, is_dc, is_voltage, is_current, is_power, is_gain; + gboolean is_resistance, is_capacitance, is_diode, is_temperature; + gboolean is_continuity, is_frequency, is_period, is_duty_cycle; + /* Quantities associated with mode/function. */ + gboolean is_ampere, is_volt, is_volt_ampere, is_dbm; + gboolean is_ohm, is_farad, is_celsius, is_fahrenheit; + gboolean is_hertz, is_seconds, is_percent, is_loop_current; + gboolean is_unitless, is_logic; + /* Other indicators. */ + gboolean is_min, is_max, is_avg, is_1ms_peak, is_rel, is_hold; + gboolean is_low_pass, is_mem, is_bt, is_auto_range, is_test; + gboolean is_auto_poweroff, is_low_batt; +}; + +extern SR_PRIV const char *eev121gw_channel_formats[]; +SR_PRIV gboolean sr_eev121gw_packet_valid(const uint8_t *buf); +SR_PRIV int sr_eev121gw_parse(const uint8_t *buf, float *floatval, + struct sr_datafeed_analog *analog, void *info); +SR_PRIV int sr_eev121gw_3displays_parse(const uint8_t *buf, float *floatval, + struct sr_datafeed_analog *analog, void *info); + /*--- hardware/scale/kern.c -------------------------------------------------*/ struct kern_info {