X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMma655x.java;h=b09ec74b250e4a46c2cf377768130f2f15282af2;hb=f078235803a80403014b3e54039fd2d0e0704367;hp=a24e76bdc418731d20ef0b23522ca4cccb8a9e62;hpb=cb23b992be8ba40c97d8988c134a814a13ccd58c;p=fw%2Faltos diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java index a24e76bd..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_7; +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) { }