X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosMma655x.java;h=7f0dab98f421621c70aea8d063f6dd5299fa2b07;hp=0d90c351a8e7f21e1ee222fe0da29fd6accea4ff;hb=9d3ab4c78f79d659ce800def77bc441c95fa15be;hpb=b89fb51a963635e2effe3a31f803bfc29c2c46b7 diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java index 0d90c351..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_3; +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; } }