Perhaps you could show us the code that combines the 2 bytes for each axis back into 1 reading ? Do the other axes work, in that they show both + and - values when appropriate ? Have you tried aiming the X axis both straight up and then down to see what 1G due to gravity reads out as ? How have you got the FIFO setup ?
I think it is more of an issue of orientation, and conditioning the signal. Assuming the X axis is pointing at the directions it will be moving, first you will have to find the center. This is achieved by holding the module completely still and taking a reading(preferably a sum of multiple readings). This is your center. So when the value comes in you would subtract the center from it, thus giving you a positive and negative value. Positive in one direction, and negative in the other. Make sure to make the variable signed, otherwise it is impossible for you to get a negative number.
when i have my device flat. it show me 0.04 -0.05 . if i just take it and put on table verticaly.
it show me 250 values . why its that ? i should be same …when i have it flat or verticaly isnt it ?
then it seems iam making acceleration but iam not it just stand but verticaly.
When you stand it vertically, it is sensing the 1G force of gravity. Depending on how you have it setup, the 250 counts might make sense. One possible LSB weighting is 0.004 Gs/LSB, so 250 LSBs would give you a 1G reading = gravity.
As for the device not sensing the left/right movements … if that was your original problem … you need to understand that any accelerometer only senses acceleration, a change in the speed. If you push your device and it get’s up to a constant speed, the accelerometer should only be different from ~0 reading while the speed is changing. In my example I’d expect some reading for a short time and then it’ll read ~0 again. Is that what you were seeing ?
but when iam pusing it to the right it starts give me values 0.5,0.8 …etc and during this phase suddendly it give me also some negative bunch of values so its
0.5
0.8
1.2
1.5
-0.6
-0.5
0.3
0.6
or this negative values are because accleration is slowing down. hmm… but then its too much sensitive, coz iam pushing it slowly just on one side.