* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <math.h>
#include "protocol.h"
SR_PRIV unsigned int get_memory_size(int type)
return 0;
}
-SR_PRIV int clz(unsigned int x)
+static int clz(unsigned int x)
{
int n = 0;
if (x == 0)
return SR_OK;
}
+SR_PRIV int set_voltage_threshold(struct dev_context *devc, double thresh)
+{
+ if (thresh > 6.0)
+ thresh = 6.0;
+ if (thresh < -6.0)
+ thresh = -6.0;
+
+ devc->cur_threshold = thresh;
+
+ analyzer_set_voltage_threshold((int) round(-9.1*thresh + 62.6));
+
+ sr_info("Setting voltage threshold to %fV.", devc->cur_threshold);
+
+ return SR_OK;
+}
+
SR_PRIV void set_triggerbar(struct dev_context *devc)
{
unsigned int trigger_depth, triggerbar, ramsize_trigger;
trigger_depth = get_memory_size(devc->memory_size) / 4;
if (devc->limit_samples < trigger_depth)
trigger_depth = devc->limit_samples;
- triggerbar = trigger_depth * devc->capture_ratio / 100;
+
+ if (devc->trigger)
+ triggerbar = trigger_depth * devc->capture_ratio / 100;
+ else
+ triggerbar = 0;
ramsize_trigger = trigger_depth - triggerbar;
/* Matches USB packet captures from official app/driver */