summaryrefslogtreecommitdiff
path: root/altoslib
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib')
-rw-r--r--altoslib/AltosMma655x.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java
index ea47cc9b..7f0dab98 100644
--- a/altoslib/AltosMma655x.java
+++ b/altoslib/AltosMma655x.java
@@ -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;
}
}