The "java.com.garmin.fit.plugins.ThreeDSensorAdjusmentPlugin" contains a method "adjustSensorData()" that subtracts "calParams.channelOffset
" from the previous result that subtracted "calParams.levelShift]I]" from "rawData". Is there a standard that specifies the channelOffset is to be subtracted as opposed to added to the result? I am asking because I have some raw acceleration data collected from a device that was stationary and the "calibratedValues" for the Z axis (aligned with gravity), based on subtracting the channelOffset, are about -1.1 g rather than the expected -1.0 g. If the channelOffset is added rather than subtracted the result is -1.0 g. I also have raw data from a magnetometer for which adding the channelOffset gives more credible results than subtracting it. If there is a standard that prescribes subtraction, then perhaps the offset values placed in the FIT file by the device are not following the standard and are of an incorrect sign.
This subject is discussed in detail in the attached Word document that concludes the method used by the FIT SDK is in error.
I recently received feedback from a Garmin developer that the device I am using is incorrectly inverting the signs of some of the offset_cal values that are stored in the FIT file and that the equations in the SDK are correct. The error in the camera will be corrected in a future firmware revision, which should resolve this problem.