X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMma655x.java;h=57bc7b9163d9ecda3c43f3dc7f7a728b967261da;hb=2a4d741872449b5332f28e018fa3acc53ed7d891;hp=8b1ac088d7dcf5db97efe3ccd899087964290622;hpb=d6445b3739ac2c5dd040efdb97317a6b2a48044a;p=fw%2Faltos diff --git a/altoslib/AltosMma655x.java b/altoslib/AltosMma655x.java index 8b1ac088..57bc7b91 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_8; +package org.altusmetrum.altoslib_11; 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) { }