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