X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Funi-t-dmm%2Fprotocol.h;h=4258d413d4a3bad72fee264d3f4adb56b2c5cc78;hb=cae328b54c7b9679bafa6cd4fb00eb0f5894e8a3;hp=b37408b0fc56e6ec3a755f3f34a7874a37a4eda2;hpb=c36f78f7728e8b5263bed440530a61caa6e30a26;p=libsigrok.git diff --git a/src/hardware/uni-t-dmm/protocol.h b/src/hardware/uni-t-dmm/protocol.h index b37408b0..4258d413 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,69 +23,30 @@ #include #include #include -#include "libsigrok.h" +#include #include "libsigrok-internal.h" #define LOG_PREFIX "uni-t-dmm" -enum { - TECPEL_DMM_8061, - UNI_T_UT372, - 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_VC870, - 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 #define DMM_BUFSIZE 256 -/** 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; @@ -95,28 +55,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_UT372(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_VC870(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