I\'ve wrote a code to calculate smartphone orientation. You can see it on the following link(How can I fix few issues(drifting, incorrect movement, error after shaking devic