X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMma655x.java;h=b09ec74b250e4a46c2cf377768130f2f15282af2;hb=f078235803a80403014b3e54039fd2d0e0704367;hp=17aaa3f8c11aecf0cef0e2e8288dd7f415aeba82;hpb=7041c386cdf37716f8daf0bc1a9204db620e3de9;p=fw%2Faltos diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java index 17aaa3f8..b09ec74b 100644 --- a/altoslib/AltosMma655x.java +++ b/altoslib/AltosMma655x.java @@ -15,13 +15,13 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_9; +package org.altusmetrum.altoslib_10; import java.util.concurrent.*; public class AltosMma655x implements Cloneable { - int accel; + private int accel; public boolean parse_line(String line) throws NumberFormatException { if (line.startsWith("MMA655X value")) { @@ -45,12 +45,18 @@ public class AltosMma655x implements Cloneable { return n; } - static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException { + static public void update_state(AltosState state, AltosLink link, AltosConfigData config_data) throws InterruptedException, AltosUnknownProduct { try { AltosMma655x mma655x = new AltosMma655x(link); - if (mma655x != null) - state.set_accel(mma655x.accel); + if (mma655x != null) { + int accel = mma655x.accel; + if (config_data.mma655x_inverted()) + accel = 4095 - accel; + if (config_data.pad_orientation == 1) + accel = 4095 - accel; + state.set_accel(accel); + } } catch (TimeoutException te) { } catch (NumberFormatException ne) { }