summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
2b7ba0a)
There's no ':' after 'MMA655X value' in the output, and the parser
returns 'true' on success, not false.
With this, 'Monitor Idle' now reports correct accelerometer readings.
Signed-off-by: Keith Packard <keithp@keithp.com>
- 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() {
}
public AltosMma655x() {
if (mma655x != null)
state.set_accel(mma655x.accel);
} catch (TimeoutException te) {
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();
this();
link.printf("A\n");
for (;;) {
String line = link.get_reply_no_dialog(5000);
if (line == null)
throw new TimeoutException();