X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok-internal.h;h=423463a2b5492854a1694522721132926be11f6b;hb=e52bb9be8351b8c4f960d998a62dfbd05b8fa637;hp=5cbe845ce20aa7ba3408bcddafd0cbb74f7820c4;hpb=fe0c0b98c6d10290cbd2b461e3cb17404b0ba457;p=libsigrok.git diff --git a/libsigrok-internal.h b/libsigrok-internal.h index 5cbe845c..423463a2 100644 --- a/libsigrok-internal.h +++ b/libsigrok-internal.h @@ -1,7 +1,7 @@ /* - * This file is part of the sigrok project. + * This file is part of the libsigrok project. * - * Copyright (C) 2010-2012 Bert Vermeulen + * Copyright (C) 2013 Bert Vermeulen * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,14 +43,6 @@ #define ARRAY_AND_SIZE(a) (a), ARRAY_SIZE(a) #endif -/* Versions < 2.30.0 of glib don't have g_match_info_unref(). */ -#if !GLIB_CHECK_VERSION(2,30,0) -#define g_match_info_unref g_match_info_free -#endif - -/* Size of a datastore chunk in units */ -#define DATASTORE_CHUNKSIZE (512 * 1024) - struct sr_context { #ifdef HAVE_LIBUSB_1_0 libusb_context *libusb_ctx; @@ -116,14 +108,32 @@ SR_PRIV void sr_serial_dev_inst_free(struct sr_serial_dev_inst *serial); /*--- hwdriver.c ------------------------------------------------------------*/ SR_PRIV void sr_hw_cleanup_all(void); +SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data); +SR_PRIV void sr_config_free(struct sr_config *src); SR_PRIV int sr_source_remove(int fd); SR_PRIV int sr_source_add(int fd, int events, int timeout, - sr_receive_data_callback_t cb, void *cb_data); + sr_receive_data_callback_t cb, void *cb_data); /*--- session.c -------------------------------------------------------------*/ SR_PRIV int sr_session_send(const struct sr_dev_inst *sdi, - const struct sr_datafeed_packet *packet); + const struct sr_datafeed_packet *packet); +SR_PRIV int sr_session_stop_sync(void); + +/*--- std.c -----------------------------------------------------------------*/ + +typedef int (*dev_close_t)(struct sr_dev_inst *sdi); +typedef void (*std_dev_clear_t)(void *priv); + +SR_PRIV int std_init(struct sr_context *sr_ctx, struct sr_dev_driver *di, + const char *prefix); +SR_PRIV int std_dev_acquisition_stop_serial(struct sr_dev_inst *sdi, + void *cb_data, dev_close_t dev_close_fn, + struct sr_serial_dev_inst *serial, const char *prefix); +SR_PRIV int std_session_send_df_header(const struct sr_dev_inst *sdi, + const char *prefix); +SR_PRIV int std_dev_clear(const struct sr_dev_driver *driver, + std_dev_clear_t clear_private); /*--- hardware/common/serial.c ----------------------------------------------*/ @@ -189,8 +199,21 @@ SR_PRIV int sr_es51922_parse(const uint8_t *buf, float *floatval, /*--- hardware/common/dmm/fs9922.c ------------------------------------------*/ -SR_PRIV int sr_dmm_parse_fs9922(const uint8_t *buf, float *floatval, - struct sr_datafeed_analog *analog); +#define FS9922_PACKET_SIZE 14 + +struct fs9922_info { + gboolean is_auto, is_dc, is_ac, is_rel, is_hold, is_bpn, is_z1, is_z2; + gboolean is_max, is_min, is_apo, is_bat, is_nano, is_z3, is_micro; + gboolean is_milli, is_kilo, is_mega, is_beep, is_diode, is_percent; + gboolean is_z4, is_volt, is_ampere, is_ohm, is_hfe, is_hertz, is_farad; + gboolean is_celsius, is_fahrenheit; + int bargraph_sign, bargraph_value; +}; + +SR_PRIV gboolean sr_fs9922_packet_valid(const uint8_t *buf); +SR_PRIV int sr_fs9922_parse(const uint8_t *buf, float *floatval, + struct sr_datafeed_analog *analog, void *info); +SR_PRIV void sr_fs9922_z1_diode(struct sr_datafeed_analog *analog, void *info); /*--- hardware/common/dmm/fs9721.c ------------------------------------------*/ @@ -203,10 +226,13 @@ struct fs9721_info { gboolean is_c2c1_11, is_c2c1_10, is_c2c1_01, is_c2c1_00, is_sign; }; -SR_PRIV gboolean sr_fs9721_is_packet_start(uint8_t b); SR_PRIV gboolean sr_fs9721_packet_valid(const uint8_t *buf); SR_PRIV int sr_fs9721_parse(const uint8_t *buf, float *floatval, struct sr_datafeed_analog *analog, void *info); +SR_PRIV void sr_fs9721_00_temp_c(struct sr_datafeed_analog *analog, void *info); +SR_PRIV void sr_fs9721_01_temp_c(struct sr_datafeed_analog *analog, void *info); +SR_PRIV void sr_fs9721_10_temp_c(struct sr_datafeed_analog *analog, void *info); +SR_PRIV void sr_fs9721_01_10_temp_f_c(struct sr_datafeed_analog *analog, void *info); /*--- hardware/common/dmm/metex14.c -----------------------------------------*/ @@ -229,7 +255,7 @@ SR_PRIV int sr_metex14_parse(const uint8_t *buf, float *floatval, #define RS9LCD_PACKET_SIZE 9 /* Dummy info struct. The parser does not use it. */ -struct rs9lcd_info {}; +struct rs9lcd_info { int dummy; }; SR_PRIV gboolean sr_rs9lcd_packet_valid(const uint8_t *buf); SR_PRIV int sr_rs9lcd_parse(const uint8_t *buf, float *floatval,