I wrapped the example code from Kris Winer and Jim Lindblom@Sparkfun into an experimental library. With this library you can use the accelerometer without the need to bother with bitmasks and bit shifting.
Please let me know what you think. C++ purists are probably going to dislike my "abuse" of C++ unions, but I think this is a relatively user- and RAM-friendly way to talk to a device.
GitHub - Flummy/FluMMA865x: Flummy's Arduino Library for the MMA865x accelerometers - For installation in sketchbook/libraries/, includes an example sketch
http://koffein.org/E/FluMMA865x/
The 8-bit registers of the device can be accessed by their 8-bit byte value .v:
intSourceReg.v = comms.readByte(FluMMA865xR::INT_SOURCE);
or you can directly access the flags in a register by using the flag structure .f:
if(intSourceReg.f.SRC_FF_MT) Serial << F("Free fall or motion event detected\n");