From 51def0d497c3cf05d6a1098fb8d5922e0fd720fb Mon Sep 17 00:00:00 2001 From: Daniele Gobbetti Date: Mon, 4 Apr 2016 23:33:17 +0200 Subject: [PATCH] Add light intensity to the known steps datalog message. Add support for record version 6 introduced with firmware 3.11. There are more data in each record now, but we still do not know what they mean. Close #270 --- .../devices/pebble/DatalogSessionHealthSteps.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java index 81bb43192..f89f03639 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/pebble/DatalogSessionHealthSteps.java @@ -46,7 +46,7 @@ public class DatalogSessionHealthSteps extends DatalogSession { recordVersion = datalogMessage.getShort(); - if (recordVersion != 5) + if ((recordVersion != 5) && (recordVersion != 6)) return false; //we don't know how to deal with the data TODO: this is not ideal because we will get the same message again and again since we NACK it timestamp = datalogMessage.getInt(); @@ -59,8 +59,7 @@ public class DatalogSessionHealthSteps extends DatalogSession { for (int recordIdx = 0; recordIdx < recordNum; recordIdx++) { datalogMessage.position(beginOfRecordPosition + recordIdx * recordLength); //we may not consume all the bytes of a record - stepsRecords[recordIdx] = new StepsRecord(timestamp, datalogMessage.get() & 0xff, datalogMessage.get() & 0xff, datalogMessage.getShort() & 0xffff); - datalogMessage.getShort(); // skip + stepsRecords[recordIdx] = new StepsRecord(timestamp, datalogMessage.get() & 0xff, datalogMessage.get() & 0xff, datalogMessage.getShort() & 0xffff, datalogMessage.get() & 0xff); timestamp += 60; } @@ -102,12 +101,14 @@ public class DatalogSessionHealthSteps extends DatalogSession { int steps; int orientation; int intensity; + int light_intensity; - public StepsRecord(int timestamp, int steps, int orientation, int intensity) { + public StepsRecord(int timestamp, int steps, int orientation, int intensity, int light_intensity) { this.timestamp = timestamp; this.steps = steps; this.orientation = orientation; this.intensity = intensity; + this.light_intensity = light_intensity; } }