diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/Configuration.java b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/Configuration.java index 63e6c65b4..834d9669c 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/Configuration.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/Configuration.java @@ -820,10 +820,6 @@ public class DerivedSensorsBitMask { public final static int PPG_TO_HR1_12_13 = 1 << 6; // (0*8 + 6); public final static int PPG_TO_HR2_1_14 = 1 << 7; // (0*8 + 7); - public final static int PPG_10_15 = 1 << 2; // (0*8 + 2); - public final static int PPG1_10_15 = 1 << 3; // (0*8 + 3); - public final static int PPG2_17_16 = 1 << 4; // (0*8 + 4); - // -------------- Derived Channels Byte 1 ------------------- public final static int ACTIVITY_MODULE = 1 << 8; // (1*8 + 0); diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerDevice.java b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerDevice.java index 5e26d7409..54a55ee54 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerDevice.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerDevice.java @@ -2061,7 +2061,8 @@ public boolean isShimmerVideoDevice(){ public boolean isSupportedSrProgViaDock() { if(mShimmerVerObject.compareVersions(HW_ID.SHIMMER_3, FW_ID.BTSTREAM, 0, 7, 13) - || mShimmerVerObject.compareVersions(HW_ID.SHIMMER_3, FW_ID.LOGANDSTREAM, 0, 8, 1)){ + || mShimmerVerObject.compareVersions(HW_ID.SHIMMER_3, FW_ID.LOGANDSTREAM, 0, 8, 1) + || isShimmerGen3R()){ return true; } return false; @@ -2093,6 +2094,7 @@ public static boolean isSupportedDerivedSensors(ShimmerVerObject svo){ if((isVerCompatibleWith(svo, HW_ID.SHIMMER_3, FW_ID.BTSTREAM, 0, 7, 0)) ||(isVerCompatibleWith(svo, HW_ID.SHIMMER_3, FW_ID.SDLOG, 0, 8, 69)) ||(isVerCompatibleWith(svo, HW_ID.SHIMMER_3, FW_ID.LOGANDSTREAM, 0, 3, 17)) + ||(svo.isShimmerGen3R()) ||(svo.isShimmerGenGq()) ||(svo.isShimmerGen4())){ // ||(isVerCompatibleWith(svo, HW_ID.SHIMMER_4_SDK, ShimmerVerDetails.ANY_VERSION, ShimmerVerDetails.ANY_VERSION, ShimmerVerDetails.ANY_VERSION, ShimmerVerDetails.ANY_VERSION))){ diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java index b0e49a8dc..396c75e68 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java @@ -1455,7 +1455,11 @@ else if (isShimmerGen3()) { if (isSupportedDerivedSensors()){ //change name based on derived sensor value if ((mDerivedSensors & DerivedSensorsBitMask.PPG2_1_14)>0){ - sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A1; + if(isShimmerGen3R()) { + sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A3; + } else { + sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A1; + } }else if ((mDerivedSensors & DerivedSensorsBitMask.RES_AMP)>0){ sensorName = Shimmer3.ObjectClusterSensorName.RESISTANCE_AMP; }else if((mDerivedSensors & DerivedSensorsBitMask.SKIN_TEMP)>0){ @@ -1497,20 +1501,20 @@ else if (isShimmerGen3()) { //to Support derived sensor renaming if (isSupportedDerivedSensors()){ //change name based on derived sensor value - if(isShimmerGen3R()) { - if ((mDerivedSensors & DerivedSensorsBitMask.PPG_10_15)>0){ + if ((mDerivedSensors & DerivedSensorsBitMask.PPG_12_13)>0){ + if (isShimmerGen3R()) { sensorName = SensorPPG.ObjectClusterSensorName.PPG_A0; - } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG1_10_15)>0){ - sensorName = SensorPPG.ObjectClusterSensorName.PPG1_A0; - } - }else { - if ((mDerivedSensors & DerivedSensorsBitMask.PPG_12_13)>0){ + } else { sensorName = SensorPPG.ObjectClusterSensorName.PPG_A12; - } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG1_12_13)>0){ + } + } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG1_12_13)>0){ + if (isShimmerGen3R()) { + sensorName = SensorPPG.ObjectClusterSensorName.PPG1_A0; + } else { sensorName = SensorPPG.ObjectClusterSensorName.PPG1_A12; } } - + } sensorNames[iA12]=sensorName; @@ -1541,16 +1545,16 @@ else if (isShimmerGen3()) { //to Support derived sensor renaming if (isSupportedDerivedSensors()){ //change name based on derived sensor value - if(isShimmerGen3R()) { - if ((mDerivedSensors & DerivedSensorsBitMask.PPG_10_15)>0){ + if ((mDerivedSensors & DerivedSensorsBitMask.PPG_12_13)>0){ + if(isShimmerGen3R()) { sensorName = SensorPPG.ObjectClusterSensorName.PPG_A1; - } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG1_10_15)>0){ - sensorName = SensorPPG.ObjectClusterSensorName.PPG1_A1; - } - }else { - if ((mDerivedSensors & DerivedSensorsBitMask.PPG_12_13)>0){ + } else { sensorName = SensorPPG.ObjectClusterSensorName.PPG_A13; - } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG1_12_13)>0){ + } + } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG1_12_13)>0){ + if(isShimmerGen3R()) { + sensorName = SensorPPG.ObjectClusterSensorName.PPG1_A1; + } else { sensorName = SensorPPG.ObjectClusterSensorName.PPG1_A13; } } @@ -1585,9 +1589,12 @@ else if (isShimmerGen3()) { if (isSupportedDerivedSensors()){ //change name based on derived sensor value if ((mDerivedSensors & DerivedSensorsBitMask.PPG2_1_14)>0){ - sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A14; - } else if ((mDerivedSensors & DerivedSensorsBitMask.PPG2_17_16)>0){ - sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A2; + if(isShimmerGen3R()) { + sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A2; + } + else { + sensorName = SensorPPG.ObjectClusterSensorName.PPG2_A14; + } } } sensorNames[iA14]=sensorName; diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorPPG.java b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorPPG.java index 4b83f64ef..4ccb77ff0 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorPPG.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorPPG.java @@ -108,7 +108,7 @@ public class DatabaseChannelHandles{ public static final String PPG2_A3 = "F5437a_PPG2_A3"; } -public static class DatabaseConfigHandle{ + public static class DatabaseConfigHandle{ public static final String PPG_ADC_SELECTION_BOARD = "PPG_ADC_Selection_Board"; public static final String PPG1_ADC_SELECTION_BOARD = "PPG1_ADC_Selection_Board"; public static final String PPG2_ADC_SELECTION_BOARD = "PPG2_ADC_Selection_Board";