* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <config.h>
#include "protocol.h"
#include "beaglelogic.h"
int i, maxch;
devices = NULL;
- drvc = di->priv;
+ drvc = di->context;
drvc->instances = NULL;
/* Probe for /dev/beaglelogic */
static GSList *dev_list(const struct sr_dev_driver *di)
{
- return ((struct drv_context *)(di->priv))->instances;
+ return ((struct drv_context *)(di->context))->instances;
}
static int dev_clear(const struct sr_dev_driver *di)
/* Set fd and local attributes */
devc->pollfd.fd = devc->fd;
devc->pollfd.events = G_IO_IN;
+ devc->pollfd.revents = 0;
/* Get the default attributes */
beaglelogic_get_samplerate(devc);
GSList *l;
/* unused driver */
- if (!(drvc = di->priv))
+ if (!(drvc = di->context))
return SR_OK;
/* Clean up the instances */
return beaglelogic_set_triggerflags(devc);
case SR_CONF_CAPTURE_RATIO:
devc->capture_ratio = g_variant_get_uint64(data);
- if (devc->capture_ratio > 100) {
- devc->capture_ratio = 0;
+ if (devc->capture_ratio > 100)
return SR_ERR;
- }
return SR_OK;
default:
return SR_ERR_NA;
static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data)
{
struct dev_context *devc = sdi->priv;
- struct sr_datafeed_packet pkt;
(void)cb_data;
/* Remove session source and send EOT packet */
sr_session_source_remove_pollfd(sdi->session, &devc->pollfd);
- pkt.type = SR_DF_END;
- pkt.payload = NULL;
- sr_session_send(sdi, &pkt);
+ std_session_send_df_end(sdi, LOG_PREFIX);
return SR_OK;
}
.dev_close = dev_close,
.dev_acquisition_start = dev_acquisition_start,
.dev_acquisition_stop = dev_acquisition_stop,
- .priv = NULL,
+ .context = NULL,
};