else: roll = math.atan(accY/math.sqrt((accX**2)+(accZ**2))) * radToDeg pitch = math.atan2(-accX,accZ) * radToDeg gyroXRate = gyroX/131 gyroYRate = gyroY/131 if (RestrictPitch): if((roll < -90 and kalAngleX >90) or (roll > 90 and kalAngleX < -90)): kalmanX.setAngle(roll) complAngleX = roll kalAngleX = roll gyroXAngle = roll else: kalAngleX = kalmanX.getAngle(roll,gyroXRate,dt) if(abs(kalAngleX)>90): gyroYRate = -gyroYRate kalAngleY = kalmanY.getAngle(pitch,gyroYRate,dt) else: if((pitch < -90 and kalAngleY >90) or (pitch > 90 and kalAngleY < -90)): kalmanY.setAngle(pitch) complAngleY = pitch kalAngleY = pitch gyroYAngle = pitch else: kalAngleY = kalmanY.getAngle(pitch,gyroYRate,dt) if(abs(kalAngleY)>90):