@@ -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