From 17b542a89391bb29cc188a164db6dc309bcc5caf Mon Sep 17 00:00:00 2001 From: Harith Jamadi <114632577+harithjamadi@users.noreply.github.com> Date: Thu, 9 Jan 2025 14:37:31 +0800 Subject: [PATCH] remove static for shimmerverobject and some changes on sensor adc --- .../shimmerresearch/driver/ShimmerObject.java | 7 ++- .../sensors/AbstractSensor.java | 2 +- .../shimmerresearch/sensors/SensorADC.java | 55 +++++++++++-------- .../shimmerresearch/sensors/SensorGSR.java | 8 ++- 4 files changed, 46 insertions(+), 26 deletions(-) diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java index c0627718f..ff24e6b1f 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/driver/ShimmerObject.java @@ -2156,7 +2156,12 @@ else if (isEXGUsingDefaultThreeUnipolarConfiguration()){ } if(SensorGSR.sensorGsrRef.mListOfChannelsRef.contains(SensorGSR.channelGsrAdc.mObjectClusterName)){ objectCluster.addUncalDataToMap(SensorGSR.channelGsrAdc, gsrAdcValueUnCal); - objectCluster.addCalDataToMap(SensorGSR.channelGsrAdc, SensorADC.calibrateMspAdcChannelToMillivolts(gsrAdcValueUnCal)); + if(isShimmerGen3R()){ + objectCluster.addCalDataToMap(SensorGSR.channelGsrAdc, SensorADC.calibrateMspAdcChannelToMillivolts3r(gsrAdcValueUnCal)); + } + else { + objectCluster.addCalDataToMap(SensorGSR.channelGsrAdc, SensorADC.calibrateMspAdcChannelToMillivolts(gsrAdcValueUnCal)); + } } objectCluster.addDataToMap(mainGsrSignalName,CHANNEL_TYPE.UNCAL.toString(),CHANNEL_UNITS.NO_UNITS,gsrAdcValueUnCal); diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/AbstractSensor.java b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/AbstractSensor.java index 931630da3..dbf217bb6 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/AbstractSensor.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/AbstractSensor.java @@ -140,7 +140,7 @@ public static class DatabaseChannelHandlesCommon{ public SENSORS mSensorType = null; protected String mSensorName = ""; - protected static ShimmerVerObject mShimmerVerObject = new ShimmerVerObject(); + protected ShimmerVerObject mShimmerVerObject = new ShimmerVerObject(); protected static boolean mEnableCalibration = true; protected boolean mIsDebugOutput = false; diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorADC.java b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorADC.java index ad143af24..5b9e0eace 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorADC.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorADC.java @@ -631,46 +631,55 @@ public boolean processResponse(int responseCommand, Object parsedResponse, COMMU public static double calibrateMspAdcChannelToMillivolts(double unCalData){ return calibrateAdcChannelToMillivolts(unCalData, MICROCONTROLLER_ADC_PROPERTIES.SHIMMER2R3_3V0); } + + public static double calibrateMspAdcChannelToMillivolts3r(double unCalData){ + return calibrateAdcChannelToMillivolts3r(unCalData, MICROCONTROLLER_ADC_PROPERTIES.SHIMMER2R3_3V0); + } public static double calibrateAdcChannelToMillivolts(double unCalData, MICROCONTROLLER_ADC_PROPERTIES microcontrollerAdcProperties){ - double calData; - if(mShimmerVerObject.isShimmerGen3R()){ - calData = calibrateU14AdcValueToMillivolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); - } - else { - calData = calibrateU12AdcValueToMillivolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); - } + double calData = calibrateU12AdcValueToMillivolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); + return calData; + } + + public static double calibrateAdcChannelToMillivolts3r(double unCalData, MICROCONTROLLER_ADC_PROPERTIES microcontrollerAdcProperties){ + double calData = calibrateU14AdcValueToMillivolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); return calData; } - public double calibrateMspAdcChannelToVolts(double unCalData){ + public static double calibrateMspAdcChannelToVolts(double unCalData){ + return calibrateAdcChannelToVolts(unCalData, MICROCONTROLLER_ADC_PROPERTIES.SHIMMER2R3_3V0); + } + + public static double calibrateMspAdcChannelToVolts3r(double unCalData){ return calibrateAdcChannelToVolts(unCalData, MICROCONTROLLER_ADC_PROPERTIES.SHIMMER2R3_3V0); } public static double calibrateAdcChannelToVolts(double unCalData, MICROCONTROLLER_ADC_PROPERTIES microcontrollerAdcProperties){ - double calData; - if(mShimmerVerObject.isShimmerGen3R()){ - calData = calibrateU14AdcValueToVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); - } - else { - calData = calibrateU12AdcValueToVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); - } + double calData = calibrateU12AdcValueToVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); + + return calData; + } + + public static double calibrateAdcChannelToVolts3r(double unCalData, MICROCONTROLLER_ADC_PROPERTIES microcontrollerAdcProperties){ + double calData = calibrateU14AdcValueToVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); return calData; } public static int uncalibrateMspAdcChannelFromVolts(double unCalData){ return uncalibrateAdcChannelFromVolts(unCalData, MICROCONTROLLER_ADC_PROPERTIES.SHIMMER2R3_3V0); } + + public static int uncalibrateMspAdcChannelFromVolts3r(double unCalData){ + return uncalibrateAdcChannelFromVolts3r(unCalData, MICROCONTROLLER_ADC_PROPERTIES.SHIMMER2R3_3V0); + } public static int uncalibrateAdcChannelFromVolts(double unCalData, MICROCONTROLLER_ADC_PROPERTIES microcontrollerAdcProperties){ - int calData; - if(mShimmerVerObject.isShimmerGen3R()){ - calData = uncalibrateU14AdcValueFromVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); - } - else { - calData = uncalibrateU12AdcValueFromVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); - } - + int calData = uncalibrateU12AdcValueFromVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); + return calData; + } + + public static int uncalibrateAdcChannelFromVolts3r(double unCalData, MICROCONTROLLER_ADC_PROPERTIES microcontrollerAdcProperties){ + int calData = uncalibrateU12AdcValueFromVolts(unCalData, microcontrollerAdcProperties.offset, microcontrollerAdcProperties.vRefP, microcontrollerAdcProperties.gain); return calData; } diff --git a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorGSR.java b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorGSR.java index 6f101b279..c1c72c56c 100644 --- a/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorGSR.java +++ b/ShimmerDriver/src/main/java/com/shimmerresearch/sensors/SensorGSR.java @@ -340,7 +340,13 @@ public ObjectCluster processDataCustom(SensorDetails sensorDetails, byte[] senso } if(sensorDetails.mListOfChannels.contains(channelGsrAdc)){ objectCluster.addUncalData(channelGsrAdc, gsrAdcValueUnCal); - objectCluster.addCalData(channelGsrAdc, SensorADC.calibrateAdcChannelToMillivolts(gsrAdcValueUnCal, microcontrollerAdcProperties)); + if (mShimmerVerObject.isShimmerGen3R()) { + objectCluster.addCalData(channelGsrAdc, SensorADC.calibrateAdcChannelToMillivolts3r(gsrAdcValueUnCal, microcontrollerAdcProperties)); + } + else { + objectCluster.addCalData(channelGsrAdc, SensorADC.calibrateAdcChannelToMillivolts(gsrAdcValueUnCal, microcontrollerAdcProperties)); + } + objectCluster.incrementIndexKeeper(); }