X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosMma655x.java;h=7f0dab98f421621c70aea8d063f6dd5299fa2b07;hp=cb2e63d4269cb9de38004377cf4f2471a19bae3e;hb=9d3ab4c78f79d659ce800def77bc441c95fa15be;hpb=f0216d721ed13f4d3dc608bb6ad8f83732b27c0a diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java index cb2e63d4..7f0dab98 100644 --- a/altoslib/AltosMma655x.java +++ b/altoslib/AltosMma655x.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_4; +package org.altusmetrum.altoslib_5; import java.util.concurrent.*; @@ -23,14 +23,15 @@ public class AltosMma655x implements Cloneable { int accel; - public boolean parse_line(String line) { - String[] items = line.split("\\s+"); - if (line.startsWith("MMA655X value:")) { - if (items.length >= 3) - accel = Integer.parseInt(items[1]); - } else - return false; - return true; + public boolean parse_line(String line) throws NumberFormatException { + if (line.startsWith("MMA655X value")) { + String[] items = line.split("\\s+"); + if (items.length >= 3) { + accel = Integer.parseInt(items[2]); + return true; + } + } + return false; } public AltosMma655x() { @@ -51,17 +52,18 @@ public class AltosMma655x implements Cloneable { if (mma655x != null) state.set_accel(mma655x.accel); } catch (TimeoutException te) { + } catch (NumberFormatException ne) { } } - public AltosMma655x(AltosLink link) throws InterruptedException, TimeoutException { + public AltosMma655x(AltosLink link) throws InterruptedException, TimeoutException, NumberFormatException { this(); link.printf("A\n"); for (;;) { String line = link.get_reply_no_dialog(5000); if (line == null) throw new TimeoutException(); - if (!parse_line(line)) + if (parse_line(line)) break; } }