Hi!

I have the following script on a python controller at BGE

```
import serial #Comunicacion Serial
import bge #Funciones propias de blender
import bpy
import math
from bpy.props import *
from mathutils import Vector
ser = serial.Serial('COM5', baudrate = 9600, timeout = 1)
leitura = ser.readline()
leitura = leitura.decode("utf_8")
if leitura[0] == "&" :
leitura = leitura[1:] #Eliminamos el detector de errores
leitura = leitura[:-1] #Eliminamos el final de linea
angulo = math.radians(int(leitura))
cont = bge.logic.getCurrentController()
leme = cont.owner
rotation = leme.localOrientation.to_euler()
rotacao_atual = rotation.y * -1
if (rotacao_atual != angulo):
if (rotacao_atual > angulo):
leme.applyRotation([0,0.1, 0],1)
else:
leme.applyRotation([0,-0.1, 0],1)
else:
leme.applyRotation([0, 0, 0],True)
ser.close()
```

Its function is to read a value received from a serial connection, decode it and then convert its integer value to radians. I read the current rotation of my object and then logically so that the object rotates to the desired angle. In terms the code works, the problem is that apparently the object does not rotate from 0 to 360 degrees.

For example, if my angle is 180 degrees, and the current rotation is 0 degrees, applyRotation increases by 0.1 radius on the object but only up to 2.60 radians, after that value returns to 0 radians and decreases, then rises to 2.60 again. and it’s in an infinite loop, does anyone know why that