He probado de la forma que sugieres y el resultado es el mismo.
Es un problema que con el firmware suministrado no pasa porque no se da la situación.
Intentaré explicarlo.
Trato de programar el robot de forma que no haya que mantener pulsada la tecla para que se mueva. Cada pulsación hace que empiece a moverse (girar, avanzar, retroceder) o que se pare.
A veces pasa (parece que cuando la pulsación es un poco más larga) que se repite la última orden en lugar de la que está asociada a la tecla pulsada. Esto se hace visible con una acción que tengo asociada a la tecla "C" que hace que el robot de un giro completo (intento probar una nueva función que gire el angulo que le pase como parámetro).
Pongo un ejemplo:
Robot parado -> Tecla "C" -> Robot gira una vuelta -> Tecla "avanzar" -> Robot avanza (esto sería lo normal)
Robot parado -> Tecla "C" con pulsación un poco más larga-> Robot gira una vuelta -> Tecla "avanzar" -> Robot gira una vuelta (aquí no debería dar vuelta)
Entiendo que la pulsación larga hace que la tecla se procese varias veces y se encola el código de tecla de manera que con la siguiente pulsación se termina de procesar el anterior código de tecla.
Lo que busco es algo que vacíe la cola de teclas para asegurar que no proceso códigos antiguos o una forma de evitar que se repitan los códigos con la misma pulsación. Sigo haciendo pruebas pero todavía no he conseguido solucionarlo.
Tampoco es un gran problema, basta con hacer pulsaciones cortas, pero parece que a los niños se les queda pegado el dedo a la tecla...
Un saludo.
Aitor.
He probado de la forma que sugieres y el resultado es el mismo.
Es un problema que con el firmware suministrado no pasa porque no se da la situación.
Intentaré explicarlo.
Trato de programar el robot de forma que no haya que mantener pulsada la tecla para que se mueva. Cada pulsación hace que empiece a moverse (girar, avanzar, retroceder) o que se pare.
A veces pasa (parece que cuando la pulsación es un poco más larga) que se repite la última orden en lugar de la que está asociada a la tecla pulsada. Esto se hace visible con una acción que tengo asociada a la tecla "C" que hace que el robot de un giro completo (intento probar una nueva función que gire el angulo que le pase como parámetro).
Pongo un ejemplo:
Robot parado -> Tecla "C" -> Robot gira una vuelta -> Tecla "avanzar" -> Robot avanza (esto sería lo normal)
Robot parado -> Tecla "C" con pulsación un poco más larga-> Robot gira una vuelta -> Tecla "avanzar" -> Robot gira una vuelta (aquí no debería dar vuelta)
Entiendo que la pulsación larga hace que la tecla se procese varias veces y se encola el código de tecla de manera que con la siguiente pulsación se termina de procesar el anterior código de tecla.
Lo que busco es algo que vacíe la cola de teclas para asegurar que no proceso códigos antiguos o una forma de evitar que se repitan los códigos con la misma pulsación. Sigo haciendo pruebas pero todavía no he conseguido solucionarlo.
Tampoco es un gran problema, basta con hacer pulsaciones cortas, pero parece que a los niños se les queda pegado el dedo a la tecla...
Un saludo.
Aitor.