Skip to content

Commit 2c2b211

Browse files
authored
Merge pull request #218 from ShimmerEngineering/DEV-277
DEV-277 Shimmer3R - LIS2MDL and ADXL371 (not all 3R HW Supports it)
2 parents 6bd800a + 1c01bde commit 2c2b211

1 file changed

Lines changed: 65 additions & 4 deletions

File tree

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

Lines changed: 65 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5466,14 +5466,18 @@ else if(isSupportedNewImuSensors()){
54665466
mSensorLSM6DSV = new SensorLSM6DSV(this);
54675467
addSensorClass(mSensorLSM6DSV);
54685468

5469-
mSensorADXL371 = new SensorADXL371(this);
5470-
addSensorClass(mSensorADXL371);
5469+
if(isShimmer3RwithHighGAccelSupport()){
5470+
mSensorADXL371 = new SensorADXL371(this);
5471+
addSensorClass(mSensorADXL371);
5472+
}
54715473

54725474
mSensorLIS2DW12 = new SensorLIS2DW12(this);
54735475
addSensorClass(mSensorLIS2DW12);
54745476

5475-
mSensorLIS3MDL = new SensorLIS3MDL(this);
5476-
addSensorClass(mSensorLIS3MDL);
5477+
if(isShimmer3RwithAltMagSupport()){
5478+
mSensorLIS3MDL = new SensorLIS3MDL(this);
5479+
addSensorClass(mSensorLIS3MDL);
5480+
}
54775481

54785482
mSensorLIS2MDL = new SensorLIS2MDL(this);
54795483
addSensorClass(mSensorLIS2MDL);
@@ -10732,6 +10736,63 @@ public static boolean isSupportedBmp280(ShimmerVerObject svo, ExpansionBoardDeta
1073210736
public boolean isSupportedNewImuSensors() {
1073310737
return isSupportedNewImuSensors(getShimmerVerObject(), getExpansionBoardDetails());
1073410738
}
10739+
10740+
public boolean isShimmer3RwithHighGAccelSupport() {
10741+
return isShimmer3RwithHighGAccelSupport(getShimmerVerObject(), getExpansionBoardDetails());
10742+
}
10743+
10744+
public static boolean isShimmer3RwithHighGAccelSupport(ShimmerVerObject svo, ExpansionBoardDetails ebd) {
10745+
10746+
if(svo==null || ebd==null){
10747+
return false;
10748+
}
10749+
10750+
int expBrdId = ebd.getExpansionBoardId();
10751+
int expBrdRev = ebd.getExpansionBoardRev();
10752+
int expBrdRevSpecial = ebd.getExpansionBoardRevSpecial();
10753+
10754+
if((svo.getHardwareVersion()==HW_ID.SHIMMER_3R) && (
10755+
(expBrdId == HW_ID_SR_CODES.SHIMMER3)
10756+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_PROTO3_DELUXE && expBrdRev == 4 && expBrdRevSpecial == 0)
10757+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_BR_AMP_UNIFIED && expBrdRev == 4 && expBrdRevSpecial == 0)
10758+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_GSR_UNIFIED && expBrdRev == 6 && expBrdRevSpecial == 0)
10759+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_GSR_UNIFIED && expBrdRev == 7 && expBrdRevSpecial == 0)
10760+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_GSR_UNIFIED && expBrdRev == 8 && expBrdRevSpecial == 0)
10761+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_EXG_UNIFIED && expBrdRev == 7 && expBrdRevSpecial == 0)
10762+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_EXG_UNIFIED && expBrdRev == 8 && expBrdRevSpecial == 0))){
10763+
return true;
10764+
}
10765+
else {
10766+
return false;
10767+
}
10768+
}
10769+
public boolean isShimmer3RwithAltMagSupport() {
10770+
return isShimmer3RwithAltMagSupport(getShimmerVerObject(), getExpansionBoardDetails());
10771+
}
10772+
10773+
public static boolean isShimmer3RwithAltMagSupport(ShimmerVerObject svo, ExpansionBoardDetails ebd) {
10774+
if(svo==null || ebd==null){
10775+
return false;
10776+
}
10777+
int expBrdId = ebd.getExpansionBoardId();
10778+
int expBrdRev = ebd.getExpansionBoardRev();
10779+
int expBrdRevSpecial = ebd.getExpansionBoardRevSpecial();
10780+
10781+
if((svo.getHardwareVersion()==HW_ID.SHIMMER_3R) && (
10782+
(expBrdId == HW_ID_SR_CODES.SHIMMER3 && expBrdRev == 11 && expBrdRevSpecial == 0)
10783+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_PROTO3_DELUXE && expBrdRev == 4 && expBrdRevSpecial == 0)
10784+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_BR_AMP_UNIFIED && expBrdRev == 4 && expBrdRevSpecial == 0)
10785+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_GSR_UNIFIED && expBrdRev == 6 && expBrdRevSpecial == 0)
10786+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_GSR_UNIFIED && expBrdRev == 7 && expBrdRevSpecial == 0)
10787+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_GSR_UNIFIED && expBrdRev == 8 && expBrdRevSpecial == 0)
10788+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_EXG_UNIFIED && expBrdRev == 7 && expBrdRevSpecial == 0)
10789+
|| (expBrdId==HW_ID_SR_CODES.EXP_BRD_EXG_UNIFIED && expBrdRev == 8 && expBrdRevSpecial == 0))){
10790+
return true;
10791+
}
10792+
else {
10793+
return false;
10794+
}
10795+
}
1073510796

1073610797
public static boolean isSupportedNewImuSensors(ShimmerVerObject svo, ExpansionBoardDetails ebd) {
1073710798
if(svo==null || ebd==null){

0 commit comments

Comments
 (0)