Note that there are some explanatory texts on larger screens.

plurals
  1. PODetect iPhone screen orientation
    primarykey
    data
    text
    <p>I'm wanting to detect the orientation of the iPhone at 45 degree increments. Ideally I'd like to be able to get the angle of orientation along any axis.</p> <p>The detection I need to do is similar to how Trism for the iPhone flashes an arrow towards the current bottom position of the screen when orientation changes.</p> <p>I have something coded up but really don't understand how the accelerometer readings work and could use a nudge in the right direction. My current code logs the current angle but even when the phone is flat I get readings varying wildly a few times a second.</p> <pre><code>- (void) checkOrientation:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration { int accelerationX = acceleration.x * kfilteringFactor + accelerationX * (1.0 - kfilteringFactor); int accelerationY = acceleration.y * kfilteringFactor + accelerationY * (1.0 - kfilteringFactor); float currentRawReading = (atan2(accelerationY, accelerationX)) * 180/M_PI; NSLog(@"Angle: %f",currentRawReading); } </code></pre> <p>Sample from log while phone is flat:</p> <pre><code>2009-06-16 17:29:07.987 [373:207] Angle: 0.162292 2009-06-16 17:29:07.994 [373:207] Angle: 179.838547 2009-06-16 17:29:08.014 [373:207] Angle: 179.836182 2009-06-16 17:29:08.032 [373:207] Angle: -90.000000 2009-06-16 17:29:08.046 [373:207] Angle: 179.890900 2009-06-16 17:29:08.059 [373:207] Angle: -90.000000 2009-06-16 17:29:08.074 [373:207] Angle: 179.917908 2009-06-16 17:29:08.088 [373:207] Angle: -179.950424 2009-06-16 17:29:08.106 [373:207] Angle: 90.000000 2009-06-16 17:29:08.119 [373:207] Angle: 90.000000 2009-06-16 17:29:08.134 [373:207] Angle: -179.720245 </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload