Have a look at the attached.
I placed your raw values into Excel and then used excel to calculate the final value. The raw looks good to me.
I think this is the problem;
gyr_combined = bitor(gyr_low, gyr_high); gyr_combined = bitshift(gyr_combined, 8);
You need to shift at the same time you do the bitor.
gyr_combined = bitor(gyr_low, bitshift(gyr_high, 8));
Mark --OzzMaker.com --