X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fhardware%2Funi-t-dmm%2Fprotocol.h;h=4158833f0ee72cfae6bd32de521e774610e664f0;hb=176d785d33a28a1bb24f2ee483595ec54f7b52b6;hp=85783082cd9b5194253ed9a4ad0c3adfe37482e6;hpb=8769478c0749a1a74a87a5476d6bfb9ef7e8f93f;p=libsigrok.git diff --git a/src/hardware/uni-t-dmm/protocol.h b/src/hardware/uni-t-dmm/protocol.h index 85783082..4158833f 100644 --- a/src/hardware/uni-t-dmm/protocol.h +++ b/src/hardware/uni-t-dmm/protocol.h @@ -14,8 +14,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ #ifndef LIBSIGROK_HARDWARE_UNI_T_DMM_PROTOCOL_H @@ -24,46 +23,22 @@ #include #include #include -#include "libsigrok.h" +#include #include "libsigrok-internal.h" #define LOG_PREFIX "uni-t-dmm" -enum { - TECPEL_DMM_8061, - UNI_T_UT60A, - UNI_T_UT60E, - UNI_T_UT60G, - UNI_T_UT61B, - UNI_T_UT61C, - UNI_T_UT61D, - UNI_T_UT61E, - UNI_T_UT71A, - UNI_T_UT71B, - UNI_T_UT71C, - UNI_T_UT71D, - UNI_T_UT71E, - VOLTCRAFT_VC820, - VOLTCRAFT_VC830, - VOLTCRAFT_VC840, - VOLTCRAFT_VC920, - VOLTCRAFT_VC940, - VOLTCRAFT_VC960, - TENMA_72_7745, - TENMA_72_7750, -}; - struct dmm_info { - char *vendor; - char *device; + struct sr_dev_driver di; + const char *vendor; + const char *device; uint32_t baudrate; int packet_size; gboolean (*packet_valid)(const uint8_t *); int (*packet_parse)(const uint8_t *, float *, struct sr_datafeed_analog *, void *); void (*dmm_details)(struct sr_datafeed_analog *, void *); - struct sr_dev_driver *di; - int (*receive_data)(int, int, void *); + gsize info_size; }; #define CHUNK_SIZE 8 @@ -72,19 +47,7 @@ struct dmm_info { /** Private, per-device-instance driver context. */ struct dev_context { - /** The current sampling limit (in number of samples). */ - uint64_t limit_samples; - - /** The current sampling limit (in ms). */ - uint64_t limit_msec; - - /** Opaque pointer passed in by the frontend. */ - void *cb_data; - - /** The current number of already received samples. */ - uint64_t num_samples; - - int64_t starttime; + struct sr_sw_limits limits; gboolean first_run; @@ -93,26 +56,6 @@ struct dev_context { uint8_t buflen; }; -SR_PRIV int receive_data_TECPEL_DMM_8061(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT60A(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT60E(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT60G(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT61B(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT61C(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT61D(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT61E(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT71A(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT71B(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT71C(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT71D(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_UNI_T_UT71E(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_VOLTCRAFT_VC820(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_VOLTCRAFT_VC830(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_VOLTCRAFT_VC840(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_VOLTCRAFT_VC920(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_VOLTCRAFT_VC940(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_VOLTCRAFT_VC960(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_TENMA_72_7745(int fd, int revents, void *cb_data); -SR_PRIV int receive_data_TENMA_72_7750(int fd, int revents, void *cb_data); +SR_PRIV int uni_t_dmm_receive_data(int fd, int revents, void *cb_data); #endif