Skip to content

Commit 041ffb1

Browse files
committed
Merge branch 'master' into DEV-852
2 parents 3b3d5cc + 26a77f9 commit 041ffb1

17 files changed

Lines changed: 2268 additions & 26 deletions

ShimmerBluetoothManager/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ publishing {
2727

2828
groupId = 'com.shimmerresearch' // Replace with your package's group/organization name
2929
artifactId = 'shimmerbluetoothmanager' // Replace with the name of your package
30-
version = '0.11.7_beta' // Replace with your package version
30+
version = '0.11.8_beta' // Replace with your package version
3131

3232
// Jar publication
3333
//(

ShimmerDriver/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ publishing {
4949

5050
groupId = 'com.shimmerresearch' // Replace with your package's group/organization name
5151
artifactId = 'shimmerdriver' // Replace with the name of your package
52-
version = '0.11.7_beta' // Replace with your package version
52+
version = '0.11.8_beta' // Replace with your package version
5353

5454
// Jar publication
5555
//(

ShimmerDriver/src/main/java/com/shimmerresearch/driver/Configuration.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2650,6 +2650,18 @@ public class SensorBitmap {
26502650
public static final int MAX86150_ECG = 1 << (3 + (8*1));
26512651
public static final int MAX86916_PPG_BLUE = 1 << (2 + (8*1));
26522652
public static final int VBATT = 1 << (1 + (8*1));
2653+
2654+
// Second-generation hardware (SR68-9/10, SR61-5/6): LSM6DSV accel/gyro +
2655+
// LIS2MDL mag. Distinct host-internal bits; accel/gyro enables are derived
2656+
// from the payload header ACCEL2/GYRO bits and mag from GEN_CFG_3 (see
2657+
// VerisenseDevice.configBytesParse second-generation branch).
2658+
public static final int LSM6DSV_ACCEL = 1 << (4 + (8*0));
2659+
public static final int LSM6DSV_GYRO = 1 << (3 + (8*0));
2660+
public static final int LSM6DSV_MAG = 1 << (2 + (8*0));
2661+
/** VD6283TX45 ambient light (second-generation HW); enable is GEN_CFG_3 bit 3. */
2662+
public static final int VD6283 = 1 << (1 + (8*0));
2663+
/** MLX90632 skin temperature (second-generation HW); enable is GEN_CFG_3 bit 4. */
2664+
public static final int MLX90632 = 1 << (0 + (8*0));
26532665
}
26542666

26552667
public class DerivedSensorsBitMask {
@@ -2663,6 +2675,9 @@ public class DerivedSensorsBitMask {
26632675
public final static int GYRO_ON_THE_FLY_CAL = (1 << 7);
26642676
public final static int ORIENTATION_6DOF_QUAT = (1 << 8);
26652677
public final static int ORIENTATION_6DOF_EULER = (1 << 9);
2678+
/** Second-generation IMU (SR61-5/6, SR68-9/10). Bit assignment must stay
2679+
* unique against any consumer that persists these derived-sensor bits. */
2680+
public final static int NON_WEAR_DETECTION_LSM6DSV = (1 << 10);
26662681
}
26672682

26682683
public class SENSOR_ID {
@@ -2678,6 +2693,12 @@ public class SENSOR_ID {
26782693
public static final int MAX86916_PPG_BLUE = 2012;
26792694
public static final int VBATT = 2013;
26802695
public static final int GSR = 2014;
2696+
// Second-generation hardware (SR68-9/10, SR61-5/6)
2697+
public static final int LSM6DSV_ACCEL = 2015;
2698+
public static final int LSM6DSV_GYRO = 2016;
2699+
public static final int LSM6DSV_MAG = 2017;
2700+
public static final int VD6283 = 2018;
2701+
public static final int MLX90632 = 2019;
26812702
}
26822703

26832704
public enum LABEL_SENSOR_TILE{
@@ -2720,8 +2741,17 @@ public static class CompatibilityInfoForMaps{
27202741
public static final List<ShimmerVerObject> listOfCompatibleVersionInfoVbatt = Arrays.asList(
27212742
svoVerisenseDevBrd, svoVerisenseImu, svoVerisensePpg0, svoVerisensePpg1, svoVerisenseGsrPlus, svoVerisensePulsePlus);
27222743

2744+
// SR61 (Verisense IMU) carries GSR from minor rev 5 (second-generation); the
2745+
// runtime minor-rev gating is in VerisenseDevice.doesHwSupportGsr() which
2746+
// mirrors the firmware's ShimBrd_isGsrSupportedForHwVersion.
27232747
public static final List<ShimmerVerObject> listOfCompatibleVersionInfoGsr = Arrays.asList(
2724-
svoVerisenseGsrPlus, svoVerisensePulsePlus);
2748+
svoVerisenseGsrPlus, svoVerisensePulsePlus, svoVerisenseImu);
2749+
2750+
// Second-generation IMU: LSM6DSV (accel/gyro) + LIS2MDL (mag), SR68-9/10 and
2751+
// SR61-5/6. TODO refine to HW minor gating once compat supports it; the
2752+
// runtime isPayloadDesignV13orAbove() gate protects gen-1 units meanwhile.
2753+
public static final List<ShimmerVerObject> listOfCompatibleVersionInfoLSM6DSV = Arrays.asList(
2754+
svoVerisensePulsePlus, svoVerisenseImu);
27252755
}
27262756

27272757
}

ShimmerDriver/src/main/java/com/shimmerresearch/sensors/AbstractSensor.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ public enum SENSORS{
6868
LIS3MDL("LIS3MDL"), //to be changed
6969
LIS2MDL("LIS2MDL"),
7070
LSM6DSV("LSM6DSV"),
71+
VD6283("VD6283"),
72+
MLX90632("MLX90632"),
7173
BMP390("BMP390"),
7274
BMP581("BMP581");
7375

ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorBattVoltage.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ public static class ObjectClusterSensorName{
6868

6969
// The battery voltage is divided by half before entering the Microcontroller's ADC. The value is not quite equal to 2 due to the components used in the circuit.
7070
public static final double BATTERY_VOLTAGE_DIVIDER_RATIO = 1.988;
71+
72+
// Second-generation Verisense hardware (SR61-5/6, SR68-9/10) battery-sense divider.
73+
// Matches the firmware's conversion in hal_asm_battery.c (measureBatteryVoltage).
74+
public static final double BATTERY_VOLTAGE_DIVIDER_RATIO_GEN2 = 2.469;
7175

7276
//--------- Sensor specific variables end --------------
7377

0 commit comments

Comments
 (0)