From 05e6de5e69f93792b6ff77df382f668d0dfcda29 Mon Sep 17 00:00:00 2001 From: Armin Date: Tue, 9 Nov 2021 11:13:24 +0100 Subject: [PATCH 1/2] [DAT-820] Store sensor points in batches (#10) --- .../de/cyface/protos/model/measurement.proto | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/main/proto/de/cyface/protos/model/measurement.proto b/src/main/proto/de/cyface/protos/model/measurement.proto index 4c373ef..28e422f 100644 --- a/src/main/proto/de/cyface/protos/model/measurement.proto +++ b/src/main/proto/de/cyface/protos/model/measurement.proto @@ -57,23 +57,23 @@ message Measurement { */ LocationRecords location_records = 17; /* - * Collection of acceleration points. + * Collection of acceleration point batches. * - * We use a packed encoding here, so this is a non repeated field. + * The sensor points are stored in batches to simplify the client code. */ - Accelerations accelerations = 18; + repeated Accelerations accelerations = 18; /* - * Collection of rotation points. + * Collection of rotation point batches. * - * We use a packed encoding here, so this is a non repeated field. + * The sensor points are stored in batches to simplify the client code. */ - Rotations rotations = 19; + repeated Rotations rotations = 19; /* - * Collection of direction points. + * Collection of direction point batches. * - * We use a packed encoding here, so this is a non repeated field. + * The sensor points are stored in batches to simplify the client code. */ - Directions directions = 20; + repeated Directions directions = 20; /* * Collection of events. @@ -279,11 +279,13 @@ message LocationRecords { } /* - * A message type which wraps all acceleration points captured for one measurement. + * A message type which wraps a batch of acceleration points captured for one measurement. * * Each field contains the ordered list of that attribute for all points. * I.e. field1[4] and field2[4] belong to the same point. * + * The first point is stored as absolute number, subsequent points in the offset-format to reduce the byte size. + * * Reference phone, Pixel 3a, contains this sensor: https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi160/ * - Bosch recommends the following sensor: https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/ * - the sensitivity and value ranges are the same [DAT-646] @@ -345,11 +347,13 @@ message Accelerations { } /* - * A message type which wraps all rotation points captured for one measurement. + * A message type which wraps a batch of rotation points captured for one measurement. * * Each field contains the ordered list of that attribute for all points. * I.e. field1[4] and field2[4] belong to the same point. * + * The first point is stored as absolute number, subsequent points in the offset-format to reduce the byte size. + * * Reference phone, Pixel 3a, contains this sensor: https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi160/ * - Bosch recommends the following sensor: https://www.bosch-sensortec.com/products/motion-sensors/imus/bmi270/ * - the sensitivity and value ranges are the same [DAT-646] @@ -412,11 +416,13 @@ message Rotations { } /* - * A message type which wraps all direction points captured for one measurement. + * A message type which wraps a batch of direction points captured for one measurement. * * Each field contains the ordered list of that attribute for all points. * I.e. field1[4] and field2[4] belong to the same point. * + * The first point is stored as absolute number, subsequent points in the offset-format to reduce the byte size. + * * Reference phone, Pixel 3a, contains this sensor: akm, AK0991X Magnetometer, Version 20012 (no good data sheet found) * - Another phones use https://www.digikey.de/catalog/en/partgroup/ak09915/65408, with 1/16 resolution (same as e.g. Tinkerforge) * - the sensitivity is 0.15 µT. (e.g. Tinkerforge IMU uses 1/16 µT = 0.0625 µT) From af8b2796c46c8eb204bd30116d3ea11bce57f7b9 Mon Sep 17 00:00:00 2001 From: Armin Date: Tue, 9 Nov 2021 11:14:40 +0100 Subject: [PATCH 2/2] Set version to 0.1.0 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 3c85a23..8d4a520 100644 --- a/build.gradle +++ b/build.gradle @@ -40,7 +40,7 @@ plugins { } group = 'de.cyface' -version = '0.0.3' +version = '0.1.0' tasks.withType(JavaCompile) { options.encoding = 'UTF-8'