Sensorlogger and sensor listener giving different accelerometer data. Am I missing a filtering/calibration step?

Hi guys,

I am currently trying to make a personal app that only collects accelerometer data (with the goal of getting 24 hr worth of data). I am using the Venu sq (non-music), and saw that the recommended method to collect accelerometer data (Sensorlogger) only allowed activities with a 5.5 hr limit. 

I tried utilizing the Fit Fields and SensorDataListener methods to record arrays of raw acceleration in replacement of SensorLogger, and I was able to get activities over 24 hours. 

I made a test app that had both the SensorLogger and SensorDataListener methods to compare data and make sure both methods are accurate, but I saw some perplexing data. When the watch is at rest, an example snippet of the activity fit file is shown below (the first line being data from SensorLogger and the second being of SensorDataListener):

Data,2,accelerometer_data,...,calibrated_accel_y,"-16.0|-16.0|-16.0|-32.0|-32.0|-32.0|-16.0|-16.0|-16.0|-16.0|-32.0|-32.0|-16.0|-32.0|-32.0|-16.0|-16.0|-32.0|-16.0|-16.0|-16.0|0.0|-32.0|-32.0|-16.0"

The following line (with the same timestamp) is:


Data,0,record,....,Y_accel,"4294967280|4294967280|4294967280|4294967264|4294967264|4294967264|4294967280|4294967280|4294967280|4294967280|4294967264|4294967264|4294967280|4294967264|4294967264|4294967280|4294967280|4294967264|4294967280|4294967280|4294967280|0|4294967264|4294967264|4294967280"

I notice a few issues with the SensorDataListener method. (1) rest acceleration shows an extremely large number. Once the watch is in motion it goes into the hundreds but is still larger than the SensorLogger data  & (2) There are never any negatives in the SensorDataListener method. 

I am assuming that the "calibrated_accel_y" title from the SensorLogger data means there are some filtering or calibration steps taking place that the SensorDataListener's raw data does not automatically do for users. Does anyone know what filter/methods must be used to get calibrated acceleration components from SensorDataListener? The API documents say the saw data from SensorDataListener is already in mili-g, so I hope I am just missing a processing step.

Perhaps I am misunderstanding something (or am unaware that my attempts are impossible/unrealistic). I will be happy to share my code if it is needed to further understand my issue.

Thank you so much in advance for any help.