X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Frigol-ds1xx2%2Fprotocol.h;h=4026fc162ac63788e209002de76ae43c91e6e0f8;hb=4c7aca66defecb82245d2fd8b62b3ff70049982a;hp=0a5f14c309201624094fc819c32829fd5295ff85;hpb=f4816ac6cc2403558276ada44d3e14eb4a9b3d15;p=libsigrok.git diff --git a/hardware/rigol-ds1xx2/protocol.h b/hardware/rigol-ds1xx2/protocol.h index 0a5f14c3..4026fc16 100644 --- a/hardware/rigol-ds1xx2/protocol.h +++ b/hardware/rigol-ds1xx2/protocol.h @@ -2,6 +2,7 @@ * This file is part of the libsigrok project. * * Copyright (C) 2012 Martin Ling + * 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 @@ -33,21 +34,35 @@ #define sr_warn(s, args...) sr_warn(DRIVER_LOG_DOMAIN s, ## args) #define sr_err(s, args...) sr_err(DRIVER_LOG_DOMAIN s, ## args) +#define WAVEFORM_SIZE 600 + /** 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. */ + /* Acquisition settings */ + GSList *enabled_probes; + uint64_t limit_frames; void *cb_data; - /** The current number of already received samples. */ - uint64_t num_samples; + /* Device settings */ + gboolean channels[2]; + float timebase; + float vdiv[2]; + float vert_offset[2]; + char *trigger_source; + float horiz_triggerpos; + char *trigger_slope; + char *coupling[2]; + + /* Operational state */ + char *device; + int fd; + uint64_t num_frames; + uint64_t num_frame_samples; + struct sr_probe *channel_frame; }; -SR_PRIV int rigol_ds1xx2_receive_data(int fd, int revents, void *cb_data); +SR_PRIV int rigol_ds1xx2_receive(int fd, int revents, void *cb_data); +SR_PRIV int rigol_ds1xx2_send(struct dev_context *devc, const char *format, ...); +SR_PRIV int rigol_ds1xx2_get_dev_cfg(const struct sr_dev_inst *sdi); #endif