X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Farachnid-labs-re-load-pro%2Fprotocol.h;h=fca1b9782cb98c354b61cb7b378257a87531237b;hb=f6129c8f0c92e45de5d70b4101bf2bd759a5fdf7;hp=f5c137865d7a8e27f4b62f96648191f5a9523c23;hpb=6e8d31d4680a35a35c2605c90d3abcc559d70a56;p=libsigrok.git diff --git a/src/hardware/arachnid-labs-re-load-pro/protocol.h b/src/hardware/arachnid-labs-re-load-pro/protocol.h index f5c13786..fca1b978 100644 --- a/src/hardware/arachnid-labs-re-load-pro/protocol.h +++ b/src/hardware/arachnid-labs-re-load-pro/protocol.h @@ -1,7 +1,7 @@ /* * This file is part of the libsigrok project. * - * Copyright (C) 2015 Uwe Hermann + * Copyright (C) 2015-2016 Uwe Hermann * * 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 @@ -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_ARACHNID_LABS_RE_LOAD_PRO_PROTOCOL_H @@ -28,10 +27,40 @@ #define LOG_PREFIX "arachnid-labs-re-load-pro" -/** Private, per-device-instance driver context. */ +#define RELOADPRO_BUFSIZE 100 + struct dev_context { + struct sr_sw_limits limits; + + char buf[RELOADPRO_BUFSIZE]; + int buflen; + + float current_limit; + float voltage; + float current; + gboolean otp_active; + gboolean uvc_active; + float uvc_threshold; + + gboolean acquisition_running; + GMutex acquisition_mutex; + + GCond current_limit_cond; + GCond voltage_cond; + GCond uvc_threshold_cond; }; +SR_PRIV int reloadpro_set_current_limit(const struct sr_dev_inst *sdi, + float current); +SR_PRIV int reloadpro_set_on_off(const struct sr_dev_inst *sdi, gboolean on); +SR_PRIV int reloadpro_set_under_voltage_threshold(const struct sr_dev_inst *sdi, + float uvc_threshold); +SR_PRIV int reloadpro_get_current_limit(const struct sr_dev_inst *sdi, + float *current_limit); +SR_PRIV int reloadpro_get_under_voltage_threshold(const struct sr_dev_inst *sdi, + float *uvc_threshold); +SR_PRIV int reloadpro_get_voltage_current(const struct sr_dev_inst *sdi, + float *voltage, float *current); SR_PRIV int reloadpro_receive_data(int fd, int revents, void *cb_data); #endif