altoslib: Deal with TeleMetrum v2.0 MMA6555 being inverted
authorKeith Packard <keithp@keithp.com>
Mon, 2 May 2016 23:13:53 +0000 (16:13 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 2 May 2016 23:18:54 +0000 (16:18 -0700)
commit0b0b359cbce6b818257b44b2a6aee0edcbaee40d
tree38840d0a2addfdaa00bbd46a8980f6e31066afe0
parent1a797f5fd5d25ba635fd79ad7604763253caabf2
altoslib: Deal with TeleMetrum v2.0 MMA6555 being inverted

Dumping the MMA655X data with the 'A' command provides the raw sensor
value. On TM v2.0 boards, the sensor is inverted, and all of the
firmware uses the inverted value except for the 'dump the raw data'
command. As a result, MonitorIdle was using the un-inverted value and
displaying mystic values.

I've fixed this in the ground station code by checking the product
name and conditionally inverting the value (4095 - value) for
TeleMetrum v2.0 products. Unknown products will generate a warning
dialog on AltosUI so we'll catch places where we've failed to add a
new product name.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
altoslib/AltosConfigData.java
altoslib/AltosIdleFetch.java
altoslib/AltosIdleMonitor.java
altoslib/AltosIdleMonitorListener.java
altoslib/AltosMma655x.java
altoslib/AltosStateUpdate.java
altoslib/AltosUnknownProduct.java [new file with mode: 0644]
altoslib/Makefile.am
altosui/AltosIdleMonitorUI.java