From 870171a69ede85da4b4dee5ffec402eeb46ed92e Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Fri, 8 Jan 2016 12:14:09 +0100 Subject: [PATCH] Fix bug in serial plotter for negative values Fix #4365 Fix #4292 --- app/src/processing/app/SerialPlotter.java | 15 ++++++++++----- build/shared/revisions.txt | 1 + 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/processing/app/SerialPlotter.java b/app/src/processing/app/SerialPlotter.java index 24564373c..decbb9694 100644 --- a/app/src/processing/app/SerialPlotter.java +++ b/app/src/processing/app/SerialPlotter.java @@ -87,12 +87,17 @@ public class SerialPlotter extends AbstractMonitor { minY = Double.POSITIVE_INFINITY; maxY = Double.NEGATIVE_INFINITY; for(Graph g : graphs) { - double bMin = g.buffer.min() / 2.0; - double bMax = g.buffer.max() * 2.0; - minY = bMin < minY ? bMin : minY; - maxY = bMax > maxY ? bMax : maxY; + minY = Math.min(g.buffer.min(), minY); + maxY = Math.max(g.buffer.max(), maxY); } - + + final double MIN_DELTA = 10.0; + if (maxY - minY < MIN_DELTA) { + double mid = (maxY + minY) / 2; + maxY = mid + MIN_DELTA / 2; + minY = mid - MIN_DELTA / 2; + } + Ticks ticks = new Ticks(minY, maxY, 3); minY = Math.min(minY, ticks.getTick(0)); maxY = Math.max(maxY, ticks.getTick(ticks.getTickCount() - 1)); diff --git a/build/shared/revisions.txt b/build/shared/revisions.txt index 52d2b91ab..5ae9a6d05 100644 --- a/build/shared/revisions.txt +++ b/build/shared/revisions.txt @@ -5,6 +5,7 @@ ARDUINO 1.6.8 * Fixed incorrect key bindings handling for changing tab. Thanks @matthijskooijman * MacOSX: Fixed handling of add indent/remove indent shortcuts (CMD+[ and CMD+]) * Fixed incorrect update of available libraries in Library Manager. Thanks @vicnevicne +* Serial plotter now correctly resize graphs with negative values. Thanks @vicnevicne [core] * avr: fixed USB_SendControl(...) for buffer with len > 64. Thanks @NicoHood